Sunday, July 15, 2018

Modified SBC 6120 to work correctly with ASR 33 teletype, as well as tested Altairduino to TTY link


My replacement MAX3232 board arrived and I wired it up to allow me to connect it to either the Cypress 2102 based USB to serial module or the Altairduino serial port, This board features a male DB9 on the end, for connection to my cable, Telebyte and teletype. Fortunately, both the USB to serial module and the Altairduino will be properly configured for 110 baud with the proper character size and stop bit values. 

I constructed a cable from DB9 to DB25 to carry the true RS232 signals to the Telebyte 65 converter which drives 20ma current loops to and from the ASR 33. All I have to do is plug in a male DB9 to this cable and it will drive the teletype correctly when set to 110 baud, 7 bit, even parity and 2 stop bits.

The SBC 6120 computer has a male DB9 and is transmitting at 111.6 baud, but not yet with the proper configuration e.g. it currently emits 1 stop bit. I plan to modify the machine to work properly.

I discovered that this PDP 8 clone computer uses the Harris HD6402 UART chip which allows for selection of the serial format including stop bits. That means I can adjust the chip by bending out some pins and tacking them to +5 or ground to set up the configuration of the console serial port.

I first experimented with the USB to serial module to see the effect of various choices in serial port configuration, to determine what control bit setting to attain with the Harris UART. Next up, I modified the computer to operate with those settings, then gave it a try with the teletype.

The UART does not support MARK parity, which means that I need to use an data=7 to substitute the last bit for parity and then select parity=EVEN to lead me directly into stop=2. The teletype will see a start bit, 7 character bits, even parity and 2 stop bits.

That last character should always be MARK but I can't insure that. Since the teletype is not a smart device, it should not react to the incorrect parity bit. I used the USB to serial configured as 300-7-E-2 but the modification to the Cypress 2102 chip on the module causes it to actually run as 110-7-E-2 which is what I wanted.

I was able to send long strings of text, faster than the teletype can print, which showed up perfectly. The input from the ASR 33 keyboard shows up faithfully on the PUTTY screen. That tells me that this setting should work fine for the SBC 6120 as well.

I hooked up my new MAX2232 to the Altairduino and plugged the MAX into the connector for my teletype. Everything worked great. I put the computer into configuration mode, which prints a long menu of options, and it all came out flawlessly.

Altairduino configuration menu
The only problem I had is an inherent problem of the Altairduino code - the command for setting the serial port is 's' and the command to save a configuration is 'S'. Since ASR 33 only produces upper case letters, my keystroke asked to save a configuration when I had hoped to list out the serial port parameters.

The Altairduino is configured as 110-7-E-2 and works fine with the teletype. The reason that I had garbage typed but correct response with the unmodified SBC 6120 chip was that an incoming character of 7-M-2 simply appears to be a 8-N-1 character or a 7-N-1 with an idle interval before the next start bit.

The incoming characters to the printer are sent 8-N-1 and that means the next start bit arrives while the Teletype is still expecting a second stop bit. This gets the bit stream out of sync and causes garbage to type interspersed with some strings that accidentally line up properly.

The Harris 6204 UART chip has five pins that configure the serial port - CLS1, CLS2, PI, EPE and SBS. The normal mode for the SBC6120 sets these to request 1 start bit, 8 data bits, no parity and 1 stop bit. To work with my teletype, I need to have it set to 1 start bit, 7 data bits, even parity and 2 stop bits.
Harris UART chip at bottom
The only signals that switch value between normal and ASR 33 settings as CLS1 (pin 38), PI (pin 35) and SBS (pin 36). The PCB has CLS1 and PI wired to VCC and SBS wired to ground. To change this around, I need to bend those three pins outward so they don't fit into the socket, then tack on wires allowing me to connect them differently.

Pins 35, 36 and 38 bent outwards to isolate them from PCB
I can do a quick and dirty, wiring CLS1 and PI to ground, SBS to VCC, which permanently sets the SBC6120 to teletype mode. However, without too much extra work, I can add a miniature DPDT switch. This will allow me to switch between normal and teletype mode at the flick of a switch.

