How to Reset Your Raspberry Pi Pico With a Button

Raspberry Pi Pico Reset Switch
(Image credit: Future)

The Raspberry Pi Pico is a fantastic piece of technology, but it does have one flaw: there is no reset button. How important is this omission? Sometimes our code can go awry, or we need to flash new firmware to our Pico. 

When this happens we have to unplug the Pico and plug it back in again in order to reset it. If we pull out the micro USB lead, a mechanical connection which is rated for a finite number of insertions, too many times, we could wear it out. If we have the Pico connected to a powered USB hub with on / off buttons, we can press the button on that, but what if we don’t. 

With very little equipment, and zero code we can build a simple button to reset our Pico ready for the next project.

For this you will need 

  • A Raspberry Pi Pico
  • 2 x Male to male jumper wires
  • Half size breadboard
  • Pushbutton

1.  Place the Raspberry Pi Pico into the breadboard so that the micro USB port hangs over the end of the breadboard. 

(Image credit: Tom's Hardware)

2. Insert a push button so that it sits over the central break in the breadboard. 

(Image credit: Tom's Hardware)

3. Insert a jumper wire so that it is inline with the RUN pin, connect the other end of the wire so that it is inline with the top left of the button

(Image credit: Future)

4. Insert a jumper wire so that it is inline with GND, connect the other end of the wire so that it is inline with the top right of the button

(Image credit: Future)

5. Connect your Raspberry Pi Pico to your computer and open the Thonny application. The Shell, located at the bottom of the window will autostart MicroPython. 

If we press the button on the breadboard it will pull the RUN pin down to 0V, forcing the Pico to reset. Press the Stop button to reconnect to the MicroPython shell. If your code ever locks up then this trick will help get you back to work.

Flashing a new MicroPython firmware or C/C++ project is made easier with this button.

1. Press and hold the push button and BOOTSEL.

2. Release the push button and wait for the RPI-RP2 drive to appear before releasing the BOOTSEL button.

3. Copy your MicroPython firmware / C/C++ project UF2 file to the drive. It will auto reboot. 

Les Pounder

Les Pounder is an associate editor at Tom's Hardware. He is a creative technologist and for seven years has created projects to educate and inspire minds both young and old. He has worked with the Raspberry Pi Foundation to write and deliver their teacher training program "Picademy".

  • artk2219
    Why not also give the option to just directly solder on a switch? It's two solder points.

    https://www.newegg.com/p/36M-01AF-00CR6?item=9SIAM5VBWZ7208&source=region&nm_mc=knc-googlemkp-pc&cm_mmc=knc-googlemkp-pc-_-pla-homyl-_-cables+-+internal+power+cables-_-9SIAM5VBWZ7208&gclid=Cj0KCQiA0-6ABhDMARIsAFVdQv_Bgjxjz_MwdTUuAEHmh0TQhy58h6Ev3RPJ0NKWEQyK1PIKE4Y8aD8aAr6tEALw_wcB&gclsrc=aw.ds
    Reply
  • MJConn14
    The diagram shows connecting to pin 32 (9th pin from the top) when Pin 30 is RUN (11th pin from the top)
    Reply