I recently worked on figuring out EEZ Studio and how to get the exported UI up and running on an RP2040-based Arduino board. Naturally, things go wrong while experimenting, and so the board got stuck in its error mode quite often. Luckily, I knew of an old trick that is quite hidden away in the Raspberry Pi documentation, and I was surprised to see very few sources that discuss this topic. Therefore, I want to share this quick tip and make it easier to find online.
A crashing Arduino sketch sends MBed OS, running on the Arduino Nano RP2040 Connect, into its failsafe mode where it flashes SOS via the built-in LED. Once stuck, uploading new sketches becomes impossible, and the Arduino IDE no longer detects the device. However, there is a simple trick to resolve this issue.
The board has a small tactile button that, when double-pressed, sends the device into bootloader mode, prompting the device to act as a simple USB flash drive. The computer’s file system usually automatically opens the device in the file browser. Then, all you need to do is drag and drop a single file onto the RP2040 to reset its program memory.
The file can be downloaded from the official Raspberry Pi website, their official GitHub repo, or directly here. However, I recommend you get it from the official website to ensure you always have the latest version.
The device immediately reboots and is then again detected by the Arduino IDE. Sometimes it may be necessary to unplug the device and plug it back in before it shows up in the Arduino IDE. Similarly, some RP2040-based devices require you to unplug the board from the computer, then plug it back in, and hold down the button during the entire process until it reboots.
From here on, you can re-upload sketches with confidence. This process can always be repeated when the board is stuck in the error loop. I hope this quick tip helps you, and I wish you good luck with your projects!