CLS1 and PI signals on blue wire, SBS signal on white wire
I popped the chip, bent the pins, tacked on the wires and soldered together the DPDT switch this evening. I put the switch into the 'teletype' mode and stuck the unit back into its case. It was late but I went out to perform the final test that night (the ASR 33 is in my car trunk and I test with an outdoor table behind the car).

Everything worked great! The SBC 6120 booted OS/8 and I did a directory listing. The paper ripped a bit and messed up the line feed in a couple of places but the ASR 33 is working great. 

PDP 8 clone running OS/8 doing directory listing on ASR 33
The model 33 related hardware for the VCF West exhibition is set now. I will script out a few demos for both the Altair clone and PDP 8 clone, including paper tape input. I still need to test whether the teletype reader will overrun either of the clones; if they do, I won't be able to run an all out paper tape demonstration. 

Friday, July 13, 2018

Progress on model 15 printer and other teletype news


I need one replacement part for the paper tape punch on my teletype, but the spares part specialists at RTTY Electronics don't have one. I did see an eBay auction of a perforator, which is the tape punch unit from a model 33. The seller allowed me to make an offer and we agreed on a relatively low price which will give me the spare part I need. 


I began again to work on the model 15 printer, to free up the clutch trigger and stop for the mechanism that is spacing the carrier, since it is frozen and causes the carrier to drift steadily to the right margin. 

There is a rod that the function bar and other parts rotate around, including the trigger and stop levers for the spacing mechanism. Those two levers were frozen in place. I decided that I had to remove the rod from the printer to get access to the frozen levers. I had to remove some springs and detach the function mechanism which drives operations when the five code vanes match the code for a function such as CR.

Frozen levers down inside the printer mechanism
After removing the rod and related parts from the printer, we could move the lever slightly by striking it with a hammer. We removed the bolts holding the rod in its frame, then tried to drive it out of the parts to clean things up. We could get it to move about a millimeter in either direction with a fairly hefty hammer and wood blocks, but no more.

Rod with frozen levers, plus function plate above
We clamped the whole mechanism down, dripped in very fine clock escapement oil, and hammered the levers to make them rotate. At first it took a wood block and hammer, but after about 30 minutes we could move them by hand, albeit very painfully. These parts should rotate easily and snap back under spring tension. 

Main shaft visible with the function rod removed from machine
Ed Thelan took over, judiciously adding clock oil while relentlessly moving the levers over their range of motion until they were fully loosened. This took him about an hour of stubbornly twisting the parts. At this point, we had to end the workday but everything is ready to reinstall and after some adjustments, the printer unit should be working. 

Bob Erickson's model 15 is a governor model, whose motor speed is adjusted by the technician. We used a box to drive the unit with 60ma 120V at 45.45 baud but the text being printed was somewhat garbled. Today we decided to adjust the motor speed, since it must be the right speed to decode the incoming data stream. To our surprise, the motor didn't start at all when we plugged it in.

We discovered a broken wire, which was fixed, and another wire which was hanging on by its last strand. Now it works again. The workday ended, but our plan when we resume is to hook up the SEND contacts to the oscilloscope and adjust the motor speed until the bit cells are exactly 22 ms, which corresponds to 45.45 baud. After we know the speed is right, we can test the printer again. It may be sludgy and require some TLC, but perhaps it is simply a matter of adjusting the speed. 

Marc picked up the powder coated metal parts for his model 19 teletype - they look fantastic. We now have to put everything back together; 39 coated metal parts and the many hundreds of other parts that go inside. 

Thursday, July 12, 2018

Testing out Altairduino and SBC 6120 with the ASR 33 teletype


I set up my test rig outside, with the ASR 33, the Altairduino, the SBC6120, and various tools like a scope and power supply. I worked my way out from the Altairduino, identifying the output stream when I attempt to switch over to the serial line as the primary interface. Seeing which line produces proper 110 baud ASCII, I then connected through the various devices and cables until I had the Telebyte driving the teletype.

When I applied the switchover on the Altairduino, the teletype printed out the message requesting confirmation of the new settings. However, it did not recognize my input keystrokes. I would get 30 seconds of prompts and then the Altairduino switches back to its USB link for communications.

