Pico Wireless Pack
Give your Raspberry Pi Pico project the capacity to chat with 2.4GHz Wi-Fi networks plus a handy microSD card slot with this Pico Wireless Pack!
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).
Above all, 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.
Raspberry Pi Pico not included – click here if you’d like to buy one.
Features
- 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
* 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!
Getting started
The Pico Wireless is a pack, designed to attach to all of the GPIO pins of a Raspberry Pi Pico. It does not use all of the GPIO pins, but it does prevent access. As it is designed as a “pack”. It matches the footprint of the Raspberry Pi Pico perfectly and when connected we have quite a compact project platform.
The onboard ESP32-WROOM-32E is itself a powerful microcontroller, but for the Pico Wireless, it is demoted to co-processor duty in much the same manner as Adafruit’s AirLift FeatherWing. The ESP32 is capable of Wi-Fi and Bluetooth but in this configuration only Wi-Fi is available.
If you need to use some GPIO pins, then you will need a breakout, such as the Pico Omnibus. But you will need to ensure that you have no conflicting pins on your connected devices. Power for the Pico Wireless is provided by the Raspberry Pi Pico’s GPIO. Which makes for a simple and practical means for powering and programming the boards.
The onboard microSD card slot is a push-push mechanism. That is ready to fire your micro SD card across the room. A single push button (A) is a useful means for basic input and it is connected to GPIO 16. The only output is an RGB LED, again a useful addition for basic alerts / error handling.
Hardware is nothing without software. And Pico Wireless supports C++. And Pimoroni have their own MicroPython firmware that includes a “picowireless” module developed for use with the board. We tested this option via the example scripts and while they worked well, they were awfully verbose and relied on the user having an understanding of how networking works.
Software
Until an abstracted library is written, or we learn networking, the best means to use the Pico Wireless is Adafruit’s CircuitPython software. We used the same script that powered our Raspberry Pi Pico Wi-Fi project and only needed to change a few lines to tell our Pico where the ESP32 was connected and copy a few libraries to the Pico. The Pico was online in mere moments and receiving weather data from an online API. We adapted the code with an additional library that enabled the onboard micro SD card reader. Inserting a blank FAT32 formatted card and writing a few lines of CircuitPython, we quickly created a new file which held a log of the JSON data returned from the weather API. Data can also be read from SD using CircuitPython and used in your projects. The RGB LED is connected to the ESP32 via three pins (Red = 25, Green = 26, Blue = 27) and to use it we need to use esp.set_analog_write(). For example here are the lines to set the LED to red.
esp.set_analog_write(25, 0)
esp.set_analog_write(26, 1)
esp.set_analog_write(27, 1)
We can use values between 0 and 1 to control the color of the RGB LED.
Finally we tested the push button, connected to GPIO 12. We pulled GPIO 12 high, and when pressed the button connects the pin to GND, effectively pulling the pin low and triggering an event in our code.
Use Cases for the Pimoroni Pico Wireless
Wi-Fi on the Raspberry Pi Pico opens up a whole new world of Internet of Things (IoT) applications. Pico Wireless enables our humble Raspberry Pi Pico to communicate with devices using typical network protocols and others such as MQTT. The CircuitPython library has support for basic HTTP, creating access points and sockets. In our demo we check the HTTP response from the API and print the value to the REPL, useful for debugging connection issues.
Pico Wireless is ideal for adding to a data monitoring project, collecting data from sensors, storing data to the micro SD card and transmitting the data to a remote machine. If you have the skills then robotics over the Internet are possible using something like Anvil or Flask on another machine as a means to communicate with the Pico.
Pinout
Simply click here to add this great item to your cart now
For any questions you can email us at [email protected]