Quick update. Here is the finished thing:
It lasts for about 10 hours continuous display on a 1200mAh battery.
In the end I opted for having the battery on the back of the chain so it sits on the back of the wearer's neck. This keeps the pendant itself shorter. Wires are threaded through the chain - I used small gauge speaker wire - one strand is gold, the other silver so I can tell which is positive and which negative.
I programmed the pendant itself to respond to taps and double taps. Single taps turn it in for short periods of time - strong movements have the same effect. Double taps turn it on permanently or off.
For a long time I couldn't figure out how to attach the pendant to the chain. In the end I used transparent heat-shrink tubing to completely enclose the electronics and HV and then made a coil of brass wire that the tube could be slipped into and the chain attached. Here is a photo before the pendant was slipped into the brass coil:
I decided that I would add a motion sensor to the pendant. I bought some SW-18010P high-sensitivity vibration sensors, which are mechanical devices, and I added one to the device and created code that would turn the display off a certain time after the last movement was detected. That is when I discovered that disabling the HV wasn't working. By this time, I had soldered everything together into its final configuration, so my debugging options were limited. I uploaded the code to a DIP ATTINY84A I had and checked that the appropriate pin was being set correctly using an LED. It was, so the problem lay with the hardware. When I checked some continuity between the HV enable pin and a few other points on the board and discovered that the resistance between the pin and ground was only 100 Ohms - in other words it was being stongly pulled to ground and the ATTINY couldn't raise it to VCC. I have no idea why it is pulled to ground, and I can't fix it anyway, so I changed the code to just blank the display. This is not as ideal as actually switching the HV off altogether, but it will conserve energy.
I also discovered that the vibration switch is not that sensitive and it needs quite a tap to trigger it. Gradual movements don't close the switch. However, this gave me the idea of adding controls using a sequence of taps to move between modes, like turning it on, turning it off, turning it on permanently, turning it on with a delay etc. However, I'm not altogether sure I want the vibration switch on there anyway - it is quite large (it is the black cylinder in the photograph below).
If I was starting again, I would add an accelerometer to the main board, but that would mean I would also have to go to four layers, which I would definitely do.
Anyhow - here is the latest picture - it is still tethered to the programmer with a ribbon cable. The green and red wires connect it to the battery:
Here's some photos of the project so far. This first one shows the tube temporarily soldered to the driver board with the power supply. The ribbon cable is for programming the on-board ATTiny. In the final version, the tube will be soldered almost flush.
This is the bottom of the control board showing the ATTiny.
This is the top of the power supply, with a penny for size comparison. This board generates the 150V from the LiPo battery.
Here is a video of it in action. I'm open to ideas of what it should do, given that there are no sensor inputs (although there could be using the pins exposed for programming it).
Did you think this project was dead? Well it took a hiatus because I tried multiple variations of my power supply using the Wurth 74488540250 transformer, but I couldn't get it to work without overheating. In the end, someone suggested the transformer was saturating and that I look at a range of transformers by Coilcraft. In particular the LPR6235-123. Now that is a 1:50 transformer with an Isat of 0.9A. This was too close to the one I was using which had an Isat of 0.7, plus I was pretty sure that the high secondary ratio of the Wurth of 1:20 was also causing problems with ringing. However Coilcraft also had a 1:10 transformer with an Isat of 1.3A in the same family, and the footprint was compatible with the Wurth. I got a couple of samples and it works! It is the LPR6235-253LMRB. So this project is back on track. Now I need to figure out an enclosure.
I got the display board before I got the HV board, so I populated it and programmed it through the header I left for that purpose, and it works great.
The HV board was delayed because I kept messing up the order for the components, but I finally got it built last night. Unfortunately the performance is not what it should be - the transformer gets very hot, unlike the larger dev board (with the same components) I've been using so far. Ringing is very bad on it, and although I can snub it, that doesn't fix the over heating issue.
So, I've changed the layout to be much more like the dev board: I've been very careful about having no conductive elements unde the transformer, all of the active components are now on the same side of the board and are connected with copper pours rather than just tracks, there are no loops in the ground pour.
I've expedited an order from OSHPark - this board is so small, it is still ridiculously cheap, and fingers crossed that this will fix the issue with the transformer temperature.
The housing was always going to be some kind of tube. The question was, what material and how big? The limiting factory here is the battery holder. I bough the most compact holder I could for a C123 battery and then measured it when the battery was in. It turns out to be just slightly bigger than the inside diameter of 3/4" copper pipe, but that is because it has a fkat bottom designed to be fit flush on a PCB. I figured I could file the corners off.
So I bought a length of 3/4" copper pipe and filed the corners off and yes, it fits. I cut a piece to roughly the right length, inserted the battery + holder and got a quick lesson in the dangers of doing this, and just how low the internal resistance of a LiPo battery is. The are a couple of pins coming off the bottom of the battery holder, and the copper tube neatly shorted them out. Lot's of glowing, very warm tube and a slightly warm LiPo battery.
Anyway, I snipped the pins short so they don't contact the tube now:
Next up is figuring out how to secure the PCBs in there in such a way that I can remove them if I want to.
Interestingly, shorting out the HV is less of a problem, not just because the PCB design keeps the HV away from the edges, but also because the circuit will shut down if it detects a short.
I've finished designing the HV and display boards. Both are 18mm in diameter and stack one on top of the other, and both are double-sided. When they are connected together, there will be a gap of 5mm between the boards.
I've incorporated reverse-polarity protection for Vin on the HV board - so it won't go up in flames if the battery is inserted the wrong way. The driver chip for the HV includes short-circuit protection too, a nice safety feature for something intended to be worn, but it has also saved the power supply on more than one occasion - it is very easy to short things together when prototyping this stuff.
The display board is unusual - the holes for the nixie tube leads are arranged in a rectangle rather than a circle. This is necessary to fit everything in to the extremely small form factor.
Here are the OSHPark Renders:
So, next up is figuring out a case for the battery and the boards.
I discovered you can get C123 sized lithium-ion batteries, so at 3.7V they are enough to drive a K155ID1 and puts the voltage safely over the 3V minimum for my HV power supply. They only have 700mAh compared with 1500mAh of the non-rechargeable C123 batteries, plus I measured the current for the complete circuit - it is around 130mA. So this should last around 5h 20m, which is good enough I think. Hopefully I can get the current draw down some - it all depends on the draw of the SOIC K155ID1 I will be using - still waiting for an adapter from OSHPark to try this out.
I have the PCB for the HV designed, and I know what I am going to be doing for the display board - I need to see if I can fit it on to a double-sided 18mm diameter PCB. I have to pull out a programming header for the ATTiny84 as I'll be using the 4mm QFN version, so I can't jusy use a ZIF socket for that.
The limiting factor on the housing will be the battery holder - the battery itself is 16mm diameter and I am waiting for a couple of different holders to arrive from DigiKey.
It has become pretty clear that I need at least a C123 battery to be able to deliver enough current. So I programmed up the ATTiny84 and set my breadboard power supply for 3V. I wired it all up and, bingo, it worked!
Then I tried it with the battery and it didn't work so well - the nixie didn't count properly, sometimes it display several digits at once.
Checking the voltage, the battery was being pulled down to 2.8V. Frankly I am amazed that the HV power supply worked at that voltage, however it was fine. The problem turned out to be the K155ID1. I swapped it for an old 7441 I had lying around, and everything worked just fine. Both of these are TTL devices, so 3V is pushing it. I also tried some other K155ID1 I had lying around, in case it was individual variation, but they don't work either.
I will try it with the actual 14 pin SOIC copy that I got from ebay and say how it handles the low voltage. Otherwise I will either have to use a 14 pin DIP 7441 or find a suitable lithium ion battery to use instead - but they tend to be quite large (relatively).
I'll leave you with a piccy:
In reality, the tube is counting.
In order to extend the life of the battery, I will be driving the nixie tube at a very low voltage: 155V. This is about 10V above the maintenance voltage and a lot lower than the recommended strike voltage, but it works fine. Not only does this drop the power requirement (volts x amps!), but it also reduces the size of the anode resistor I need, and the voltage drop across it, so less of the power goes to heating up the resistor.
That said, I hit my first stumbling block. I used 2xCR1632 and the voltage rapidly dropped from 6V to less than 3V. I switched to 2xCR2032 and it was much better, but hardly encouraging. Voltage was down to around 4V after about 5 min. The power supply pulls around 50mA from the cells, which is a little bit more than the 0.2mA constant discharge current they are rated for.
Still. Here is an image of it basically working.
An alternative is to use something much beefier like a CR17345. I could draw 1500mA continuously from this, and even though it is 3V - and therefore at the limit of what my power supply will work with - it works very well. It is also rated at 1500mAh. At 3V my power supply draws 73mA, so I could get about 20 hours run time out of it. Let's say the circuitry halves that. So 10 hours. That's not bad for a piece of Jewelry.
Still, I would prefer a smaller battery, so I will keep looking.