I next wired up my USB to serial device (based on CP6102 chip), again identifying which line was modulated as I typed input on PUTTY on the PC. Wiring all that through to the Telebyte, I was ready for the next test. This part worked flawlessly, with every character entered on the PC keyboard printing properly on the ASR 33 and each keystroke on the ASR 33 displayed properly on the PUTTY screen. 
Signals going through MAX3232 converter
The above test lets me know that I have a fully functional ASR 33 and any remaining difficulties are going to be with my two clone computers and the wiring to the Telebyte. Seeing perfect output from the Altairduino is an excellent sign, so the only issue to identify is why I was not seeing the keystrokes coming back. I can diagnose this with a PC to Altairduino link, both sides at 110 baud, until I find the problem. 

My final test was the SBC 6120, which has an RS 232 (TTL) interface that I believe I had set to 110 baud using the new slower TTL oscillator chip. Once again, I identified the modulated pin coming out of the SBC 6120 and wired it through to the Telebyte and the ASR 33. 

The results were not as positive as I had hoped. The teletype went into chattering mode, which happens when it receives start bits with ascii NULL following. When I pushed the keys on the teletype, it interrupted the chattering and tried to echo something back to the printer. 

I put the meter on the cable from the SBC 6120 and realized it was already RS 232 voltage levels and thus inverted. That explains the results I experienced. I can simply wire this replica right to the Telebyte input and it should work perfectly. 

I tested this by wiring it up quickly and booted OS/8, then typed some commands. The input seems to be recognized perfectly but the output characters are pretty mangled. There are sections where intelligible portions of a file name show up and then we are back to junk. 

My suspicion is that the SBC 6120 is properly speaking at 110 baud but not set up properly for 7 bits, MARK parity and 2 stop bits. Without enough stop bits, the data streams in faster than the ASR 33 is ready to interpret characters. I will read up a bit to see what I need to do before this will work correctly. 

To diagnose the Altairduino, I wired my USB to serial connection through to the Altairduino serial port, brought up PUTTY on the PC and tried to switch over to the serial line to see what was up. I did manage to switch over and communicate on the serial line, running at 110 baud. This works fine talking TTL level RS 232. 

I probably fried my MAX3232 board since I applied +/- 12V signals to the TTL/LVCMOS side. I tried a quick test and indeed the module is dead as a doornail. I ordered another one and expect it tomorrow night At the same time, I ordered some DB9 and DB25 breakout modules to allow me to wire up everything for VCF. 

I will make up the final connections this weekend and then do one a live test with the ASR 33. Before I bring it all to VCF West, I need to script out some demonstrations and write it up, so that my booth assistants can run things whenever I am away from the area. 

Wednesday, July 11, 2018

Progress of model 15/19 teletypes; modification done to SBC6120 (PDP8 clone)


I found a perforator unit for a model 33 on eBay, listed as 'for parts'. It has the assembly I need to control the paper tape tension on the tape punch. At the listed price it is not reasonable to buy for the part, but I made an offer, quite a bit lower than asked but one that is at my upper pain tolerance for this transaction. We shall see what happens. 


The Vintage Computer Festival West exhibit I am committed to involves both my working ASR 33 and a model 15. The most critical work left to meet the deadline is to get at least one model 15 restored to good operation in time for the show.

We have three model 15 systems under restoration - mine, Marc's model 19, and Marc's model 15. Marc is focused on keyboard restoration for his model 19 and finished it up today. His other model 15 had some keyboard issues which we corrected. I focused on the printer unit of my model 15, which had a mostly frozen main shaft.

Marc's keyboard has a tape perforator and a column counter attached. He noticed that he could punch tape when the keyboard was switched to the "keyboard only" or "keyboard plus tape" setting, but when on "tape only" it failed to punch. Also, his counter was not working.

Dirty contacts and a misadjusted switch were the primary cause of the problems he experienced and were quickly corrected. Once the punch and counter were working exactly as they should, he turned to a strange taped up set of wires.

