There are now a slew of RP2040 powered boards on the market. From the smallest, Adafruit’s QT Py RP2040 and Pimoroni’s Tiny 2040, to the largest, Adafruit’s Feather RP2040 and our Editor’s Choice Cytron Maker Pi Pico. The Raspberry Pi Pico itself is a $4 microcontroller, that offers lots of GPIO pins and a programmable IO which can be used to simulate many types of interfaces, even full retro computer systems.
The Raspberry Pi Pico form factor, a DIP package, is at home in a breadboard, protoboard or surface mount soldered into your project, and Pimoroni’s $17 Pico LiPo shares that same form factor but adds many more features. The board is three times the price of a typical Raspberry Pi Pico, but that extra money is well spent as it provides a drop in replacement for an existing Pico project with added features such as battery charging, a USB-C port, 16MB of Flash memory and a Stemma QT / Qwiic connector. All of these extras make this board a joy to use. And use it we did!
Pimoroni Pico LiPo Hardware Specifications
System on Chip | RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom. |
Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz. | |
264KB of SRAM, and 4 / 16MB of on-board Flash memory | |
GPIO | 26 × multi-function 3.3V GPIO pins |
2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels | |
1 x User LED (GPIO 25) | |
8 × Programmable I/O (PIO) state machines for custom peripheral support. | |
Stemma QT / Qwiic connector | |
SWD debug breakout | |
Castellated module allows soldering directly to carrier boards. | |
Power | USB C for data and power |
2 pin JST connector for LiPo / Li lon batteries. Onboard battery monitoring and LED status indicator. |
Design and Use of the Pimoroni Pico LiPo
Image 1 of 3
Image 2 of 3
Image 3 of 3
Pico LiPo works great with MicroPython. Pimoroni have their own spin which comes with modules for the range of boards. To get the best from Pico LiPo we need to use CircuitPython, especially when using Stemma QT / Qwiic components. If you really need MicroPython, but want to use Stemma QT / Qwiic devices then you can try our Adafruit’s latest project which merges the two. Pimoroni even has a download ready to go which works with the Pico LiPo.
Pimoroni’s Pico LiPo is the Raspberry Pi Pico on steroids. It shares the same size and form factor along with the same GPIO pinout, but we also get battery charging, Stemma QT / Qwiic and a toggle power button. The most important feature on this board is the battery charging. Controlled using an MCP73831 charge controller, it uses a steady 215mA charging current which easily charged our LiPo battery as we tested the board.
The XB6096I2S battery protector prevents the battery from straying into voltages which may harm its health. There is no MicroPython or CircuitPython module for monitoring the battery in code, but GPIO 24 is used to detect charging, and GPIO 29 can be used to monitor the battery voltage. This does mean that we only have three analog inputs, the same as the Raspberry Pi Pico but less than Adafruit’s Feather RP2040. The sacrifice of an analog input is worth it when we consider that the pin can be used to monitor our battery status, a key feature of Pico LiPo.
A great feature of the battery is that it can act as a basic UPS. Our project can be powered via the USB C interface, but should the power drop out, it switches to battery with zero downtime. Pico LiPo shares the same GPIO as the Raspberry Pi Pico which means we get all the pins, unlike other boards such as Adafruit’s Feather RP2040. But what the Pico LiPo shares with Adafruit’s and SparkFun’s boards is a Stemma QT connector (Qwiic on SparkFun boards) which makes connecting compatible devices exceptionally easy.
Stemma QT / Qwiic is really a bespoke breakout for I2C devices, and both Adafruit and SparkFun have a slew of compatible components such as temperature sensors, screens and capacitive inputs. Using our trusty MPR121 12 point capacitive touch sensor and the latest version of CircuitPython 7 for the Pico LiPo, we quickly hacked up a demo to test the Stemma QT connector.
Everything worked splendidly and we can see Stemma QT / Qwiic being adopted by many makers. Just next to the Stemma QT / Qwiic connector is a three pin JST-SH connector which breaks out the three debug pins, typically at the base of the Raspberry Pi Pico. These pins are used to pull data from a running RP2040 without cluttering the default UART port. Using these pins and another Raspberry Pi Pico as a debug host we can interactively work with the SRAM, CPU and memory mapped IO directly from our chosen development environment. If you are building mission critical RP2040 applications, then this is a key feature. For most of us, this is a fun feature to explore.
The power button is a toggle switch. That may not sound exciting straight away, but hear us out. The power button can fully turn off the board; it is not a momentary switch that merely resets the SoC. So in the field, with a battery powered project, we can conserve battery by simply pressing a button. When we need the board, press the power button to restart your project. Simple yet effective.
The BOOT button is normally used to put the Pico LiPo into a mode where the firmware can be installed, but Pico LiPo can also use that button in your code, a trend started by Pimoroni’s Tiny 2040 board. There are three LEDs present on the board, power (lightning icon), battery charging status (battery icon) and a user LED (exclamation point) connected to GPIO 25. All of these LEDs offer an at-a-glance status update.
As we mentioned earlier, the Pico LiPo shares the same pinout, and castellations as a Raspberry Pi Pico which means we can drop this board into an existing project and benefit from the extra features present on the board. We tested this by reusing our CircuitPython weather station project along with Pimoroni’s Pico Wireless pack. It worked exceptionally well and we queried the API, returned the data and stored it to the micro SD. We tested the project on battery, with a green LED informing us that the data collection was complete, and it worked with no issues.
Use Cases for the Pimoroni Pico LiPo
Pico LiPo provides the power of the Raspberry Pi Pico, and gives us so much more. The battery features alone make this board worth the money. Expect to see this board in portable projects such as props (NeoPixel lightsaber?), data collection projects using sensors and when joined to the Pico Wireless we have a battery powered Wi-Fi enabled data collection device. Pico LiPo would also be useful in robotics projects but an external power source would be needed for the motors and motor controller as the GPIO can only provide 3.3V at a maximum 600mA.
Bottom Line
Pimoroni’s Pico LiPo costs more than a typical Pico, but for the extra money we get a fully featured product. We get the power of the RP2040, all of the GPIO pins and icing on the cake are the Stemma QT / Qwiic connector and battery charging. This is a truly excellent board that should be in your projects!