Design and construction of the RC-3 took place in a number of locations. All drawings were made in my home office. Mechanical assembly, final assembly, and integration testing were done on-site in workspace at Goodwill Computer Museum, while all wiring took place off-site.
Our original plan for wiring was to use a group of volunteers solicited from the ranks of Single Volunteers of Austin. However, after building the first two sections (clock and sequencer) myself, I found that meeting my quality goals was difficult enough for me, with many years of soldering and wiring experience, so it was doubtful that amateur solderers would be able to produce the required level of work.
Relay rails were wired point-to-point among the socket terminals and the relay connector boards. Our goal was that no wire should touch or block a terminal it wasn’t connected to. This led to wire routings along the edges of the rails which could be neatly bundled once the connections had been completed.
Ultimately, only three of us did the actual wiring. I did a great deal of the soldering on my dining room table. Jon Stanley wired a number of the register rails, and the extremely dense Arithmetic Logic Unit, while Austin Roche wire-wrapped the memory board.
Some soldering, like attaching the DB-25 connectors to all the relay connector boards, was just tedious, while other was more challenging. Relay rails for circuits with regular patterns and sparse contact usage, like the registers, were fairly easy to wire, but as the density and/or the randomness went up, things got more difficult. I’m sure Jon Stanley found the ALU to be a handful, since almost every contact on every one of the 64 relays had a wire on it.
I found the control section to be the most difficult, since it had no pattern whatsoever. Consider that it takes 19 pulses plus an 8-bit instruction code as inputs, and produces 37 output pulses. On the schematics, signals are just labeled where they need to appear (each in many places), without regard to how they actually get wired to that location. I constructed a spreadsheet (212 rows) that showed every location each signal had to connect to, then used that to figure out the most efficient wire routing. From that I marked up drawings with the places each terminal had to be wired to, which I used for the actual wiring.
As each section was wired, Jon and I bench tested them for proper operation, to make sure we hadn’t overlooked any connections or miswired anything. To assist in this process, I made a test harness out of some switches, lamps, a breadboard, and a data cable. It had switches that could be used to send in inputs, and lamps to see what signals were coming out of the unit under test, using the DB-25 connectors that would be used to connect the unit to the rest of the system.
The front panel wiring was both challenging and tedious. Besides soldering the 421 LEDs and 134 switches (1244 connections) into printed circuit boards, this also involved connecting a 25-wire cable from each of those 23 boards to one of the five front panel connector boards (adding another 1150 connections).
The wires were color coded with a base color and a stripe, and I established a convention for numbering them based on the resistor color code. Unfortunately, it was very difficult to tell the (dark) green stripe from the black one and mistakes were not uncommon, so after connecting the cable to the front panel board, I used an ohmmeter to check each connection before I soldered the other end of the wire to the connector board. If I had crossed them up on the front panel end, I just uncrossed them at the connector end.
Getting the front panels built was another of our significant challenges. The initial plan was to use a small CNC router to drill the holes under program control. Volunteer Stephen Torrence spent a lot of time trying to get it to work reliably but it steadfastly continued to occasionally make movement glitches that threw everything out of alignment. We finally decided to out source the job when we found a company called Front Panel Express. I had dimensionally accurate drawing files but they were not in a format that FPE would accept, so I added dimension lines to all my front panel layouts and Stephen entered them into their Front Panel Designer software. We sent them our first file and in a week had back a beautiful blue anodized aluminum panel with white filled engraved markings. We were extremely pleased with the results, and I am pleased to say that with the hundreds of holes involved and the many chances for error, everything came out in the right place and aligned perfectly with our printed circuit boards.
As construction progressed I kept thinking about how the probability of a catastrophic design error increases exponentially with the degree of completion, and did not breathe frequently. New problems did arise, but with the help of my support staff, we overcame them one by one. Design decisions had to be made at every turn, often little fiddly things. Strain relief for the flat cables that connect relay rails to the memory board comes to mind. That one I farmed out to our machinist John Mandell. I showed him what I needed and a week later he was back with a neat clamp that attached to the edge of the relay rail.
There were some gotchas, of course. Most of the front panel locations had a switch and an indicator connected to each other, in a regular pattern. In a few places however, such as the operator’s switches, special connections were needed. I tried to anticipate all of them when we were designing the printed circuit boards, so I could include extra holes and/or foil cut locations to allow minor modifications to the board for the special wiring. One big oops was that I forgot that the data and address entry switches had to be separated from the bus display LEDs associated with them. That didn’t occur to me until I was about to wire their front panel printed circuit boards to the connector boards.
The problem could be solved by a foil cut at each location, only the foil to be cut was on the side of the printed circuit that was facing the panel, which required removing two of the long printed circuit boards. That was not a trivial job. The switches were mounted in their panel holes from the back, so removing the nuts on the front side released them, but the LEDs pushed through the panel from the front, so to get the boards loose I had to remove 30 LEDs. My first attempts at LED removal weren’t very successful and damaged the board (we at least had the foresight to order spares, so replacing it wasn’t a problem), but I finally got the hang of it and even managed to reuse most of the LEDs.
Another problem came to light after construction was complete and we started running the system: we started experiencing relay sticking in the clock circuit. After replacing a number of failed relays and consulting with the relay manufacturer, we came to the conclusion that high in-rush currents into the timing capacitors across each relay coil exceeded the current handling capability of the 5A contacts. Inspecting some failed relays closely confirmed that contact welding was taking place. We solved the problem by adding a small resistor in series with each timing capacitor to limit the in-rush current to a safe value.
As more and more sections were installed in the rack, the number of relay connector boards went up dramatically. In retrospect, I think we would have been wise to have specified rounding of their corners. I can’t tell you how many times I got gouged reaching deep into the rack to connect cables, and pulled my arm out bleeding from one or more places. I know that my DNA is all over the inside of that machine.
Construction took 12 months from the completion of the drawings until the machine was operational. I remember completing the final sections (program counter and increment register) on a Sunday afternoon. Unwilling to wait to see if the darned thing would work, I drove down to the museum, mounted the last two sections in the rack, connected them up, and crossed my fingers. We had already written a memory test program into the EEPROM to test that process, so all I had to do was load its starting address, flick the Reset switch, and move Stop to Run. Satisfaction washed over me in waves as the program ran flawlessly: no memory errors, and no problems with control and execution. Success!!
Final assembly steps included tying up all the interconnecting cables to take their weight off the connector boards, installing a pair of LED lamps at the top to make it easier to see inside it, and adding the clear side panels and the front door. After buttoning it up for display, we found that the covers damped out way too much of the lovely sounds RC-3 makes when it is running, so added a microphone/amplifier inside driving an outside speaker so folks can hear the hypnotizing clicking rhythm that the relays make.
Many more pictures of various stages in RC-3’s construction may be seen in the Photo Gallery.
A complete, blow-by-blow, record of the design and construction is available in the Construction Log [71.5 MB PDF].
This story concludes in Programming.