6
\$\begingroup\$

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

\$\endgroup\$
  • 1
    \$\begingroup\$ What is a Roku? \$\endgroup\$ – Grebu Jul 1 '18 at 9:28
9
\$\begingroup\$

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.

\$\endgroup\$
7
\$\begingroup\$

You could try to get the datasheet for the processor and see if you can trace the RX path from the CPU to the header, maybe using the TX path as a guide.

\$\endgroup\$
  • \$\begingroup\$ In this case it's a many layer board, but in general good idea, thanks. \$\endgroup\$ – Sam Jun 22 '18 at 17:15
3
\$\begingroup\$

write a script outputting "ls\n" or "login\n" every second and try other pins on that header until it complains at you (do it via a 10k resistor so you don't kill one of the pins in the process).

\$\endgroup\$
  • 3
    \$\begingroup\$ 10 kOhms is rather high. That might not be enough to overcome a passive pullup. \$\endgroup\$ – Olin Lathrop Jun 22 '18 at 14:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.