He realized that a filter had previously been wired to the punch solenoid to absorb voltage spikes as the magnet switched off. Using some handy components from his workbench, he installed an equivalent filter circuity.

Ken spent time with Marc's model 15, figuring out the wiring since it doesn't match any schematics we have. He sorted out the keyboard connectivity and behavior, but the printer unit needs work. It doesn't reliably print what we send to it, which may be a consequence of an unadjusted motor. This unit has a motor with a governor, which must be set to the right speed to operate at 45.5 baud. We also found the print mechanism to be a bit goopy and sticky.

I focused on the printer unit of my model 15. When I arrived, the main shaft that runs from the motor and powers the keyboard as well as all the functions of the printer, was almost frozen solid. It could only be moved a few degrees back and forth.

My first task was to apply new oil to the oiler caps and to the felt washers that lubricate the various clutches on the main shaft. The shaft should turn continuously, with a number of clutches that are tripped to complete one rotation before coming to a stop. The clutches were for print/function cycle, spacing/carrier return, and the selector that decodes the incoming bit stream.

After about 90 minutes of working everything, I had the shaft rotating and the clutches rotating until tripped. I put the printer on the body and fired up the motor. The shaft rotated away, the keyboard worked well, but the printer had some issue.

The selector mechanism, which converts incoming serial characters into a parallel arrangement of code bars, was continually operating even when I held the selector magnet armature to the MARK position. It should finish the current cycle and stop the clutch until the next SPACE arrives which is interpreted as the start bit of the next character.

I disassembled the mechanism and found the clutch trigger and stop levers to be frozen with sludge. After about 30 minutes with light clock oil and careful exercising of the parts, I had it working properly. When held in MARK position, the clutch stays stopped. A SPACE condition triggers one rotation of the selector mechanism.

The other issue with the printer was that the carriage was moving steadily towards the right margin - continuous spacing. Working on this took the majority of the day. The spacing mechanism involves a clutch about dead in the middle of the shaft. Its trigger and stop levers were frozen in place.

Even with lots of clock oil and work, I didn't get the levers moving any better. I might have to do a more major disassembly of the printer to free this up. In preparation for that, I removed the carrier from the rest of the printer. The carrier has the typebars that swing up to print the characters, plus the ribbon mechanisms.

We put the carrier into a bath of Simple Green and will leave it for two days, after which I will dry it and oil it to make sure the typebars move smoothly and rapidly. I can't just dunk the rest of the printer in the bath because there are some parts such as the selector magnet that shouldn't be put in the cleaner. If I disassemble more, those pieces can be cleaned by the same method.

Quite a bit of the printer is also hampered by dried lubricants. There is a function mechanism that rotates forward to operate any function lever whose slots exactly match the settings of the five code bars. For example, if the code bars select a carrier return, then the function lever that matches the code drops forward and when the function mechanism rocks, it drives the levers to trigger a carrier return.

The function mechanism was not moving to its full range and was very hard to move. I worked it for a while and improved it quite a bit but more is needed. The function mechanism has to release the code bars in order for the selector mechanism to set them up with the incoming character code. Right now that doesn't work.

One of the function levers is the 'space' character, which should trigger the space clutch to take one rotation and move the carrier over by one column. Since it is not reliably triggering or stopping, it either moves steadily rightward or doesn't move at all.

The other thing that should happen is a print cycle, if it is a printable character set up on the code bars. That didn't happen at all, probably due to the stiffness of the function mechanism.

Basically, all the parts are on the printer and not rusted, but it will take quite a bit of work to get everything moving properly. The odds are high that I will have to disassemble it further to get it clean enough.


I built the Single Board Computer 6120, which is a PDP-8 replica. Intersil designed a microprocessor that was a copy of the PDP-8, used for a while by DEC to build products such as the DECMATE, the 6120. This board is built around the 6120 processor, supporting a front panel that mirrors the panel of a PDP8 although it is scaled down in size a bit.

The board has jumpers to set the speed of the serial port, allowing four options with the slowest at 300baud. The ASR 33 needs to run at 110 baud. I looked at what might be possible to interface this computer to the teletype.

