Serial Converter

Hey Gang,

I have been thinking about an Arduino based Serial to Serial baud rate converter.

The purpose is to take in data at one rate, possibly do something to it, then send it out at another serial rate/configuration.

It could either use some kind of flow control, XON/XOFF or DTR/RTS, etc. Or maybe just buffer some number of characters. In this case, a couple hundred characters should be enough I think.

My basic desire is to be able to hook up my 110 baud teletype to a 300 baud console port. Just about nothing supports 110 any longer and I am not willing to say that my ASR33 shall never be a terminal again.

Have any of you heard of doing anything like this?

Converting the 110 output from the ASR keyboard to 300 should be simple.

Of course, I would have to bit bash the 110 because it has been made abundantly clear to me from many discussions here, that the Arduino will never do 110 on its hardware ports.

I have successfully bit bashed a 110 baud output and I am sure that it won’t be too difficult to do the same with the 110 baud input. I might not be able to do them both at the same time, but there is no problem using 2 Arduinos, one going one way and the other going the other.

Of course, I would probably use MAX232 for TTL to RS232 conversion.

I would be interested in any of your thoughts.


With Arduino hardware, you’ll have issues getting to 300 baud as well. If it were my project, I’d look at using two of these along with an Arduino for the glue, $2.76 each at DigiKey:

Have any of you heard of doing anything like this?

I used to set this sort of a problem as an exam question back in the 80s, for my second year undergraduates.

I would use a stand alone Arduino where I could pick a crystal frequency that would allow the running of those baud rates, or an external UART.

Minimum baud on ATMega328 (Arduino Uno) is main clock speed/2^16. Since you can use prescaler for the main clock you may divide default 16MHz to 62kHz ~ 2^16Hz. This way you can achieve baud 1, but it will break default Arduino functionality that depends on time (mostly millis() and delay will run much slower). Also Uno has only one HW USART and it is used for bootloading and Serial. If you want to use this one I would use it for the 110 baud side and bit bang the other. But I think bit banging both sides should be not so hard either with so slow speed.