Each of the 16 Nixies in the Shoutbox plugs into its own small printed circuit board. All 16 boards are identical except for a jumper that sets each board's address. Knowing that I would be using some sort of intelligent controller to run the entire system, I intentionally made the tube boards small, simple and rather dumb. Aside from the obligatory MPSA42 high voltage switching transistors, the only active components on the tube boards are 74HC373 octal latches. There are four 74HC373s per board, grouped to form two stages of 16-bit "memory": one bit for each of the tube's 15 segments, with one bit left over. This dual stage latching scheme allows the segment data to be multiplexed at pretty much any speed - including ridiculously slow - without any possibility of rippling, flickering, or any of the other unpleasant side effects display multiplexing can have.
The controller, for the first 4 years, was an Allen-Bradley PLC-5 processor with two 16-point TTL output cards. That was massive overkill and a big waste of expensive industrial hardware, but I stuck with what I knew best and had on hand. The tube boards in the Shoutbox are little more than glorified tube drivers designed to be readily compatible whatever controller I eventually dreamed up. In theory, any controller capable of producing TTL level signals could plug in to the Shoutbox and just work. In practice, it was not so simple...
In 2011 I built a new controller using an Atmega 328P MCU and some 74HC595 chips to expand the 328P's I/O to what I needed. HC595 outputs are "TTL compatible" but it turns out they have a signal slew rate about 100X faster than plain old TTL. The existing tube boards didn't care, but hideous ringing, ground bounce and other ugly transmission line effects appeared on the 4' ribbon cable that connects the 16 tube boards. After a week of pondering I solved it by brute force: I cobbled in some plain TTL line drivers between the HC595s and the ribbon cable to tame the signals.
Code in the Atmega 328P consists of about 2,000 lines of C that I wrote using avr-libc and gcc ( WinAVR project ). All character generation, multiplexing, scrolling, message queueing, time keeping and so forth is handled by the 328P. A Perl script on the Web server processes the messages posted by visitors' browsers and forwards them to the controller via a serial-over-ethernet device. Since the clock, calendar, temperature sensor and the various chaser effects are handled by the 328P, if the server is down or disconnected the Shoutbox continues to operate as a stand alone clock with periodic effects and room temperature display.