Reverse Engineering Serial Ports

Can you spot the serial port in the pic above? You can probably see the potential pads, but how do you figure out which ones to connect to? [Craig] over at devttys0 put together an excellent tutorial on how to find serial ports. Using some extreme close-ups, [Craig] guides us through his thought process as he examines a board. He discusses some of the basics every hobbyist should know, such as how to make an educated guess about which ports are ground and VCC. He also explains the process to guessing the transmit/receive pins, although that is less straightforward.

Once you’ve identified the pins, you need to actually communicate with the device. Although there’s no easy way to guess the data, parity, and stop bits except for using the standard 8N1 and hoping for the best, [Craig] simplifies the process a bit with some software that helps to quickly identify the baud rate. Hopefully you’ll share [Craig’s] good fortune if you reach this point, greeted by boot messages that allow you further access.

12 thoughts on “Reverse Engineering Serial Ports

  1. Ground ought to be easy to figure out without having to guess. If ground is not connected to other grounds then it isn’t really ground, now is it? So a simple continuity test to a known ground point in the circuit should distinguish ground quickly. VCC is only slightly more difficult to figure out.

  2. I can’t recall where I saw it, but I once read of someone using a piezo earphone as a way of detecting a serial signal. It’s high enough impedance not to load a circuit, and serial data, depending on what it is, will often have something in the audible range.

    Just in case that’s useful…

  3. There is a slight blunder in the introductory paragraph, wherein he implies that RS-232 ports are not UARTs. An RS-232 port is driven by a UART, but a UART need not be driving an RS-232 port.

    1. He implies that RS-232 and UART are not voltage compatible and he is right. RS-232 defines logical one to be in the range of +3..15V and logical zero to be in the range of -15..-3V. And UART +3V3/0V or +5V/0V however protocol compatible is not compatible with RS-232 at the voltage level. That’s why sometimes you have to use MAX232 or similar chip.

  4. Useful, as a lot of routers which are electrically fine get trashed needlessly due to failed firmware.
    I’ve started saving all the broken ones and reviving them, a lot of the time if it only has to work until they get to ye olde PC shoppe on Monday morning this is fine.
    N*t***r DG834GVx are great as the lightning fried ADSL 8 pin buffer chip can be replaced by a trained solder monkey and still connect to ADSL2+ afterwards.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.