Give your Raspberry Pi Pico project the capacity to chat with 2.4GHz Wi-Fi networks plus a handy microSD card slot!
Pico Wireless Pack attaches to the back of your Pico and uses an ESP32 chip to let your Pico connect to 2.4GHz wireless networks and transfer data. There's a microSD card slot for if you want to store lots of data locally as well as a RGB LED (for status updates) and a button (useful for things like enabling/disabling Wi-Fi).
Great for quickly adapting an existing Pico project to have wireless functionality, Pico Wireless Pack would come in handy for sending sensor data into home automation systems or dashboards, for hosting a web page from a matchbox or for letting your Pico interact with online APIs.
A Raspberry Pi Pico is not included - click here if you'd like to buy one. Your Pico will need to have male headers soldered to it with the pins pointing downwards (or grab one of our pre-soldered Picos).
- ESP32-WROOM-32E module for wireless connectivity (connected via SPI) (datasheet)
- 1 x tactile button
- RGB LED
- Micro-SD card slot*
- Pre-soldered female headers for attaching your Raspberry Pi Pico
- Fully assembled
- No soldering required (as long as your Pico has header pins attached).
- Compatible with Raspberry Pi Pico.
- Dimensions: approx 53mm x 25mm x 11mm (L x W x H, including headers and components)
- C++ and MicroPython libraries
We've added C++/MicroPython support for Wireless Pack to our Pico libraries and our custom MicroPython uf2 comes with wireless drivers for the ESP32 baked in. You can find C++ examples here and MicroPython examples here - there's a Cheerlights example that shows you how to make requests from an API, and one that sets your Pico up as a tiny HTTP server, accessible through your browser.
Alternatively, you can use Pico Wireless Pack with CircuitPython and Adafruit's easy to use ESP32SPI and Adafruit_CircuitPython_SD libraries. You'll need to alter their examples to use the correct pins:
spi = busio.SPI(board.GP18, board.GP19, board.GP16)
esp32_cs = DigitalInOut(board.GP7)
esp32_ready = DigitalInOut(board.GP10)
esp32_reset = DigitalInOut(board.GP11)
SD_CS = board.GP22
- * Please note that SD card support in the C++ SDK is still quite experimental - if you're planning on doing things with data you might have an easier time of it if you use CircuitPython!
- The cuttable traces on the back let you disconnect functions that you're not using, freeing up the pins and making it easier to use Wireless Pack with other add-ons.