I had discovered that the serial port is driven by a TTL oscillator chip to drive the baud generator, separate from the clock that drives the rest of the circuitry. Therefore, if I can slow down the baud generator by the ratio of 110/300, it would make the slow jumper actually operate at 110 baud.

Main oscillator at 5MHz and serial port oscillator at 4.9152MHz
The original oscillator was 4.9152MHz and I was able to find a compatible TTL oscillator that runs at 1.8432MHz thus the effective baud rate is 111.7, close enough to work perfectly.

New oscillator chip at 1.8432MHz makes 300 baud = 111.7 baud

Tuesday, July 10, 2018

ASR 33 input received perfectly, can't get PC to RS232 link to output anything


The model 33 is performing nearly perfectly already. The sticking that occurs where you a keypress isn't recognized has dropped to perhaps one in fifty presses and it recovers faster. I expect that with just an hour or so of use the stickiness will totally disappear.

I built the MAX 3232 board onto a bit of PCB breadboard, along with a header that will fit onto the Altairduino and a zener diode regulator to drop the 5V from that socket down to the 3.3V needed by the board. The SBC6120 runs on 5V, thus I build a quick socket for that system to plug in my MAX3232 based board.

Alas, the MAX board was so small and fragile, with tiny flat pads to solder on wires, that it broke before I was able to use it. I did have a different and slightly larger board in a different project box, which I rescued and hooked up.

Armed with my RS 3232 board which converts 3.3V RS 232 signals to true RS 232 (approx +/- 12V), I tied together a chain of modules to link my PC to the ASR 33.
  • On the PC, I ran the PUTTY terminal program through a USB to serial unit based on the Si2102 chip, modified to run at 110 baud when the PC selects 1200 baud rate. 
  • The si2102 provides RX, TX (and other RS232 signals such as DTR) which I wire to my MAX 3232 board. 
  • The other side of the MAX board produces RX and TX as true RS232 voltage levels. 
  • Those +/- 12V signals are connected to the Telebyte 65 converter, which turns the voltage levels into the presence or absence of a 20ma current on its output loop. 
  • The current loop is connected to the teletype where it drives the printer and paper tape punch
  • The Telebyte also provides a 20 ma current loop to the teletype for the transmission side, the keyboard, answer back drum and paper tape reader
  • This second 'send' current loop comes back as RS232 data, converted to TTL levels and sent back to the terminal program over the USB lnk
First, I tested out the Telebyte unit. I hooked up an ammeter and verified that it is supplying 20ma current on the two loops (receive and send) that will be hooked to the teletype. Next, I checked across the RX, TX and ground pins to see that pin 3 is output when in DTE mode and pin 2 is output for DCE mode.

I wanted to get the polarities correct for all three units - ensuring that the USB module delivers data from the PC outward on the RX pin, that this is the input to the MAX3232 and the RX pin output of the MAX is delivering that data into pin 2 of the Telebyte where it will modulate the receive current loop.

It took a few tries to get the correct configuration of the Telebyte 65, before I turn on the ASR 33 in Line mode, have it humming quietly in idle mode. It now sits in idle mode when switched on to Line, with the keyboard sending data without it appearing on the printer so I have achieved full duplex operation as intended.

