Electronic – Determining UART RX pin “blind”

reverse-engineeringuart

My mom had an old Roku that she no longer wanted so I took it figuring I might be able to hack it and run a generic Linux on it. I took it apart and saw two headers that looked like they might be for debugging. I found the ground (on what I'm calling pin 2) and then probed the rest and found out they are all 3.3V (at least on P12). I hooked up my logic analyser to all the pins and rebooted, found a 115200 baud signal on what I am calling pin 6. Looking at the data it says "U-boot…" then "Linux 2.6.4-roku…" so I think I have the right pin.

My question is how could I go about finding the RX pin? I have a Raspberry PI which has a 3.3V uart and one of these https://www.sparkfun.com/products/9873. Is there a safe way to do it? Is there a standard header that has 10 pins with ground on 2 and tx on 6?

In the pictures I left the logic analyser hooked up. https://imgur.com/a/UL80fPe

Best Answer

Use a multimeter in continuity test mode and verify which of the remaining header pins connect directly to the 3.3V power supply. Probably only one does.

With those set aside, the remaining ones that you originally measured at 3.3V will be either inputs with a pull-up resistor to 3.3V such as RX or CTS, or an active high output such as RTS.

For whichever pin you feel is likely RX, put a 1K ohm resistor in series with your Pi's TX output to limit current in case the pin you are testing is in fact an output and try it out. When you are sure you've identified RX after your test then you don't need the resistor anymore.