USB to TTL Adapter --> Raspberry Pi

Alright, I am stuck on this problem.

I am trying to connect to the Raspberry Pie 4 via a USB to TTL Adapter. Specifically this one:

DSD TECH SH-U09C2 USB to TTL Adapter


  • USB 2.0A Public Interface
  • Built-in FTDI FT232 Chip
  • Supports 1.8V, 3.3V, 5V TTL Levels

I am using picocom to attempt to connect to the raspberry pi 4.

Terminal Command:
picocom -b 115200 /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AG0JNTJ3-if00-port0

picocom v3.1

port is           : /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AG0JNTJ3-if00-port0
flowcontrol    : none
baudrate is   : 115200
parity is         : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        : 
omap is        : 
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready

And it just hangs.

I have placed the default rpi4 erlinit.config into the overlay directory and changed the output to ttyS0 but it is not showing up in the final firmware build. What is displayed is tty1.

Any help is much appreciated.

I don’t have any Nerves specific advice, but some basic general UART troubleshooting steps I go through (you may already know all this):

  • is the voltage jumper set correctly on the adapter (should be 3.3V for the Pi)
  • are Tx/Rx connected correctly? Tx of the Pi should be connected to Rx of the adapter and vice-versa
  • is ground connected between the adapter and the Pi?

If all that is hooked up right, even if the UART baudrate and framing configuration is wrong you should at least get “non-printable” characters. If you do get characters out of the UART then great, you’re either done or just need to figure out your UART config. If you don’t, either you missed something above, something is broken, or the Pi really isn’t talking. Personally, my next troubleshooting step would involve an oscilloscope but I’m not sure if you have that available or not. Without an oscilloscope, I would double check all connections again, then hook the adapter up in a loopback (Tx to Rx) and send some bytes through it on it’s own to make sure that’s not broken. Assuming that all checks out, either the Pi has a hardware problem (unlikely) or there is an actual nerves configuration issue (which I don’t have any advice for).

Hi @julngomz

Which GPIO or physical pins on the RPi4B are you expecting a UART to operate on ?
I notice my RPi4B has both /dev/ttyAMA0 and /dev/ttyS0 ( the lower-spec UART )
Note that Elixir IEx runs usually on /dev/console mapped to physical pins 8 (TxD) and 10 (RxD)