Programming Pico over RX and TX

Through a very uncommon set of circumstances, the USB connector on my Raspberry pico has broken and does not work. I'm tempted to try my hand at SMT sodering, but before I do anything that might break the device further, I want to try to program the device through the RX and TX pins on the board. Using the adafruit PiUART from my local microcenter I have connected the Vbus, GND, RX, and TX pins to a USB-C. My laptop recognizes the connection and allows me to deploy code, however the RX & TX lights on the PiUART don't light up, and while the IDE gives me no errors, the terminal prints out:
Scanning for RP2040 devices
No drive to deploy.
I would greatly appreciate any assistance or suggestions on how to get code to push to the pico, I'm hoping I just need to change a setting in the IDE.
I have checked all connections with a DMM continuity and voltage test, and I got code to push and function before the board's USB connector broke.

Your Pi Pico is not an Uno (and so on) where your approach would definitely work.

I'm not familiar with the Pi Pico. But the general idea for the Pi Pico is that the IDE will issue a reset "command" by opening/closing the serial port with a baud rate of 1200 baud. The code that was already uploaded to the Pi Pico will react on that reset and switch the board to "upload mode". I think that the Pi Pico creates a drive at that point and the code will be dumped in that drive (possibly a simple copy at the file system level).

With the above in mind, I do not think that your approach will work.

1 Like

Remembering you must transpose the Tx and Rx between programmer and recipient device..........

on the RP2040 Rx pin GP1 Tx pin GP0 are not used for programming but are mapped to serial port UART0

in summary RP2040 serial ports

// Serial is the USB serial for program loading and serial monitor
// there are two hardware serial ports UART0 and UART1
//  Serial1 is mapped to UART0 on Rx pin GP1 Tx pin GP0
//  Serial2 is mapped to UART1 on Rx pin GP5 Tx pin GP4

I don't see anything in the rp2040 datasheet that would indicate that the bootloader is capable of using Serial instead of USB.

You COULD load code via SWD (the ARM debugger protocol), but you'd need a SWD programmer board (which could be a 2nd Pico.)