Why doesn't my Feather rp2040 UART work *only* on a breadboard?
Beginner to electronics, but I have Python experience. I'm working on a project, and I ultimately want to have two RP2040 based boards (feather rp2040 and kb2040 in this case, just what I had) communicate over UART, but I'm having some confusing issues.
To simplify, I've connected the feather's TX and RX pins to each other on a breadboard (eliminating the other board for now). (I did also try just using 1 wire to bridge TX and RX instead; same problem). This is the code I'm using in CircuitPython:
import board import busio uart = busio.UART(board.TX, board.RX, baudrate=9600,timeout=4) data=bytes('hello world', 'ascii') while True: uart.write(data) print(uart.read(len(data)))
This does not work, and after the 4s timeout None
is printed. (Except for the first iteration, which prints b'\\x00'
).
My first thought was maybe there's a connection issue, but I confirmed with a multimeter that the RX and TX pins have continuity (so it's not like the breadboard is just broken).
The even weirder part is if I eliminate the breadboard, and just hold wires in place connecting TX and RX, it works! So... what am I missing here? Why does it only not work on the breadboard? I feel like an idiot haha, this seems like such a simple setup.
Is the added resistance from the breadboard causing a problem here, or something else? These wires measure around 0.2ohms, and a path between 2 wires going through the breadboard measured around 0.4ohms.
[link] [comments]