Nano RP2040 USB port broke off

Is there a way for me to upload sketches without the USB?

Yes , you can with a programmer and the 6pin icsp plug .
This is often used for programming the bootloader - so google how to do that, but instead , “upload your program using the programmer” .
Some Googling will provide the details.

You can also program via the tx/rx pin and the reset line with a suitable ftdi adapter

The only information that I found for the icsp option seemed to only apply to the Nano but the Nano BLE and the RP2040 do not have the 6 pin connection on board.

I did see a write up for the tx/rx and the ftdi adapter but was not sure if that would apply to the BLE/RP2040. I think this is my option.

Thanks for the response.

Sorry , just saw the nano bit …I can’t answer for your device

This is correct. Only the classic ATmega328P-based Nano has the ICSP header.

On the modern Nano boards, the programming pins are broken out to test pads on the bottom of the board. This is a diagram I made for the Nano 33 IoT, but it also applies to the Nano RP2040 Connect:

Here you can see the pads on the bottom of the Nano RP2040 Connect:

On these boards, the programming test points are connected to the SWD interface on the microcontroller. That is different from the ICSP interface used on the AVR boards, so it requires a different programmer/debug probe to program the chip. You can't use the traditional AVR ISP programmers like the "Arduino as ISP", USBasp, etc.

Unfortunately, no. The reason is that the Nano RP2040 Connect has native USB capabilities and thus uses a USB CDC serial port for communication with the computer. This is different from some of the AVR boards like the classic Nano, Uno, Mega which do not have native USB and thus use a UART/USART port to communicate with the computer via a separate USB interface chip.

The Nano RP2040 Connect does have a UART serial port connected to pins TX1 and RX0, but the bootloader on the board does not provide any support for uploading over UART.

The situation is the same even for the AVR boards with native USB like the Leonardo and Micro.

So if you would like to upload to your board via an external interface, you'll need to use an SWD programmer/debug probe.

Unfortunately, I don't have any experience with doing such a thing with the Nano RP2040 Connect. I normally recommend either of two options:

Adafruit_DAP

This is a way to turn an Arduino board into a DAP programmer, somewhat like our beloved "Arduino as ISP" programmer, only for the ARM core chips, and standalone rather than acting as a bridge for an uploader application running on the computer.

Unfortunately, it does not currently have support for the RP2040. There is some interesting discussion on the subject of adding support here.

CMSIS-DAP compliant programmer/debug probe

There are purpose-build programmer/debug probes available. I use this one:
https://www.tindie.com/products/ataradov/cmsis-dap-compliant-swd-debugger/
but there are other excellent options, including the Black Magic Probe.

In addition to the convenience of not needing to set up an Arduino board with the Adafruit_DAP code, application/bootloader binary, and wiring every time, this also allows you to do "ICE" hardware debugging. The beta Arduino IDE 2.x has an integrated debugger, but it currently only supports the SAMD family of boards, and I don't know what the situation is with other debuggers for the RP2040.

Perfect that pretty much answers my question. It looks like I will need to do some research here but that should help me find my way.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.