SB-630 Station Console: An Update of an Old “Timer”
Retro Style Desk Accessory, Updated on a Budget
A while back, I was given an SB-630 Station Console by an old timer acquaintance who was long out of Amateur Radio and had parted with the rest of his Heathkit station years before — the SB-630 was all that was left. I appreciated it and returned the favor by swapping him a dual-band J-Pole that I'd made so tha the stay on the 2-meter repeaters.
The SB-630 is a nice, but not especially necessary station accessory. Some hams built them just to have the complete SB-line. The console consists of a passive SWR meter, a phone patch, a motorized Digital Clock and the unique feature: a 10-minute Identification Timer. Better versions of the SWR Meter and Phone Patch were sold separately; the clock-timer was unique, so the SB-630 was merely an opportunity to wrap them all up in a single desktop accessory. Since there's nothing unique about the SWR Meter or the Phone Patch, for my purposes, I'll focus on the clock-timer combination.
The clock is simple: its digital readout shows the hour, minute, and second and has an electric motor
that runs whenever the SB-630 is plugged in. It is fairly quiet and has a soft 'ticka-ticka-ticka-...'
as it turns the drums with the digits painted on them. It's digital: get it?
The 10-Minute Timer is another matter, reminding the operator to comply with FCC regulations
and identify at proper intervals. You can choose a visual (lamp) reminder or a visual reminder,
or both visual and aural reminders, can be selected by a switch on the front panel.
If you ID a little early, the timer can be reset at any time to start a new ten minute interval.
I'm ever fascinated by the era of tubes, and the SB-630 seems to be the ultimate expression
of 'See What Amazing Things We Can Do With Tubes!'. The ID-Timer is a basic neon-lamp relaxation
oscillator, incorporating an RC circuit — including a 144-megohm resistance — to trigger
a relay every 10-minutes. Pressing the 'reset' button clears the charge in the capacitor and restarts the
cycle. For all this we need a dual secondary transformer (150V / 6.3V), a regulator tube (OA2), and a
6EW6 tube to act as the Relay Control Switch, in addition to the other electro-mechanical items, such
as the relay and a (LOUD) mechanical buzzer. All this for a 10-minute timer.
I'd repaired the timer by rebuilding the 144-meg resistance (ten 1-meg resistors and two 22-meg resistors
on a mini-perfboard) and replacing a few capacitors. But, I was unsatisfied with the clock. In the end, I
gave the clock assembly to a fellow ham who needed one to keep his SB-630 running. The ID-Timer works,
but puts off a lot of heat, is not very accurate, and uses a number of tubes and a transformer
that I'd like to 'harvest' to use in other more worthy tube projects.
The SB-630 is ripe for tinkering: they're readily available (hamfests, ebay) and cheap — usually under $20 — everyone wants the more desirable SB-610 or SB-614 Station Monitor, or the newer SB-634 Console (which actually has gas-discharge digits!) The SB-630 is a great choice for an update.
The Plan
My plan was to build a new clock display, keeping some of the old style (albeiet 1970's style, not 60's), and drive them with an Arduino micro controller. The real-time clock is provided by a Maxim DS1307 (formerly Dallas Semiconductor) 4-pin IC. The chip is tiny, uses very little current when it's 'on', and is backed up (according to the datasheet for 10 years!) by a single CR2032 3-volt lithium battery. As 'icing on top', the Arduino can count off the 10 minute ID Timer.
I started with yet another Bare-Bones Board (BBB) from Modern Device Company. Actually I used his RBBB Arduino which is VERY tiny indeed. The Arduino is an open platform, the development tools are free, and can be programmed in a variant of "C" language.
The Initial Strategery
Well, a set of .3-inch-high 7-segment Displays fit perfectly in the little window provided for the clock.
But there's only enough room for HH:MM:SS. I also wanted to keep a running minute-count for the Identify
Timer so I can know where I am in the 10-minutes. So, no MM-DD-YYYY or Day of the Week. I worked with this
idea for quite a while. I even got the SB-630 stripped of it's timer parts and a new transformer in
place. I was ready to start on the 7-segment LED Display panel for the front. It seemed... too complex.
I was using
CD4511 BCD-to-7 Segment Latches
so there'd be a 4-digit BCD buss back to the Arduino. The latches make it easy to write to the display
and not have the Arduino handle refresh. But still, there'd be much soldering: 6 + 1 digits, times
7 segments each. Plus two decimal points, blinking. I did a 'pin budget' for the Arduino and wrote
some 'starter' code and I was out of 'pins': I couldn't do some of the things I'd like to do as just
running the clock and the timer used all of my resources. From my original design, I accumulated
objections are as follows:
- Part Count is fairly high - 7 LED Displays, 7 CD4511 Latches
- CD4511s reduce the number of control lines, but still take up all the Arduino pins
- Although straightforward, wiring is extensive (in lieu of a PC board), and prone to future failures.
- Limited display space - just the clock, no day or date, plus one minute digit for the timer
- Digits only - limited by the CD4511s
- Power draw - the 7-segment displays, still pull quite a load (7 x 7 x 5ma = 245ma on average).
- I've decided on a small transformer and I don't want a lot of heat or power draw.
So, for now; I have to halt this leg of the design and return to an LCD display, which will allow me
to use the full clock features (time, date and day-of-week), handle the ID Timer and give more than
a single digit of feedback on countdown.
Off-handedly, I picked up a LCD display that I'd used for another project and test-fit it to the
window-opening in the SB-630. Perfect Fit! I still wanted the red look so I ordered a
RED-on-Black Backlit LCD Display
from SparkFun.
An Optimal Solution
The LED choice is simple to implement and elegant. An 11-line buss goes back to the main-board, providing power and ground, LCD contrast and LED backlight. Only 4-bits data and 3-bits (Enable, R/W, and RS) control. An LCD with 2 Lines by 16 Characters gives enough 'real-estate' to show time, date, and day of week, as well as the 10-minute ID Timer. As an added plus, I can display text.
The Code
- Power-up and setup
Going back to the FM Broadcaster project, I resurrect the LCD connection and 'pin budget' as follows:
Digital Pins, D12 = RS to LCD D11 = Enable to LCD D10, 9, 8, 7 = 4 data bits to LCD Analog Pins, via the 'Wire' library handling I2C: A4 = SDA, A5 = SCL
Display Layout
I've created a little document to help template LCD displays.
Here, I've dummied up some sample's of how the time, date, day-of-week, and ID timer info can play out
on the 16 x 2 display:
It's a bit cramped, but I'm able to show everything I wanted to display, and I have plenty of Arduino
pins left to trigger the 'IDENTIFY' lamps and 'audio tone', and a few pins left for future expansion.
But Wait! Now how much would you pay?
The idea came up: rather than manually setting the clock with a separate Sketch file, which would be a) finicky, and b) inaccurate, I thought it would be neat to write a .Net application to do it for me. In fact, I can fetch the correct time from a list of Internet Time servers and send that data down to the SB-630 clock via the serial cable.
The clock is fairly accurate and we're using the Ham-Preferred UTC, so daylight-savings changes are not important, so the clock shouldn't need setting often, but we're talking to a tiny computer here, so unless I want to provide Hour / Minute SET buttons, it's difficult and cumbersome to set the time with any accuracy. Previously I was writing a quick program with a future time in the code and sending it down to the Arduino. This sets the time, but relies on timing the transfer of the script for accuracy. Then we can return the Arduino to it's 'running' state for display.
So instead, I've included in the SB-630 Clock sketch a routine to accept a time in the format: "x" followed by a 10-digit Unix Timestamp via the serial (or USB) port. A VB.NET app can be run which will fetch the correct time (UTC) and send this down. Upon 'Sync', the SB-630 Clock will briefly display: "Clock Synced via / NTP Protocol", then return to normal operation.
Results
TODO: Full schematic - 5/22/2009
Source Files
- Version 2 - tested with Arduino 0015, but still in-work.
- Sync SB-630 Clock with NTP - .Net App, Click-Once Install with IE 7 / IE 8
Epologue