Next up is to get all the RS232 wires hooked in their proper orientation. For example, the CP2102 USB to RS232 module will appear to receive data on the TX pin (since when I brushed it to ground the PUTTY screen showed invalid characters arriving. ON the other hand, the MAX3232 board has TX shown as inbound to the RS232 side, thus I have to cross RX and TX between these modules.

I then see that the RX pin, pin 2, of the RS232 side coming out of the Telebyte module is active (-13V for the MARK or idle input condition). Therefore , this pin is going to be the input into the RS232 voltage side of the MAX board, the RX pin.

This means that data from the teletype keyboard flows out of the current loop, through the Telebyte and out of pin 2(RX). That pin should be hooked to pin 2 (RX) of the MAX3232 side for RS232 voltages. It will deliver the data on the RX pin on the TTL/3.3V side. That data from the RX pin of the MAX is crossed over to enter through the TX pin of the CP2102 USB module and is transferred up to the PC.

After some wiring of the RS232 cable I have, to link the pins on the Telebyte to the pins on the MAX3232, I could run a test trying to send and receive characters between PUTTY on the PC and the keyboard/printer. My initial setup is a maze of jumpers, alligator clips and other temporary scaffolding but eventually it will be proper connectors.

I can see the keyboard input modulating the "TTL" side of the MAX3232, and the keystrokes are immediately rendered correctly on screen by PUTTY. However, nothing I type on the PC is received at the teletype. The problem is somewhere in the USB module, device drivers, Windows or PUTTY. I don't see the little LED on the USB module flash when I try to transmit data back to the teletype, so it isn't even trying.

I made a try at hooking up the Altairduino, which I had worked on earlier to remove the bluetooth module and use it as a native serial port. Unfortunately, it is not working properly now. I can't get it to reset properly or configure or speak over the USB link. Having reached the end of the day working outside in the heat, I packed away everything and will try again tomorrow. 

I am in contact with a supplier of teletype parts, RTTY Electronics, and will be able to buy every part that is missing on my system except for the spring holder for the paper tape punch. Marc will machine a replacement for me.

Monday, July 9, 2018

Prepped the Altairduino to drive the ASR 33 teletype for VCF West exhibit


I removed the bluetooth module from the Altairduino motherboard and replaced it with a header strip. This will allow me to plug in the bluetooth module, with its male header strip, or the MAX 3232 board with its male header, depending on whether I want my serial line to operate direct or wirelessly.

I foresee a third option, where I can have a TTL level serial adapter hooked up to the Altairduino - in this case there is no need to convert to true RS 232 voltages. It won't be used with the ASR 33 hookup but might be helpful in other situations.

I built a male header on a small PCB section that also mounted my MAX 3232 module, allowing it to plug into the rear of the Altairduino or to a different female header I will use with the SBC 6120. The small board will deliver +/- 12V receive and transmit signals that have to be connected to my Telebyte 65.

Next step was to permanently wire the small board I built to the Telebyte. The MAX3232 supports two in and two out connections, typically RX, TX, and then CTS/RTS or DTR or other control signals. I don't need any controls so I tied the spare inputs to 3.3V for the TTL in and ground for the RS232 in.

The header where I plug this board provides 5V, but the MAX3232 needs 3.3V supply even though it can handle 5V inputs on the TTL side. The Arduino Due that powers this machine runs on 3.3V thus I know I have access the the proper voltage somewhere, if I can only find it and route it appropriately.

This slightly spoils the symmetry of the socket which I intended to plug the bluetooth or the MAX232 boards as required, since the bluetooth model demands 5V supply. I hoped there might be a workaround, however. The header for these two devices is six pins across, but the active connections on the bluetooth module are only the center four. One end is used for 'state' and the other for 'enable'.

The 'state' pin senses the state of a LED, thus if I can't provide 3.3V through that pin. I looked up the module documentation to determine this. The 'enable' pin actually toggles the module between command and data modes, not something I want to mess with.

This tells me I have no safe pin on the header to deliver 3.3V. Instead, I will need to create a metod on the small RS3232 PCB to drop the 5V input on the pin down to 3.3V for my module. The bluetooth module spec is 50ma at 3.3V. Using a 3.3V zener diode and a 33 ohm resistor I will increase the current draw but the Altairduino is powered by a wallwart supply with plenty of capacity. The diode is on order and should arrive later this week.

Saturday, July 7, 2018

Finishing up ASR 33, preparing for VCF West exhibition August 4-5


I worked on my ASR 33 a bit today. It still sporadically 'sticks', which I suspect is some old lubrication inside the keyboard module that is holding the universal lever from restoring fully. Until it does, pushing a key does not trip the clutch to run a distributor cycle and serialize the character value.

I watched the H lever which connects the keyboard module to the printer unit and it was properly resetting. No effect from prodding of the H lever, if the keys were unresponsive they remained so during prodding.

It works almost well enough. I can usually get 3-5 characters before a freeze, which releases within about 30 seconds in most cases allowing further keypresses. I ran through every character on the keyboard, in both regular and shifted mode, plus some control characters. They all printed cleanly and worked perfectly.

Typed output
I loaded my paper tape punch with some blank stock and used a forcep to hold the tension spring up to put pressure on the tape. I was able to successfully punch a sequence of characters onto the tape. That was ripped off and placed onto my paper tape reader mechanism. When I flipped the lever to START it ran through the tape and it all printed on the paper exactly as it was first entered.

Some punched tape - manually holding tension spring thus over and under tensioned
At this point, I have the broken part in the punch to work on, the sticky operation which I hope will work itself out over time, and still must verify that it works well with 20ma current loops while in LINE mode. All minor tasks with the teletype essentially fully restored already.


I agreed to bring the teletypes and exhibit at VCF West in early August here at the Computer History Museum. My idea is to connect the ASR 33 to either or both of my vintage computer clones - the SBC 6120 and the Altairduino. The SBC 6120 is a PDP8 clone which leverages the Harris 6120 microprocessor which is a PDP 8 implementation. The Altairduino uses an Arduino Due to clone an Altair 8800 system.
PDP8 clone using Harris 6120 processor chip
The problem is the teletype, which requires 110 baud serial port speed. Neither of the clones run that slow. The SBC 6120 can be configured for 300 at its slowest. Similarly, the Arduino Due lowest serial opening speed is 300. I had to investigate ways to modify these to operate at the proper speed, using the software and hardware of these two clones.

The SBC 6120 uses a small four pin TTL chip to produce 4.9152MHz which is divided down to run the serial port. The hardware has four jumpers to set divisors for 38,400, 9600, 1200 or 300 baud. I found a similar oscillator chip that runs at 1.8432 MHz. That reduces the baud rate with the slowest jumper to 111.7 baud. Typically you can be off by +/- 5% in speed and still work well, so my +1.5% is going to work well.

one of these silver cans is the 4.9152MHz baud rate generator oscillator
The Altairduino serial port libraries do not support 110 baud but reading the spec sheet of the Atmel ARM processor chip shows that serial ports 2, 3 and 4 of the chip can be set as slow as 80 baud and as fast as 5,250,000 baud. It will take some code hacking to reconfigure the serial port, which hopefully I can do with minimum impact on the clone software.

I went to the github repository for the Altairduino and starting investigating the configuration code. I saw that it had entries for 110 baud, which implies that this is indeed able to drive the ASR 33 without modifications. The only question is whether the version I built has this functionality or if I have to update to get it.

Then there is the pesky issue that I built my Altairduino with a bluetooth module on the serial port. I don't believe the bluetooth serial board can handle 110 baud, but I can detach it and run straight RS232 out of it.

I did an experiment. Setting the USB Programming port as my primary console, I configured the serial port (bluetooth) to 110 baud 8N2 and attempted to connect to it  via PUTTY from my PC. I don't know whether the fault was in PUTTY, my bluetooth module in my PC or the bluetooth module in the Altairduino.

However, I have every reason to believe that I can remove the bluetooth module and bring out the RS 232 RX and TX lines. The only issue is that these will be 3.3V logic levels.

To connect these machines to the ASR 33, I need to convert voltages to the +/- 12V RS232 levels and then convert again to 20ma current loop. I have a Telebyte 65 converter box for the latter requirement and only need to add in a MAX 3232 based board. The 3232 chip handles 3.3V on the "TTL" side.

CP2102 USB to serial in front, Telebyte 65 RS232 to current loop in back
To test with a PC, I will use my CP2102 based USB to Serial chip, which can be configure to run at 110 baud, hooking that to the MAX 3232, the Telebyte 65 and the Teletype ASR 33. The only board I don't have on hand is the MAX 3232 which I just ordered. It should be here by the end of the weekend.

The other part of the exhibit will be a model 15 teletype, printing out weather reports and news stories much as they did in newsrooms druing the middle of last century. I already have the software and interface hardware for the model 15 which will drive this demo. BaudotRSS provides the softwre feed at 110 baud and John Nagle's TTYloopdriver module drives the teletype. All I need to do is make sure I have a restored model 15 working properly.