A tiny hackable dev handheld with RP2040 at its heart ❤
PicoSystem is a pocket sized handheld games console, built around Raspberry Pi's RP2040 chip (that's the little fella that's the core of a Raspberry Pi Pico).
We've taken these lucky bits of silicon to the component spa and treated them to the full works: a big chunk of flash memory, a vibrant 240x240 screen and a nice D-pad and buttons picked out by our most particular arcade enthusiasts. There's also a piezo speaker for discreet retro bleeps and chirps and a rechargeable LiPo battery so you can take your homebrew games on the bus.
The finished product looks and feels great - so we couldn't resist going all out on the build quality by adding a custom matt black anodised aluminium case with a handy wrist strap.
We think RP2040 has tons of potential as an experimental gaming platform, and we're really looking forward to seeing what folks create.
- Powered by RP2040 (Dual Arm Cortex M0+ running at up to 133Mhz with 264kB of SRAM)
- 16MB of QSPI flash supporting XiP
- 1.54" colour SPI IPS LCD (240 x 240 pixels)
- D-pad and buttons
- 525mAh LiPo battery (should be good for at least 6 hours of on-time)
- Piezo buzzer/speaker
- On/off power button
- RGB LED
- CNC milled aluminium case *swoon*
- Wrist strap
- Programmable and rechargeable via USB-C (cable not included)
- Comes fully assembled.
- C++/MicroPython API
Want to try out some pre-built games while you wait for inspiration to strike? Give these a go!
- Super Square Bros. by Scorpion Games - A bouncy quadrilateral platformer.
- Dots - Dot popping puzzler. Create chains of two or more and race to get the biggest score.
- Rocks and Diamonds - Classic game of dodging rocks and grabbing diamonds.
- Geometry - Smash up space boulders with lasers to make smaller space boulders!
- Rainbow Ascent - The Dark Souls of procedurally generated vertical jumping puzzles. Good luck.
- Super Blit Kart by Daft_Freak - A "Mode7"-based racing game.
To get into bootloader mode so you can flash a new .uf2, turn your PicoSystem on whilst holding down the X button - it should then show up as a drive called RPI-RP2 on your computer.
PicoSystem ships flashed with the mighty Super Square Bros. by Scorpion Games - if you like it as much as we do check out their itch.io page and show them some love.
As PicoSystem is RP2040-powered, you've got an array of options for making your own games. Here's a quick rundown!
Our official PicoSystem API is available in C++ and MicroPython flavours. It's designed to be lightweight, easy to use and to stay out of the way while you're developing games.
- PicoSystem API
C++ and MicroPython getting started
- Download latest MicroPython firmware
Make simple games in CircuitPython using the Stage library (thanks to deshipu!).
It's also possible to use the fully featured 32blit SDK and C/C++ to make games for PicoSystem, thanks to the efforts of the 32blit community. Developing with the 32blit SDK means you can compile your games for multiple platforms (currently Linux, Windows, macOS, 32blit and PicoSystem) - great for if you want to share them on itch.io!
- Dimensions: 96.6 x 42.7 x 15.5mm (L x W x H, including buttons)
- There are broken out debug pins on the PCB for if you want to program PicoSystem with an external debugger but you'll have to remove the case (with the screws on the back) to get at them.
- If you want to have a look at PicoSystem's insides without having to take yours apart take a look at HackSpace's dissection report.
- Check out ETA Prime's review for unboxing, teardown and gameplay footage!
Raspberry Pi's RP2040 microcontroller is a dual core ARM Cortex M0+ running at up to 133Mhz. It bundles in 264kB of SRAM, 30 multifunction GPIO pins (including a four channel 12-bit ADC), a heap of standard peripherals (I2C, SPI, UART, PWM, clocks, etc), and USB support.
One very exciting feature of RP2040 is the programmable IOs which allow you to execute custom programs that can manipulate GPIO pins and transfer data between peripherals - they can offload tasks that require high data transfer rates or precise timing that traditionally would have required a lot of heavy lifting from the CPU.