Banana Pi’s BPI-Pico-RP2040 is a cleverly designed iteration of Raspberry Pi’s Pico design. Experience gained over the course of two years allowed the Banana Pi team to present their own idea of a RP2040-based development kit. We’ve received our unit from the manufacturer for review purposes.
Specs of Banana Pi BPI Pico RP2040
It’s worth noting that in just over two years since its January 2021 release, the RP2040 netted itself quite a lofty market position. Even though it’s based on the ARM Cortex M0+, a decade-old platform, it has many specific peripherals and unique features which set it apart from the droves of M0-based systems releasing as of recent – look at some of Ti’s new MSP chips (MSPM0G and MSPM0L series) or ST’s STM32C0 chip series, to name but a few.
However, as we stated a moment ago, Raspberry Pi did something special with the RP2040. It’s the only (at least known to us) dual-core purely Cortex M0+ chipset. It operates at a nominal 133 MHz, but overclocking is possible. Aside from the two cores, there’s the PIO state machines which are a real treat! What the RP2040 doesn’t have, though, is on-board Flash for storing code. This is usually done by attaching an external QSPI Flash chip which is connected to the RP2040 via pins 51 through 56. Code is executed straight from this chip by utilising XIP technology, mitigating the need to load code into RAM before execution.
QSPI is fast, but not as fast as an internal MCU bus. This external solution definitely impacts performance, but it’s dubious how much this affects real-world performance. Large internal memories have been a traditional chip design problem for a while now. Some MCU series were pulled from production because of manufacturing and reliability issues, even though they offered impressive specifications – memory speed and size-wise. By offloading the Flash from the chip, Raspberry Pi alleviated a significant pain point, ensuring smooth and secure performance.
Banana Pi BPI Pico RP2040 performance benchmarks
The Banana Pi team, basing their design on the established first-party Raspberry Pi Pico dev board, has released a board in a similar form factor (similar, but not quite – it’s 5 mm longer than the design it draws upon), keeping the GPIO configuration unchanged. Their board, dubbed the Banana Pi BPI-Pico-RP2040 features the latest revision RP2040-B2 chip. This puts it on par with the latest revision Raspberry Pi Pico boards – and indeed, the performance of these two is absolutely on-par with each other.
Hardware look and feel
There are some key differences between the boards, which can be summed up in four sentences:
- The Banana Pi BPI-Pico-RP2040 board is a lovely dark-grey-on-gold design, which gives it a regal feel
- Banana’s board also does away with micro USB and switches over to USB-C, finally
- There’s an onboard WS2812 RGB LED, meaning Neopixel examples should work from the get-go
- Intead of a debug header, the bottom edge of the board feature’s JST’s SH connector which allows directly connecting Qwiic and STEMMA QT peripherals to the board.
It’s worth noting that the RP2040 natively supports I2C, SPI and UART, but that additional interface options can be hand-coded using the PIO state machines. Even HDMI ports can be added in this fashion. It’s easy to find I2S protocol implementations for the state machines as well, for example, or even SD card interfaces, just to name a few.
A large number of GPIO ports enables complex projects full of parallel interfacing options and direct control of hardware. All of these characteristics of the RP2040 along with excellent solutions made by the BPi team make us recommend the Banana Pi BPI-Pico-RP2040 to makers. It’s an improvement of the original design in several fields and is a better choice overall, we feel.
What this board lacks is WiFi/Bluetooth support. This is something the Raspberry Pi Pico W has (Bluetooth’s been enabled in a recent SDK update). However, there are more contenders when choosing your ideal wireless “Pico format-like” dev board, like Banana Pi’s own BPi-PicoW-S3, powered by a 240 MHz Tensilica LX7 ESP32-S3 dual-core processor, equipped with 2.4 GHz WiFi and Bluetooth 5.