Sometimes, one encounters the problem of using a serial port, but somehow got the quartz frequency wrong, set the wrong fuses or doesn’t know the used baudrate for some reason. To the rescue comes Sprite’s Autobaud: It guesses the baudrate from a few received bytes (some characters work better than others) and uses a known speed of 115.2 kBps to communicate with the computer via a FT232.
Sprite wrote the software and I made a circuit around it that can cope with RS232 levels (DB9 jack) or uses logic levels (4-pin header). Level shifting is accomplished by two SN74LVC2T45DCT that work from 1.8V to 5.5V, so with almost any logic levels out there. They come in a really small SSOP8 case that requires a steady hand and some soldering skills. A switch is used to select between the RS232 and pin header I/O. A simple RS232 level shifter may be connected to header JP4 (see tarball).
Most of the time took the selection and working on the case. Thinking of how to fit a circuit in a case is too time-consuming for such a small circuit. So, you search for a fitting case after the circuit is finished. In this case, everything fitted in a Compact Cassette case (which are getting rare). The polycarbonate is easy to drill and cut, and it is transparent. All jacks and the switch are glued to the case with epoxy. Oh, and the case was marked from the inside so that the marking won’t be scratched from the outside. It’s quite difficult to write mirror-invertedly!
Eagle files for download:
The AVR code is available on Sprite’s site, unfortunately under the GPLv3.