Meet the B-7971 Nixie Shoutbox. You may be wondering what exactly a "shout box" is. The term has fallen out of favor these days, but when I built the Shoutbox in 2007, it was well known. Just about every Wordpress blog on the Internet at the time had some sort of Shoutbox - sometimes called Tagbox - widget installed. The widgets allowed visitors to post short text messages - "shout outs" or "tags" - on the sidebar of the blog page, often anonymously without having to register. Shoutboxes on blogs are pretty much extinct today. I don't know exactly what brought about their demise but I suspect that their open and anonymous nature led to more abuse issues than blog owners cared to deal with.
The idea for the Nixie Shoutbox came from the convergence of several of my interests at the time. Do it yourself video streaming was becoming practical and I was involved in the development of some early home security video streaming software. I had been interested in Nixie tubes when I was a teenager and had even done a few little projects with the then-cheap B-7971 tubes. After that I'd pretty much forgotten about Nixies until years later when I happened to run across a site selling Chronotronix (now Nocrotec) Nixie clocks.
We're talking about this B-7971, not the other one, which is a Chinese workhorse Boeing, which shuttles between Chengdu, Urumqi and Tianjin. Back in the day (in 1977), those B-7971 tubes cost 50 cents (US) each as surplus.
The Shoutbox idea really came together when I stumbled across something called The People's Cam on a site called indigo.org. There was a streaming webcam pointed at a CRT monitor. On the monitor was the old Flying Text screen saver à la Windows 98. Visitors could type a short message and see it appear on the screen saver. I decided to try to make my own version of the People's Cam using alphanumeric Nixies. 16 tubes sounded like a good size to shoot for, and also - since at the time I intended to control it with a PLC - 16 nicely matched the number of outputs per PLC output module. 8 tubes probably would have been adequate but I felt like why not go big "because I can".
In the mid-2000s I started gradually acquiring B-7971s as they turned up for sale online. Of course the price of the tubes had gone up drastically since the good old days. I accumulated my tubes from various sources at prices ranging from $35 to $65 per tube. Most of my tubes were bought from EBay sellers in the USA and Western Europe. The Russians never cloned this tube so they weren't available from the "usual suspects".
I built the Shoutbox over the course of several months, working on it part time. I had the circuit boards fabricated from my design files, and I had the glass top of the case manufactured by people who know how to work with glass, but aside from that I made everything myself. I programmed the original controller, which was an Allen-Bradly PLC-5. Running a Nixie Shoutbox is a rather unconventional application for a PLC, but it was a case of going with what I knew best at the time. Several years later I replaced the PLC with an Atmel microcontroller programmed in C. A series of construction photos can be found at eeberfest.net/gallery.php
Once the Shoutbox was built and tested I registered a domain, made a web page for it, pointed a camera at it and in 2008 I opened it up to the public. The web page allowed visitors to view the webcam stream and post text on the Nixie tubes. The software handled message queueing which made it possible for multiple visitors to post at the same time and hold conversations. I had created, in effect, a Nixie chat room. I decided to allow people to post anonymously with no registration required and see what would happen.
There wasn't much site traffic at first but eventually the word got out. My site was being discussed on Something Awful, Reddit, even 4chan, and the denizens of those sites came in droves. Messages were scrolling across the tubes day and night, mostly people spouting memes or insulting one another - typical Internet stuff. At one point I added some controls on the page that let visitors turn certain lights in the room on and off, so of course I then had strobing lights in my living room as visitors battled each other over whether the lights should be off or on. Naturally numerous visitors tried to break it so I was kept busy modifying code in the usual arms race to plug loopholes faster than the users could discover them.
Inviting the Internet into my living room like that was fun for quite a while but eventually it became tiresome. The site had grown to include multiple camera streams and it seemed like every day some camera or cable or capture card would fail and need attention. The traffic would get so heavy at times that all my upstream bandwidth was being consumed by video stream and I could barely use my own Internet connection. Remember, this was 2008 and 1Mbit upstream was considered awesome on a home connection.
Finally after several years of running the Shoutbox site and basically having 4chan hanging out in my living room I got tired of it all and shut the site down. For this article I have brought the core feature of the site - the Shoutbox - back online for a limited time. Unforunately, that time is now past. I got sick of stumbling over wires draped through my living room, and while it is certainly nice to see old friends, the enjoyment is somewhat limited if that friend never sleeps, drops around at 3 in the morning to flick the lights on and off a few times, says a few profanities or non-sequiturs and then leaves without saying "thank you" or "excuse me".
To give you a little idea of how the Shoutbox was when it was still public, here is a short video of a screen capture of a couple of people playing around on it. For some reason I had the spotlights turned off that day. Probably they were just getting on my nerves a bit too much that day.
The electronics can be roughly divided into four sections: power, interface, control and tube drivers. The power section is split between the right and left metal-mesh "cages". In the right side cage are power transformers, a fuse and the connector for the mains cord. The smaller transformer steps the 120VAC mains down to 9VAC which is fed over to the left side cage where it is rectified, filtered and regulated to provide 5VDC for all the logic. The large transformer is a 1:1 isolation transformer: both its primary and secondary are 120VAC. While not strictly necessary this transformer isolates the 120VAC from earth ground, which greatly reduces the risk of spectacular smoke and sparks when probing around the circuitry with a grounded oscilloscope probe. It also decreases the odds of finger-poking onlookers getting a nasty shock, no matter how much they may deserve one.
The isolated 120VAC is fed over to the left side cage where it is rectified and then filtered by a couple of rather massive capacitors. This is how I obtain the high voltage needed to light the Nixie tubes. When 120V RMS is rectified and filtered the resulting voltage is 120 * √2 = 169VDC, which is perfect for Nixies. As long as the mains voltage is at least somewhat stable - and it is - this rather crudely derived high voltage is quite adequate for the application. Since someone is sure to wonder why I didn't use a boost converter instead, I will explain. With all 16 tubes lit the high voltage demand is 350mA. That's 60 watts of power. In 2007 I could not just go out and buy a 170V 60W boost converter and I'm not so sure I could even do that now in 2019. I did look into making my own boost circuit but quickly decided that SMPS design was well outside my skill set.
The rectifiers, 5V regulator and all filter capacitors are located in the left side cage on what I'll call the interface board. Also on the interface board are several connectors and some pull-up resistors. The Phoenix Euro-connectors along the rear edge of the board were originally for plugging in cables that ran to the original controller - a PLC with 2 16-bit output modules and an Ethernet "sidecar" module that sat on a shelf below the Shoutbox. The PLC output modules provided TTL open collector outputs, hence the need for the pull-up resistors.
The present controller, made in 2011, is based around a "naked" (non-Arduino) ATMega 328P microcontroller. Four 74HC595s function as an I/O expanders to give me the needed 32 outputs from 3 GPIO pins. More about that in a minute. A gadget called a Wiz110SR interfaces the ATMega's UART to Ethernet. It isn't a "real" network adapter but it's good enough for this application. It appears as a virtual serial port to PCs on the network. Aside from that there isn't much else on the controller board except a piezo beeper, a backup battery, a header to connect some buttons for setting the time, and Phoenix Euro-connectors along the rear edge of the board that mirror the connectors on the interface board. The controller board is designed to sit on top of the interface board. The boards are connected together with a sort of wiring harness as shown in the photo. It's not terribly elegant but it works!
The tube driver boards handle high voltage switching to all the tubes' cathodes with a whole lot of MPSA42 high voltage transistors. Additionally each tube board has 4 74373 8-bit latches configured as 2 16-bit latches. If I was doing it over today I'd probably use the more modern Supertex SIPO/latch/HV-driver combination chips instead of TTL latches and transistors, but in 2007 I did not know they existed. Encoding of characters into segment patterns is handled by the ATMega, not the tube driver boards. The tube boards are perhaps better called "buffer/driver boards", because they primarily latch and buffer data.
The ribbon cable that connects all 16 tube boards together and to the controller carries 15 Data lines that correspond to the 15 segments of the tubes, 16 Select lines that correspond to the 16 tubes, and one Go line that connects to the strobe pin of certain latches on each tube board. This sounds a bit like multiplexing but the display is NOT actually multiplexed - only the data is. This is why there are 2 sets of 16-bit latches on each board. One set of latches on every board, which I will call the "back" latches, listens to the 15 Data lines with its parallel data input pins. Each board's back latch's strobe pin is connected to one of the Select lines. A jumper on the board determines which Select line the board connects to: tube board 1 to Select line 1, tube board 2 to Select line 2, and so on. To update the display the controller will output the segment pattern for tube 1 and then fire Select line 1, which strobes the 15 bits of segment data for tube 1 into the board 1's back latch. Then it sets up the data for tube 2 and fires Select line 2, and continues the process all the way to tube 16.
At this point the back latches are filled with the new data but it isn't being displayed on the tubes yet. The tubes display the data that is stored in the second set of latches, which I'll call the "front" latches. This is where the Go line comes into play. Once the back latches are filled the controller will fire the Go line, which causes the data in all 16 tubes' back latches to be copied synchronously to the front latches and displayed. This way all tubes update simultaneously. Thus I get the signal count benefit of multiplexing (32 lines instead of an impossible 256 lines) without the flickering of multiplexing. For a device that was designed specifically to be on camera, multiplex flicker would have been totally unacceptable.
And that's basically it. To answer a few common questions: Yes, I do have a stash of spare B-78971s. No, I don't want to sell any, at least not at 2019 prices. No, I've never needed to tap into my stash. The Shoutbox has been running 24/7/365 for about 11-1/2 years now with no tube failures.
I came across this interesting video a while back, but didn't get around to writing anything about it at the time. It's from a chap called Mario Rigogliosi, who lives in the same town as I do, who has a real passion for restoring old equipment.
Have you ever asked yourself "what made Nixie clocks go before microcontrollers were invented"? If you did, I suppose you came to the conclusion that it was switches, levers, relays and stuff". Well, here's a look into that "stuff", and it's pretty interesting. What is written below is based on my best guesses, I'll reach out to Mario and get feedback from him.
First of all, the time source comes from the frequency of the mains supply voltage, which is a surprisingly good source of time: supply companies in all but the most dark and backward countries in the world actively manage the number of cycles delivered to the consumer very tightly, even regulated by law in some countries. For example, the supply in the UK can be seen here: http://www.dynamicdemand.co.uk/grid.htm, and on the dial you can see markers for the "Legal Limit" of deviation, over which the supplier is subject to sanctions.
I really struggled when I was writing this, and even after thinking about it some more, I'm still not convinced I got the right answer. Perhaps I'll never know, and will always have to live with that nagging feeling that things might have been different, if only I had made a different decision...
I was poking around on http://hackaday.com/ and found this: http://hackaday.com/2015/07/14/unusual-nixie-tubes-lead-to-unique-clock/. It's a clock. That's what the title says.
My issue was that it was hard to decide what category to put it into, and in the end, only a process of elimination gave me an answer. The title says that it's a tube clock. Those are clearly tubes in there, but is it a clock? It's not based around Numitrons or VFDs, so clearly it doesn't belong there. It wasn't found on eBay, and no one submitted it, so those categories don't fit, either. But I can't quite bring myself to put it in the "Nixie Tube Clock" category, because I'm not sure it's really a clock.
So, apparently, according to the Merriam Webster definition, it is a clock, because you can tell the time with it. Only I can't. I guess it is my lack of imagination, or just that I'm neither fluent in octal time nor do the symbols mean very much to me. (Meaning they do, individually, in different contexts, but not here).
Octal? Yes, well, the tubes only have 8 cathodes in them, so as well as not understanding the digits, it's not even a number system you can use. Even the guy who made it has a chart next to it to decode the time it tells you. For example, the decimal time"12:34:55" becomes "14:42:67" in octal, or in the language of this clock "FV:VHz:HA". Or something. In any case, you're going to be late for that meeting.
Maybe I need to have a new category "Nixie Tube Stuff, but not a clock".
I do understand the idea. If you have a box of tubes with symbols on them, and don't make equipment to measure Frequency, Resistance or Volts, what are you going to do with them? I have a box of IN-15s, and I have no idea what to do with them.
So, in the end, I put it into the "Non-Clocks" category. Perhaps I'm wrong.
Here's a full video of the madness:
Let me know what you think in the comments. Am I a small-minded bourgeois square with no imagination, or should we all have one of these?
I discovered this wonderful tiny VFD clock by chance, while browsing Tindie for novelties. As I’m a newcomer to this Nixie/VFD world, I was not aware that Brian Stuckey already did an article in 2014 on a previous incarnation of this clock (Akafugu Modular VFD Clock).
I contacted Per Johan Groland, owner of the Japanese maker Akafugu that makes these clocks, for all the shields I could get my hands on - The only shield I did not order was the 4 tube IN-4/17 shield, which Brian already tested and which I find does not do this clock justice.
The VFD Modular clock arrived as a kit. Shipping from Japan to Switzerland took less than two weeks. All the parts are well packed, each in its own bag. The PCBs have a glossy black solder mask with golden ENIG finish.
A USB cable is also included. The main PCB is protected in its own bag. You can order the tubes from Akafugu. If you have already ordered tubes from elsewhere, like eBay, it’s also possible to order the clock without tubes. This clock can be ordered in Akafugu’s own shop, Tindie or eBay. For custom orders, like ordering several or only specific shields, it’s preferable to contact Akafugu via email. It’s also possible to order acrylic cases.
Per also shipped the 6 tube IV-4/17, the IV-18, the IV-22 and the IV-6 shields. I did not order a case, as I intend in the future to make my own. At the risk of repeating some of what Brian already said, I'll perform a full review of all the shields except the one that was already reviewed. It's important that this review be self contained and that you don't have to make reference to previous articles.
The clock has two parts - the clock base board and the tube shields.
The base board size is just 100x35mm big. It uses 10mm nylon spacers so the PCB does not sit directly on the surface.
On both left and right sides of the board there are two pin headers - this is where the shields will connect to.
There are two buttons, confusingly labelled S1 and S2, where S1 is “Button 2” and S2 is “Button 1” on the back side of the PCB. There’s also a two-position switch that enables or disables the alarm. This is an interesting point - where one can control the alarm with a switch instead of entering menus to enable/disable it. This is a lot quicker and easier than fiddling around in menus, especially if you are sleepy.
On shields that support dots, the alarm enabled indicator is shown as the rightmost dot or a big dot (IV-18 shield).
Also on the backside there’s a USB mini connector - you can use this connector to power the clock, as well to program it. On the front of the board there are two LEDs - one blinks when your power-on the board - and the other blinks when the board is being programmed.
There’s additionally a SMT switch that resets the clock.
Underneath the clock there’s a row of pins compatible with Adafruit’s GPS module. Any GPS or GPS emulator, like nwts, should work with this clock, if connecting at TTL levels and if supporting 4800 or 9600 bps. The clock uses the $GPRMC NMEA string to get its time. It will synchronize the time every 1 minute. The clock supplies 5V to power the GPS module.
The main components of the base board are:
There’s also a description of an I²C temperature/humidity sensor on the clock’s schematics, but this is not included in the board. Currently the clock derives its temperature from the RTC chip – but as the clock warms up a bit, this temperature is always a few degrees higher. Measuring with a laser temperature sensor, the temperature reported matches the RTC surface temperature.
The ATmega is preloaded with an Arduino Leonardo bootloader – this allows programing the open source firmware using just a USB cable and the Arduino IDE. Also included are ICSP pads on the underside of the board, but these require a pogo-pin adapter to be able to use them.
This probably the clock’s greatest strength: it’s completely open source. The current firmware code is published on GitHub.
Finally, there’s a 3.3V CR1220 battery holder to allow the RTC to maintain the current time in case the clock gets disconnected from power.
The following shields are available:
A really nice touch is that the clock detects what shield is connected by a 3-bit pattern and adapts itself to show the correct display for the different tubes, there is no need to set any thing up for the different shields.
Every shield has a hole for each tube, with grooves for each tube’s wire contacts. Before soldering the tube, extending the wires outward and placing them in the grooves, allows for an easy alignment and soldering. It also makes it possible to replace a tube easily.
The IV-22 shield uses expensive Harwin tube sockets, the same as used in other clock models from other manufacturers - this allows an even easier replacement of the tubes.
The IV-6 and IV-22 tube shields are very similar on their display capabilities - the only difference being the size and orientation. The clock operates very similar with these tubes.
The IV-18 shield has two additional digits, making use the two additional digits for longer scroll and FLW animations. Also uses the big dot on those tubes as an alarm indicator.
The IV-4/IV-17 shields use the tube’s sixteen-segment display to display real letters; on the seven segment tubes, we can only guess what letter is shown, on the sixteen-segment tubes this works out very well. However, due to the additional segments, disappointingly, this module does not have any dots.
All the shields except the IV-18 have additional I2C pins that allow future expansion!
Starting the clock for the first time, the Load LED will pulse for about 8 seconds, after that the display will show which shield is loaded.
The clock will then display the time/date/temperature/four letter words/message on the display, depending on the configured parameters.
The menu system is simple and efficient, but takes some time to get used to.
Button 1 advances to the next menu item. Button 2 changes that item value. If a menu item ends with a dash, this means there’s a sub-menu. Pressing Button 2 enters that sub-menu and again Button 1 moves to the next item and Button 2 changes that menu value. It can take some time to get used to it, or to try to decipher the characters on the seven-segment displays.
The full menu I could derive from the source code is:
Menu/Param |
SubMenu 1 |
SubMenu 2 |
Values |
Description |
|
24H |
|
|
ON/OFF |
24/12 hour display |
|
ADATE |
|
|
ON/OFF |
Show date |
|
|
REGN |
|
DMY/MDY/YMD |
Regional date format |
|
ADIM |
|
|
ON/OFF |
Automatic display dim |
|
|
ADH1 |
|
2 |
Period 1 |
Start hour |
|
ADL1 |
|
8 |
Intensity |
|
|
ADH2 |
|
19 |
Period 2 |
Start hour |
|
ADL2 |
|
5 |
Intensity |
|
|
ADH3 |
|
22 |
Period 3 |
Start hour |
|
ADL3 |
|
2 |
Intensity |
|
ALARM |
|
|
|
|
|
|
HOUR |
|
0 |
Alarm hour |
|
|
MIN |
|
0 |
Alarm minutes |
|
BRIT |
|
|
0-10 |
Display brightness (will be overwritten by ADIM) |
|
DATE |
|
|
|
(Will be overwritten if using GPS) |
|
|
YEAR |
|
|
Current year |
|
|
MONTH |
|
|
Current month |
|
|
DAY |
|
|
Current day |
|
DOTS |
|
|
ON/OFF |
Display dots on hour separator |
|
DST |
|
|
AUTO/ON/OFF |
Enable DST (Auto will use default US values) |
|
|
RULES |
|
|
|
|
|
|
RULE0 |
3 |
DST Start |
Month |
|
|
RULE1 |
1 |
DOW |
|
|
|
RULE2 |
2 |
DOW Occurrence |
|
|
|
RULE3 |
2 |
Hour |
|
|
|
RULE4 |
11 |
DST End |
Month |
|
|
RULE5 |
1 |
DOW |
|
|
|
RULE6 |
1 |
DOW Occurrence |
|
|
|
RULE7 |
2 |
Hour |
|
|
|
RULE8 |
1 |
Offset (hour) |
|
FLW |
|
|
ON/OFF/FULL |
Four Letter Word (FULL is uncensored) |
|
HUMI |
|
|
ON/OFF |
Humidity |
|
PRES |
|
|
ON/OFF |
Pressure |
|
GPS |
|
|
OFF/48/96 |
GPS Baud rate |
|
|
TZH |
|
-12 to 12 |
GPS Time zone hours difference from UTC |
|
|
THM |
|
0-59 |
GPS Time zone minutes difference from UTC |
|
|
GPSC |
|
ON/OFF |
GPS CKS errors debug |
|
|
GPST |
|
ON/OFF |
GPS Parse errors debug |
|
|
GPSP |
|
ON/OFF |
GPS Time errors debug |
|
TEMP |
|
|
ON/OFF |
Show temperature |
|
TIME |
|
|
|
(Will be overwritten if using GPS) |
|
|
HOUR |
|
0-23 |
Current hour |
|
|
MIN |
|
0-59 |
Current minutes |
|
VOL |
|
|
LO/HI |
Buzzer volume |
|
Toggling the alarm switch enables or disables the alarm. On all shields except the IV-4/IV-17shields there’s a dot that indicates the alarm is on.
The clock supports 12/24 hours, day/month/year, month/day/year and year/month/day formats.
The display can also be dimmed – automatic dim times can also be defined.
Also, another good option is to set DST rules – though it might get a little bit tricky to master.
The alarm volume can also be changed.
GPS settings are the normal ones we can find on other clocks, like setting the baud-rate, GMT hour and minute difference and some GPS debug options to troubleshoot GPS problems.
Exploring the code, some interesting things can be found:
To compile the code, it requires the necessary WireRTC control library, that’s also available in the standard Arduino distribution. The code shows many available options and it’s quite big, but it seems easy to read and understand.
Some of the extra options, like the pressure and humidity are undocumented, only existing on the source code – no wiring or parts are described on the documentation. Presumably these are for future expansion.
Before my final thoughts, I’d like to point out that there are some areas that require some improvement.
The documentation on the site, though mostly complete, requires some clean-up and the removal of some ambiguities, like references to parts that don’t exist anymore. It’s clear that improvements are being added both to the hardware and the software and those are not reflected in documentation, making it sometimes a little bit frustrating. Akafugu acknowledged those problems and is currently fixing them up. Some of the clean-up is already in place when this review was published.
One of the main “faults” I’d like to point out is a missing complete table that includes all the menus of the device and a matrix with each shield features. I’m sure this would help many buyers deciding.
Another page that requires some cleaning is the Resources page. A clear place where to find schematics, manuals and links to the software would be something that would make the experience less frustrating. Though the clock schematic is available, I couldn’t find the shields schematics - they might be important when troubleshooting tube problems, because the way each shield is driven is considerably different from the others.
On the clock software, I’ve noticed that some features work sporadically, like the Four-Letter Word display – sometimes the tubes are just blank. I’m not sure if this is an issue of a specific shield, but usually a restart of the clock solves this issue. Akafugu suggested to check if the EEPROM chip connections or adding a decoupling cap, but since I started this review, the problem did not happen again.
The device is very well made – it clear that it has already some years of development and fine-tuning. The fact that the source code is available, makes this device very desirable for hacking, customization and general learning on how to make a Nixie or a VFD clock.
Assembling the kit is relatively easy once some of the ambiguities of the documentation are solved. The hole with groves method of assembling wire tubes is very useful!
It’s a pretty device and an excellent use of several VFD tubes.
Communication with Akafugu has always been excellent – Per Johan Groland has been very communicative and ready to help with any questions asked.
I’d recommend this device for all those that like VFDs, a small beautiful clock or a piece of hardware you can also hack and play with. It sure is one of my favourite VFD clocks so far!