After a little over a year of selling boards, and a busy life with a new job, I finally had some time to do a few things I have been meaning to do for some time. I have always wrestled with what I released – the hardware seems pretty solid, but I never liked the code all that much, and the LCD display was actually added in version 1.1 – the original version only was for creating a computer interface for the TS-520. So, when I added the display I used what I had on hand – a 2×20 line LCD. It works, but lacks character. Actually, it displays characters just fine…
This past weekend I had some time to do several things – clean up the code so it’s more readable/serviceable, fork the code to a version with a MAX 7219 based LED display instead of the LCD display – more true to the original DG-5. I also added some averaging/smoothing code to help with display jitter (switching between 2 least significant digits), added correction factor if needed – more on that below, changed the gate timing so hopefully it is more accurate for most folks (again, see below).
But the real reason I got in there and cleaned things up is I am planing on interfacing some IN-12B type Nixie tubes. The original DG-5 was LED based, sure, but it at the time that LED’s were just supplanting Nixie tubes, so a Nixie display would be “right”, and totally cool and retro (just like the TS-520)! However, just about EVERYTHING out there running Nixie’s today is a clock, there is little beyond time keeping in the Nixie world today. I ordered 2 Nixie clocks to see what I can do to convert/adapt the hardware and software to a frequency display.
I have one of the clocks up and running, an it’s gorgeous. It’s from John Taylor’s shop Tayloredge in San Diego, he has IN-12B nixies on a I2C PCB – perfect for interfacing to a micro-controller! I have another, Arduino based Nixie clock on order and I’ll see about what way I want to go with this. If others are interested in a Nixie based DG-5, let me know.
Couple of observations after spending the weekend hacking. I built a DG-5 board to do testing on, and for initial tests I used a Arduino UNO clone at first, and wow, a ceramic resonator as a clock is TERRIBLE for a frequency counter project! Which is why I tell folks to get an Arduino Duemilanove – they use a real crystal. I observed a 3k dial error, and 1.8k of drift as it warmed up! The Duemilanove uses a +/-100 ppm crystal (as far as I can tell), which is still not all that great, but it works satisfactorily in this application. +/- 10ppm crystals that will fit on the Duemilanove are only $0.49 from Mouser – I might grab some next order and see about upgrading a Duemilanove – that should be way more than enough accuracy/stability for this application.
Anyway, I’ll post the code in a day or two – I managed to use the existing LCD headers to connect the LED display, pictures to come.
Edit – Video of the new code in action on the Max based LED display:
Edit – here are the new Arduino INO files. The new code has the improvements listed above, even on the LCD version that many folks have. Please load it on to your DG5 emulator and let me know what you think. Hoping to get the Nixie version done sometime soon!