ESP8266 is low on available GPIO, and since the project needs 11 x 4 = 44 signals, really the only way was to use some sort of a port expander or SPI driver.
Microchip's HV5812 is a nice IC, SPI input, 20 parallel outputs:
When LOW, HVOUT goes to GND, Nixie sees more than 130 V and turns on. When HIGH, HVOUT goes to ~VPP (in our case 80V). Nixie now has 130 V - 70 V = 60 V on it, which is not sufficient to turn it on.
Now we just connect
HV5812 to ESP8266 SPI and all is fine and dandy! But…oh…not so fast:
Fortunately, there is a component which operates on 3.3V SPI and can output 5V SPI: the jellybean 74HC595!
So, we buy two HV5812 (40 digits) and one HC595 (4 dots), and we get level shifting for free!
Only thing is, HC595 needs external high voltage transistors, such as MMBTA42.
An obvious question pops up: why didn't I use 6 x 74HC595? Why do I need HV5812 ICs when HC595s are available everywhere?
Let's look how much these parts cost:
Price @1 qty | Price @ 100 qty | Price @ 1000 qty | |
HV5812 | 2.32 | 1.75 | 1.75 |
74HC595D,118 | 0.43 | 0.2 | 0.10526 |
MMBTA42 | 0.17 | 0.085 | 0.0357 |
[units: $, source: Digi-Key]
HV5812 is 5 times more expensive than HC595, and the situation only gets worse at higher quantities. Also, for some reason, Microchip price breaks end at 100 pcs. Maybe they don't like selling high quantities through Digi-Key?
Another funky thing about economies of scale: 1000 pcs of HC595 cost the same as 526 pcs! Go figure.
Let's now compare total cost for two driver solutions (pick and place costs excluded):
- 2 x HV5812 + 1 x HC595 + 4 x MMBTA42
- 6 x HC595 + 44 x MMBTA42
Price @1 qty | Price @ 100 qty | Price @ 1000 qty | |
Solution 1 | 5.75 | 4.04 | 3.75 |
Solution 2 | 10.1 | 4.94 | 2.2 |
[units: $, source: Digi-Key]
Bulk of the cost for Solution 2 is in the transistors, which make up around 75% of the cost for all price breaks.
Solution 1 is the overall winner for lower volume categories. So, HV5812 it is!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
re: HV5812
Supply Voltage VDD (min) : 4.5V
VIH(Min) =3.5V for VDD =5V. That means it is 70% of VDD. By dropping VDD to 4.5V, VIH(Min) becomes 3.15V and can be driven from 3.3V CMOS output.
Are you sure? yes | no
Yeah it might work (not the ideal solution though, looks a bit tight). In my current design, that basically means to lower Vusb with a series diode.
I'll do an experiment, in case someone wants to use HV5812 that way.
Are you sure? yes | no
VUSB is not regulated and can has a large range.
http://www.beyondlogic.org/usbnutshell/usb2.shtml
>Low power bus powered functions must also be designed to work down to a VBUSvoltage of 4.40V and up to a maximum voltage of 5.25V measured at the upsteam plug of the device.
Are you sure? yes | no
you can combine the '595 with and SN75468D and you get 7 transistors in soic package, this is what i did with my nixie clock (SN75468D and ULN2003 have actually the same footprint but the maximum voltage on the ULN2003 is 50V comparted to 100V for the SN75468D)
Are you sure? yes | no
Thanks for the tip, I haven't come across that IC before. I ran some calculations, and that solution (6 x HC595 and 7 x SN75468) would be more expensive in terms of BOM cost:
9.94$ @ 1 pc
6.20 @ 100 pcs
3.91 @ 1000 pcs
However the cost of PCB assembly might be lower, due to lower component count.
Are you sure? yes | no
I have bought SN75468 in March for 0.35$ @ 1pc but for some reason 6 months later price jumped to 0.97$ @ 1pc, maybe prices will go down :D
Are you sure? yes | no
The chip should be HCT595 for TTL threshold. HC family has same CMOS threshold at 70% Vcc. You would also need HCT buffers to translate the rest of the 3.3V CMOS levels for SCK and strobe signals.
Are you sure? yes | no