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 anodized aluminum 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.
Features
Powered by RP2040 (Dual Arm Cortex M0+ running at up to 133Mhz with 264kB of SRAM)
16MB of QSPI flash supporting XiP
1.54" color 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 aluminum case *swoon*
Wrist strap
Programmable and rechargeable via USB-C (cable not included)
Comes fully assembled.
C++/MicroPython API
Schematic
Games
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.
Software
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 flavors. It's designed to be lightweight, easy to use and to stay out of the way while you're developing games.
PicoSystem API
PicoSystem wiki
C++ and MicroPython getting started
API cheatsheet
Download latest MicroPython firmware
Make simple games in CircuitPython using the Stage library (thanks to deshipu!).
Download PicoSystem flavored CircuitPython
Stage library tutorial
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!
32blit SDK
32blit x PicoSystem getting started
Boilerplate template
32blit discord
Notes
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!
About RP2040
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.