MicroPython is a full implementation of the Python 3 programming language that runs directly on embedded hardware like Raspberry Pi Pico. You get an interactive prompt (the REPL) to execute commands immediately via USB Serial, and a built-in filesystem. The Pico port of MicroPython includes modules for accessing low-level chip-specific hardware.
You can program your Pico by connecting it to a computer via USB, then dragging and dropping a file onto it so we’ve put together a downloadable UF2 file to let you install MicroPython more easily.
Download the correct MicroPython UF2 file for your board:
Documentation introducing working with Wi-Fi and Bluetooth on Raspberry Pi Pico W with C/C++ or MicroPython is presented in the Connecting to the Internet with Raspberry Pi Pico W book. Full details of supported Bluetooth protocols and profiles are Blue Kitchen BTStack Github repository.
|MicroPython distributions for other RP2040-based boards are available on the MicroPython download page.
Then go ahead and:
Push and hold the BOOTSEL button and plug your Pico into the USB port of your Raspberry Pi or other computer. Release the BOOTSEL button after your Pico is connected.
It will mount as a Mass Storage Device called RPI-RP2.
Drag and drop the MicroPython UF2 file onto the RPI-RP2 volume. Your Pico will reboot. You are now running MicroPython.
You can access the REPL via USB Serial.
|If you are using an Apple Mac and running macOS Ventura there has been a change in how the Finder works which causes drag-and-drop to fail. This issue was fixed as of macOS Ventura version 13.1. Please see our blog post for a full explanation along with workarounds if you are unable to upgrade to the latest version of Ventura.
You can find information on the MicroPython port to RP2040 at;
- Raspberry Pi Pico Python SDK
A MicroPython environment for RP2040 microcontrollers
- Connecting to the Internet with Raspberry Pi Pico W
Getting Raspberry Pi Pico W online with C/C++ or MicroPython
- RP2 Quick Reference
The official documentation around the RP2040 port of MicroPython
- RP2 Library
The official documentation about the
rp2module in MicroPython
There is no direct method for software written in MicroPython to discover whether it is running on a Raspberry Pi Pico or a Pico W by looking at the hardware. However, you can tell indirectly by looking to see if network functionality is included in your particular MicroPython firmware:
if hasattr(network, "WLAN"):
# the board has WLAN capabilities
Alternatively, you can inspect the MicroPython firmware version to check whether it was compiled for Raspberry Pi Pico or for Pico W using the
>>> import sys
(name='micropython', version=(1, 19, 1), _machine='Raspberry Pi Pico W with RP2040', _mpy=4102)
So if the 'Pico W' string is present and in
sys.implementation._machine that can be used to determine whether your firmware was compiled for Pico W.