I spent waaaaay too much time on this project but I'm very happy with the result.
Our story begins at a Maryland hamfest in the late winter of 2016. I was attracted to an unlit alphanumeric sign. I had been looking for something alphanumeric-y to display pithy quotes, or maybe the weather, stock quotes, etc. This was priced at a solid $5 with a guarentee from the vendor that, "It worked once, I guess." Sold!
Figure 1 - The Alpha 210 Alphanumeric Sign, as found (front). [a210-01.jpg]
The main unit had an interesting sticker from the Maryland lottery on the back.
Figure 2 - The MD Lottery sticker (back of the main display unit). [a210-02.jpg]
Apparently, this sign was used to display the winning MD lottery numbers at drug stores, bars, and the like. This was a happy tiding as I was hoping for some type of digital interface that I could feed with a Raspberry Pi or Arduino. I was certain that anything used to display the MD lottery numbers had to have some type of computer interface. Well, yes and no ...
The sign came with a calculator-like keyboard for manual data entry. It was pretty cumbersome to use but, with data found on the Internet, I could show that the sign was alive, well and able to display anything I wanted.
Figure 3 - The Alpha 210 Handheld Controller. [a210-04.jpg]
I found two PC boards inside the Alpha 210. One board was the display board that housed the LEDs and their drivers. The second board was a 1980's-style, single-sided control board housing an 8035, a 2732 EPROM and several other through-hole ICs.
Figure 4 - Inside the Alpha 210. The green board holds the LEDs and drivers. The brown board holds the microprocessor and, hopefully, an RS232 port. [a210-10.jpg]
This was great - exactly the stuff I worked on in my young engineering days. I had even completed several 8048 (a close relative of the 8035) microprocessor projects in those days so I was in my element. This was going to be a lot of fun!
I decided to turn my attention to the brown controller board containing with the microprocessor EPROM.
Figure 5 - The Alpha 210 Controller Board (front). [a210-03.jpg]
Here's the back of the control board.
Figure 6 - The Alpha 210 Controller Board (rear). Clearly laid out by hand, back in the day. Note the duck and telephone in the lower left-hand corner (Figure 7). [a210-07.jpg]
Figure 7 - The duck and telephone. [a210-08.jpg]
The first interesting item about this controller board was the 5-pin orange connector at the bottom of Figure 5. The pins are labeled G, S, CD, RX and TX, which sure smelled like RS232. Off to the Internets to see if I could scare up any documentation.
Turns out there is LOTS of documentation on these types of signs. They were made by Adaptive Micro Systems and I was able to dig up a manual for my Alpha 210 (although it was a challenge). The manual walked me through using the handheld controller but didn't offer any information of the RS232 port. I kept digging and found several documents on the "Alpha Protocol" and the "Alpha Industrial Protocol." I even found a Python Library that spoke to the Alpha signs.
However, all this info produced no any joy. No amount of magic sign whispering through the Alpha's RS232 port produced any results. I could get the sign to pause momentarilywhile it considered my request, but it would eventually just ignore me and go about its business. Sometime in the past, the fine folks at Alpha decided to standardize their protocols but I belive this sign is from too early an era to obey the commands in the documentation. I couldn't even identify the baud rate with which the sign communicated. Dead end.
So, what next? My eye turned to the 2732 EPROM. I thought if I could read it and dissassemble the 8032 assemeber, I could suss out the RS232 protocol. I found an article and an Arduino Sketch that allowed me to easily drain the EPROM and examine its contents and the Intcernet contains opious documentation on 8032 assembler language. I even a found a simple dissassembler that went way back to the 8048. It was free but lacked many of the more powerful reverse engineering tools I was used to.
After about a week of on/off playing that included a lot of hardware reverse engineering, I was able to identify several interesting subroutines and the font tables but could never find the RS232 handling routines. Early microprocessors usually didn't feature dedicated RS232 hardware so they used general purpose I/O pins and timers to accomplish their communications goals. The lack of a real-time debugger and sophisticated dissassembler tools left me stymied once again.
Figure 4 shows two boards. The brown, top board is the control board resposible for handling the keypad and driving the LED hardware. The green, bottom board contains the LED and their associated driver electronics. The interface between the two boards is a grey 16-wire ribbon cable (near the top of Figure 4). Assuming this cable carries a couple of VCCs and GNDs, there should only be about 10-12 wires controlling the LED driver board. How hard could that be?
Poking the pins of the cable with an oscilloscope revealed a four-bit counter and several pins that loaded data into shift registers on the display board. Now we're getting somewhere. The counter probably controlled a multiplexed display, causing only a portion of the LEDs to light up at one time. The shift registers probably held the bits that lit up the individual LEDs. A couple of days with an Arduino and a continuity tester proved these guesses correct.
I decided the way ahead was to trash the existing brown controller board and use an arduino talking into the grey ribbon cable to control the display board directly. It took a couple of weeks of experimentation, manipulating font files, experimenting with delays and a couple of blown driver transistors before I had working code. Figures 8 and 9 show the final (messy) hardware. All hail the hot glue gun.
Figure 8 - Final working hardware. I glued the Arduino Mega directly to the driver board. [a210-11a.jpg]
Figure 9 - Final working hardware (close up). [a210-12.jpg]
Figure 10 shows a gif of the working sign. The modes cycle through
Pithy sayings (3 each)
Random LEDs Lit
Figure 10 - Final result. [alpha210_320z.gif]
With all the dead ends, this project took an entire month.One day, I may have it display the time, stock quotes or something else. But probably not.