Viewed 23 times
Pi Pico W datasheet states:
3V3_EN connects to the on-board SMPS enable pin, and is pulled high (to VSYS) via a 100kΩ resistor. To disable the 3.3V (which also de-powers the RP2040), short this pin low.
RUN is the RP2040 enable pin, and has an internal (on-chip) pull-up resistor to 3.3V of about ~50kΩ. To reset RP2040, short this pin low.
Which means that RUN resets the microcontroller and 3V3_EN powers it off. Practically (in application) both sound to me as they will only reset the microcontroller. I tried also using both pins and haven’t noticed any difference in the behavior: microcontroller starts over, once the pin is released (i.e. pulled up again).
So, the question is, what is the practical difference between using RUN pin or 3V3_EN in applications?
17688 bronze badges
- Rpi Pico W Datasheet – rpi datasheets.raspberrypi.com/picow/pico-w-datasheet.pdf 2.1. Pico W pinout 3V3_EN connects to the on-board SMPS enable pin, and is pulled high (to VSYS) via a 100kΩ resistor. To disable the 3.3V (which also de-powers the RP2040), short this pin low. RUN is the RP2040 enable pin, and has an internal (on-chip) pull-up resistor to 3.3V of about ~50kΩ. To reset RP2040, short this pin low. – tlfong01 yesterday
- (1) 3V3_EN is to enable the on-board SMPS. I always leave it High. (2) RUN is to reset the RP2040. I also always leave it High, except from time to time, when I want to reset Pico., – tlfong01 yesterday
- 1(3) So, if you like, 3V3_EN is hardware power off/on reset, RUN is software reset. – tlfong01 yesterday
- 1What will be the practical difference between software and hardware reset for Pi Pico then? – Vadim 23 hours ago
- References to POR (Power-on Reset): (1) Power-on reset – Wikipedia en.wikipedia.org/wiki/Power-on_reset (2) Power-on Rreset and related supervisory functions – MaximIntegrated maximintegrated.com/en/design/technical-documents/app-notes/3/… – tlfong01 5 hours ago
- MicroPython Reset Functions docs.micropython.org/en/latest/library/machine.html (1) machine.reset() Resets the device in a manner similar to pushing the external RESET button. (2) machine.soft_reset() Performs a soft reset of the interpreter, deleting all Python objects and resetting the Python heap. (3) machine.reset_cause() Get the reset cause. See constants for the possible return values. (4) machine.bootloader([value]) Reset the device and enter its bootloader, typically used to put the device into a state where it can be programmed with new firmware. – tlfong01 4 hours ago
- Rpi PicoW 3V3 En Schematic: imgur.com/a/gBluUTJ – tlfong01 42 mins ago