Firmware Version 1.2
Last Modified: July 19, 2011
- Quick Start (for the impatient)
- Display Power
- Display Start-up
- Operation via Buttons
- Buttons vs PC Programming
- Setting the Time via the Buttons
- Setting Other Configuration Parameters via the Buttons
- Configuration Option List
- Configuration Parameters Description
- 01 N/A
- 02 N/A
- 03 12/24 Hour Mode
- 04 Year
- 05 Month
- 06 Day of Month
- 07 Day of Week
- 08 Brightness
- 09 N/A
- 10 N/A
- 11 Transition Effect
- 12 Wipe Style
- 13 Wipe Rate
- 14 Display Cycle
- 15 Chime (available only if emitter is installed)
- 16 On Time
- 17 Off Time
- 18 DST Enable
- 19 DST Start day of week count
- 20 DST Start day of week
- 21 DST Start month
- 22 DST End day of week count
- 23 DST End day of week
- 24 DST End month
- Resetting All Options To Their Default Values
- Setting Up A USB Connection
- Setting up the USB Interface on a PC
- Setting up the USB Interface on other Operating Systems
- Connecting to the display using terminal emulator software
- Serial Command Line Interface
- Command Set
Greetings ! This document describes the operation and features of the Cogwheel Circuitworks B7971x8 display. The B7971x8 is a modern drive system for Burroughs/Ultronic B7971 Nixie Tubes. These tubes were used late 60′s and early 70s. They are no longer manufactured. Cogwheel Circuitworks offers the PC boards and enclosure in DIY kit form. The project is open source under the Creative Commons Attribution Share-alike license CC-BY-SA.
Quick Start (for the impatient)
POWER UP: Attach 24VDC power to the display. The display will cycle through a test pattern then display the firmware version. Be sure your firmware version matches that shown at the top of this document.
SETTING TIME: Find the SET, UP, and DOWN buttons on the bottom of the display. Press and hold SET and release when the display blinks. Now, press UP and DOWN as necessary to adjust the time. Holding UP or DOWN will advance time faster. When the correct time is reached, press SET and the display will resume normal operation.
Nixie tubes operate at voltages which can electrocute. If you disassemble the device for any reason, do not handle the circuit board with power applied.
- Displays time, day of week, day of month, and year.
- Time-keeping accurate to within 1 second per month
- Time, Date is maintained across power interruptions
- Automatic Daylight Savings Time adjustment
- Programmable on time/ off time to prolong tube life
- Programmable transition effects
- Adjustable brightness
Features when attached to PC via USB or optional Bluetooth:
- Display text messages sent from PC
- Built-in font (PC just sends ASCII text)
- PC can also control each individual element of each tube for unlimited patterns
- Text can be scrolled and transitioned with a variety of effects
The display requires 24VDC @ 200ma. The barrel connector is a very common 2.5mm x 5.5mm variety. Positive is the inner conductor. Negative is on the outer. The display may be operated at voltages as low as 18VDC, but the tubes may be unacceptably dim.
When power is applied to the display, it will cycle each tube with all elements on. This is to verify all tubes are working as well as to exercise the tubes a bit before operation. The tubes will be brighter for a short period, but this does not harm them and aids them in lighting more evenly in the long term. This display will then show the firmware version. Be sure this matches the firwmare version at the top of this document.
After several seconds the display will begin normal operation. The default settings are to cycle through time, day of week, day of month, and year once per minute.
Operation via Buttons
Pressing and releasing any button briefly will cycle the display through time, day of week, day of month, year and all tubes off state. If you leave the display on any of these settings except off, it will return to normal operation after a short period
Buttons vs PC Programming
All of the features that affect stand-alone operation can be programmed via the buttons. Having said this, it is much easier to program the display via a PC and the command line interface.
Setting the Time via the Buttons
While the display is showing the time, press and hold SET for at least 2 seconds. When the display blinks, release the button. The display will now display what was the current time but it will not be changing.
To increase the time on the display, press the UP button. To decrease the time, press DOWN. If you press and hold either UP or DOWN the rate of time change will gradually speed up.
When the display shows the proper time, press the SET button. The display will return to normal operation with the new time.
The best technique is to set the time against a very accurate source such as a Cell phone or PC display synchronized via GPS or an Internet time source. Set the display for a few seconds ahead of the current time. When the time source and the display match, press SET. The display begins to keep time the moment the SET button is pressed.
The following diagram depicts how to set the time:
Setting Other Configuration Parameters via the Buttons
The procedure starts the same way as setting the time; While the display is displaying time press and hold SET for at least 2 seconds. When the display blinks, release the button. Now press set once more; You should see the following display format
The three digit number on the left is the option number, on the right is its value. Pressing the UP or DOWN buttons will adjust the value, and pressing SET will advance to the next option number. At any point if you wish to exit SET mode, press and hold SET for at least two seconds and the display will return to normal display mode. The following diagram depicts the overall flow;
Configuration Option List
‘N/A’ refers to features not available with this version of firmware
|03||12/24 Hour Mode|
|06||Day of Month|
|07||Day of Week|
|15||Chime (if emitter is installed)|
|19||DST Start day of week count|
|20||DST Start day of week|
|21||DST Start month|
|22||DST End day of week count|
|23||DST End day of week|
|24||DST End month|
Configuration Parameters Description
03 12/24 Hour Mode
Select 0 for 12 hour mode, 1, for 24 hour mode. (Note: on the IN17x1 Series 1 enclosure that the PM indicator LED is not exposed.
06 Day of Month
07 Day of Week
Range: 1-7. 1=Sunday.
Range: 0-15 (brightest). Set to minimum value that still provides acceptable brightness to maximize nixie tube life.
11 Transition Effect
Affects how the display changes from showing time to showing date and back;
|0||None – No special transition is applied|
|1||Blink – Display blinks briefly during transition|
|2||Fade – Display fades during transition|
|3||Wipe Via Off – Display transitions like a curtain to off, then again to on|
|4||Wipe slot – Display transitions to a rapidly changing ‘slot machine’ effect|
12 Wipe Style
When the Transition Effect parameter is set a Wipe Type (3 or 4), Wipe style controls how the wipe occurs;
|0||Wipe from Right to Left|
|1||Wipe From Left to Right|
|2||Toggle Direction Right to Left, then Left to Right alternately|
|3||Transition tubes in random order|
13 Wipe Rate
When the Transition Effect parameter is set a Wipe Type (3 or 4), Wipe Rate controls the speed of the transition; 1 is the slowest setting, 8 is the fastest.
14 Display Cycle
Controls how often the display cycles between showing time and date;
|0||Show time only|
|1||Once per minute|
|2||Twice per minute|
|3||Three times per minute|
|4||Five times per minute|
15 Chime (available only if emitter is installed)
|2||Twice per hour (:00 & :30)|
|3||four times per hour (:00,:15,:30,:45)|
16 On Time
17 Off Time
To maximize the life of the tubes, the display may be turned off for period during any 24 hour cycle; The display will go off at the hour Off Time is set to, and turn back on when On Time is reached. If On Time and Off Time are the same, the display will stay on all the time.
18 DST Enable
0: Disable, 1:Enable
When enabled, the display will automatically shift forward 1 hour at 02:00 on a specified Start Date, and shift backward 1 hour on a specified End Date (see below).
19 DST Start day of week count
Range: 1-4, 1:First week, 2:Second Week, 3:Third Week, 4:Last Week
20 DST Start day of week
Range: 1-7, 1:Sunday
21 DST Start month
Range: 1-12, 1:January
22 DST End day of week count
Range: 1-4, 1:First week, 2:Second Week, 3:Third Week, 4:Last Week
23 DST End day of week
Range: 1-7, 1:Sunday
24 DST End month
Range: 1-12, 1:January
displays are shipped for USA Daylight Savings time; This corresponds to the following:
|DST Start day of week count||2||Second Sunday in March|
|DST Start day of week||1|
|DST Start month||3|
|DST End day of week count||1||First Sunday in November|
|DST End day of week||1|
|DST End month||11|
Resetting All Options To Their Default Values
To reset the firmware to all default values do the following: Remove power, then hold down any button while reapplying power. The LED on the driver board will emit a long blink once every few seconds. If the audio emitter is installed it will beep once every few seconds. Press and release the UP button once. Verify that the display is now repeating one short beep every few seconds. You can press the DOWN and UP buttons alternately to obtain the correct number of beeps/flashes. Now press SET. Verify the LED is blinking in a 1 long, 1 short pattern and (if it’s installed) the chime is beeping: short beep – long beep – short beep (morse code for “R” aka Reboot). Now, remove and reapply power. The display will come up with all default settings. You will now need to set the time and date and other configuration parameters that you wish to.
Setting Up A USB Connection
The display is also equipped with a USB Serial hardware interface. The display can be programmed and firmware updated via this interface.
Setting up the USB Interface on a PC
The following describes the basic procedure on a PC running Windows XP with an Internet connection.
When you connect the display to the PC, the interface should auto-detect and try to find a driver. You will be asked if you wish to search for the driver automatically. Check this box and click next. The system should search for the driver and install it. You should then see a pop-up from your task bar tray that says the hardware is ready to use.
If this procedure fails, the device driver may be downloaded from www.ftdichip.com .
Setting up the USB Interface on other Operating Systems
The USB Serial chip used is the FT232R from www.ftdichip.com . You can visit their site to download drivers for other operating systems. The VCP version of the driver is recommended.
Connecting to the display using terminal emulator software
One the USB Serial driver is installed, any terminal emulator program can be used to communicate with the display.
On a PC running XP, You need to open Control Panel->System->Hardware->Device Manager. Under Ports (COM & LPT), you should see a new entry “USB Serial Port (COMx)” where x is the port number. Take note of this number. You may then use either the Hyperterminal application or a third party terminal emulator to access the display’s command line interpreter (CLI). Set to the Application to the following:
COM Port Number
The one found in the step above
Serial Command Line Interface
Once connected, to the display via the terminal emulation software, the display should initialize. On the serial interface the following message should appear. If it does not type ver<enter>
: Cogwheel Nixie System
: B7971 Firmware Ver:1.2, Build:170, 27-May-2011 07:42:36
: (C)2011 Cogwheel,Inc. Software licensed under terms of LGPLv3 and CC(BY)
Commands consist of a 3 character name followed by a space, followed by one or more arguments, followed by a carriage return. If the command name is entered without arguments followed by a carriage return, the current status of that command will be reported.
Most commands set configuration parameters and are the same as their corresponding configuration parameters accessible via the buttons.
|bla||[0..1]||Blank Display.||Off: “bla 1”, On: “bla 0”|
|bri||[0..15]||Brightness.||Dim: “bri 4” Bright: “bri 15”|
|cfa||[0..1]||Cross-fade enable/disable||Disable: “cfa 0”, enable: “cfa 1”|
|chi||[0..3]||Chime 0:off 1:hourly 2:2x/hr 3:4x/hr||Chime once hourly: “chi 1”|
|dcy||[0..4]||Display Cycle 0:off 1:60s 2:20s 3:30s 4:10s||Cycle once per minute: “dcy 1”|
|dow||[1..7]||Day of Week 1=Sunday||Wednesday: “dow 4”|
|dse||[0..1]||Daylight Savings Time Enable||Enable: “dse 1”|
|dst||[...]||Daylight Savings Time Set.Takes 6 parameters: start week number, start day of week, start month, end week, end day of week, end month.||Set DST to USA rules: (Starts second Sunday in March, Ends First Sunday in November: “dst 2 1 3 1 1 11”|
|hel||[c,b]||Help on c)ommands or b)uttons||Display help with buttons: “hel b”|
|oft||[0..23]||Off Time. Disabled if on time and off time are the same||Turn display off at midnight: “oft 0”|
|ont||[0..23]||On Time. Disabled if on time and off time are the same||Turn display on at 5 am: “ont 5”|
|rep||Report all option states||“rep”|
|tfx||[0..4]||Transition Effects:0:None 1:Blink 2:Fade 3:Wipe-off 4:Wipe-slot||Set for wipe slot: “tfx 4”|
|tim||hh:mm:ss.t [a,p]||Set Time. For 12h end w/ a or p for am or pm.||Set time to 23:50: “tim 23:50”|
|txt||message||Displays text. If preceded by !, then the next 8 characters are taken even if they are spaces.||“txt Hello” would display “Hello”.
“txt ! x” would display ‘x’ on the rightmost tube
|txb||nnnnnnnnnnnnnnnn||Allows control of individual elements of the tube ‘n’ is a hex digit. First 4 hex numbers are for the leftmost tube, and so on. 4 digits per tube, 8 tubes, total 16 hex digits.||“txb 00010002000400080010002000400080″ would light the first element of the leftmost tube, the second element of then next, and so on.|
|txo||[lcr] [fsor]||Text display options:
l: left justified
r: right justified
f: enter fixed
s: enter scolling
o: enter one letter at a time
|Issue txo affects subsequent txt commands only.
“txo l f” text appears left justified w/no effects
“txo c s” scrolls on then stops centered
“txo c o” scrolls on one letter at a time
|ver||Show Version||“ver” would display version information|
|wis||[0..4]||Wipe Style : 0:Right>Left 1:Left>Right 2:Toggle-dir 3:Random. Note tfx must be set to a wipe type for wipe style to have any effect.||“wis 0″ would cause transition left to right
“wis 1″ would cause transition left to right, etc.
|wir||[1..8]||Wipe Rate : 1:Fastest 8:Slowest. Note tfx must be set to a wipe type for wipe style to have any effect.||“wir 8″ would set the transition effect to the fastest possible|
|ymd||yyyy/mm/dd||Set year, month, day||“ymd 2011/07/07″ would set the date to July 7, 2011|
If your board display was shipped with the Bluetooth option the following information applies:
- The Roving Networks RN-41 Bluetooth module is used. Detailed documentation is available at http://www.rovingnetworks.com Search for the Bluetooth Advanced User Manual.
- USB works for output only when the Bluetooth option is enabled
- It may communicate with any computing device that supports the Bluetooth SPP service
- The Bluetooth interface will appear as a serial interface on your computing device
- Initially, you will be required to “pair” your computing device using the ‘1234’
- The Serial Command Interface is the same; A terminal emulator program may be used to send commands to the display/driver board.
Under Microsoft Windows, the general procedure is:
- Determine that your computing device has bluetooth capability
- Verify that Bluetooth support is installed and working
- Use the “Add a Bluetooth Device” function (right-mouse click on the Bluetooth icon in the task bar)
- You should see a “Firefly” device during the discovery phase.
- You should see a SPP Service which you should select end enable. Note the COM port setting.
At this point you should be able to connect with terminal emulation software set to 57.6 bps. 8 bits, no parity.
See bluetooth-notes for additional information
This project is released under the Creative Commons Attribution Share-alike license CC-BY-SA.