Designing Nixie Clock with ZM1082T drived by HV528 and using ESP8266 as MCU

116 views
Skip to first unread message

Samuel Scipa

unread,
Nov 3, 2022, 5:45:03 PM11/3/22
to neonixie-l
Hi, as my final Masters Degree thesis in Microelectronics I decided to create portable/small form-factor nixie tube clock using ZM1082T. Whole project is circled around modern connectivity, so I am using USB type-c for programing and powering plus Wi-Fi connectivity and all that. So simply put, I designed my own PCB, which is thing I do and it's fine, but besides some pinout and footprint miss-steps, everything about that is fine, all my features (temp, buzzer, RGB Neopixel backlight, Wi-Fi, USB-C powering and programing, protections, RTC) are working flawlessly. My problem is, I am not a programmer, and all the features mentioned above were tested using example libraries and that's fine for having something from which I can kick-off and create final whole code, but with HV528 it's different story. 
In this whole Group there is not much about using push-pull configuration HV chips from microchip (which, believe me, if I could, I wouldn't have chosen this chip, but chip shortage, availability, money, my country shipping, etc..... that's why and this is what I got). With poor datasheet details from microchip, POL and BP pins are for me quite a mystery and when creating schematic and PCB I left BP open and POL with LE, CLK, DIN were connected to ESP (on SPI pins, POL and LE to GPIO). which should be fine based on my reasearch, but for the love of god, I can't seem to figure out to test it, and control it. Only thing I could manage was that all cathodes were glowing :D. But basically I am too lazy and time limited to create some code "now" to test it. I was hoping for some libraries and examples or some simple shift registers examples, which could be transferred to this, but no luck. 

So if anyone, is interested in this "problem" and shows some interest, I am willing to show more, fotos, schematics, but for now, I don't want to post anything (our school algorithms would thing I copied from here and I would be flagged for plagiarism, stupid, I know, but no point in risking it...). So thanks everyone for any comment.
Looking forward to interesting conversations.

PS: probably to catch your interest, here are some unrendered 3D models from Altium.
TOP.png
BOT.png

Richard Scales

unread,
Nov 4, 2022, 1:09:47 AM11/4/22
to neonixie-l
For the general driving of shift registers - take a look at the Arduino ShiftOut function (https://www.arduino.cc/reference/en/language/functions/advanced-io/shiftout/)  - this shifts out 8 bits at a time - you can modify the code in the ShiftOut function to work with 16,32,64 bits etc. You just need the three pins that you have already identified.
A step up from that is to use SPI transfer - which works like shiftout but instead - the processor handles the transfer.
Please check the suitability of this device for nixes - the spec seems to suggest that it will sink or drive 1mA and I believe that the ZM1080 has a 2mA cathode current.
I usually use HV5522 or HV5622 which handle the current and are easy to drive via ShiftOut or SPI.transfer commands. They also support a blanking signal which can be used to vary tube brightness.
 - RIchard

Paul Andrews

unread,
Nov 4, 2022, 9:34:42 AM11/4/22
to neonixie-l
You didn't say how you had the other pins connected. So:
  • VPP should be around 60V. A cathode will be off when its voltage is pushed to VPP.
  • GND, VBIAS and HVGND should all be at 0V. A cathode will be on when its voltage is pulled to this.
  • All the chips, apart from the first one, should have DOUT connected to DIN of the next chip.
  • Use the SPI library to shift data in to the chips, then pull LE low, then push it high.
  • With POL high, a 1 in the data will be a high on the corresponding HV output, which would turn the cathode off. Reverse if POL is low.
  • There are four possible combinations of the setup arguments to SPI - they affect the relative timing and polarity of the toggles to CLK and DIN. You will also need to set the speed at which the data is shifted out if memory serves me right.
Write some code that shifts a specific pattern of data to the tubes - you will want to only turn on one cathode on each tube, so if POL is low, you will want to set one bit for each tube. If you don't see what you expect, mess around with the SPI parameters, POL and the bits you set until you get what you are expecting.

Paul Andrews

unread,
Nov 4, 2022, 9:36:46 AM11/4/22
to neonixie-l
Basically - schematic would be useful

Samuel Scipa

unread,
Nov 5, 2022, 2:57:28 PM11/5/22
to neoni...@googlegroups.com
Thank you all for the input. Here is the schematic. Just a quick note, testing was done on revA PCB with changes/corrections/mods based on revB schematic, just so you know.

--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/neonixie-l/91a90528-952f-47c7-bc08-11e087080222n%40googlegroups.com.
Nixie_Tube_Clock_RevB.pdf
Nixie_Tube_Clock_RevA.pdf
Reply all
Reply to author
Forward
0 new messages