Determing Unknown Baud Rate

Often times I end up with some sort of device that has an RS-232 port, but that I don't have any idea what baud rate it uses, etc. I used to just hook it up to a terminal and try all of the different baud rates while trying to get something intelligible to show up. Unfortunately there are a large number of baud rates to choose from and getting the device to output anything is often tricky, especially if you don't know the pinout (although a Black Box Clever Cable makes this a little more bearable).

 

Eventually I got fed up with this, especially after I just couldn't find the right parameters for an LG IrisAccess 2200 iris scanner (for which I am still looking for docs) and so I decided that I needed to some up with a better solution, so I took an RS-232 breakout box and soldered on some test-points so I could hook it up to a scope.

 

You simply hook up an oscilloscope to the TX pin (just keep guessing till you find it!) and set the scope to trigger on a pulse. You then measure the time of the shortest pulse and take the reciprocal to figure out the baud rate (ok, actually I wrote this page so I would have some place to put the table so I can just look up the answer because typing bc is too hard :-).

 

Here is an example:

From this we can see that the period of the shortest pulse is 26µs -- 1/26µs (1/26*106) = 38461 -- round this to the closest real baudrate, 38400, or 34.8k

Another example:

Here the shortest pule is 100µs -- this is 1/100*106 or 10,000bps -- this is obviously not a real baud-rate, but it is really close to 9,600bps.

 
Time Baud Rate
3333µs (3.3ms) 300
833µs 1200
416µs 2400
208µs 4800
104µs 9600
69µs 14400
52µs 19200
34µs 28800
26µs 38400
17.3µs 57600
8µs 115200
4.34µs 230400

 

 

If you are unable to send a break command with your terminal program (to a 9600baud device, like a Cicco switch, etc), this often works...

Change the baud rate to 1200 baud, N,8,1.  Reboot the device, hold down the space bar for 10 - 15 seconds. Change the baud rate back to 9600. Done.

A space at 1200 is close enough to a break at 9600 to satisfy most devices.

Additional information