Behold, The worlds smallest Pi based gaming device!!

So as you may know, I have a bit of an obsession for making things as small as i can. Now my last project was pretty small, the height was restricted by the height of the Pi zero, and the width was restricted by the width of the screen.

Now this works well, but it wasnt without its limitations. Firstly the controls were not perfect. using a 5 way navigation switch for the actions works, but it is not ideal, especially when you need to press more than one button at once.

So I decided to move to buttons, and while i was at it, try and reduce some of the excess bulk to the device.

while trawling the internet i cam across Pico-8 which is a goldmine of retro games and fun. One of the limitations of Pico-8 is the screen size of 128×128 pixels. this conveniently matched some 1.44″ screens i have found while trawling the internet and the rest, as they say, was history!

so enough chatter, lets see what all the fuss is about

I didnt have access to any bananas, so a lego stormtrooper is standing in as my scale (a much more fitting scale if you ask me).  So lets have a look at what we have got…

up at the top is a ‘3 way’ navigation switch. Anyone old enough to remember the sony erricson phones of old might know this as a ‘jog dial’. This offers a left and right nudge, as well as a center press, all of which could be mapped to extra functions (maybe volume or such)

next down is the screen. This is 128×128 pixels, and only 1.44 inches in size, so is pretty small. You can see the Dank Tombs tecnical demo on the screen (i like to use this for battery tests)

Behind the screen are 2 piezo transducers (like the noise makers from musical birthday cards) giving a very quite and tinny version of stereo sound. This just helps to add to the games without being too noisy

You may recognise the 5 way navigation switch from my last gaming project. This gives a little joystick type input, with a centre click, which is mapped to the menu button in Pico-8 games

And this time we have actual buttons for the actions!! they are little rubber based tactile switches giving a nice click without being too noisy. Pico-8 games only really tend to have just 2 buttons so this is ideal

Finally at the bottom of the device is a simple power switch. The eventual goal will be to have a device like the old gameboy, where you can just flick the power on, play what you like and just flick it off without a care in the world. This is stil work in progress…

All this is mounted on a super skinny 0.8mm pcb, which is mounted directly to the back side of a pi zero w! this means that it really is super skinny!!

So all in all, I am convinced this is the smallest Pi based gaming device, until someone can prove me wrong and show me a smaller one!!


this project came about when i decided to try and build a gameboy advance with a pi zero in there. all the ili9341 screens you can buy have the connections on the end, which both get in the way, and stop you trimming them down!!

so i decided to make a better board for these screens, and while i was at it, i thought i may as well tack the Pi on the back too!!

the device could actually be used for anything. the 8 mounting points are drilled to make it easier to remove them if they are no needed, thus adding flexability.

the pins at the bottom of the board allow access to the 22 x unused gpio ports, 4 x 5v pins (in or out), 4 x 3.3v pins, and 8 x gnd pins (ignore the spare wire, thats to fix a fault in the board 😉 )


So i made a thing

couldn’t bear to take a working gameboy apart and chop it up, so i made something different. Ended up being a challenge of how small, and how few parts i could use to make a working device.

Parts count is 9 (10 if you count the pcb)
– pi zero
– TP4056 li-po charge/protect board
– tiny switch
– jst battery socket
– li-po battery (1000mah currently)
– 2.2″ ili9341 screen
– 2 x 5 way navigation switches
– smd resistor for backlight duties

all wrapped up on a custom PCB. the pi and the TP4056 are soldered direct to SMD pads, so there are no pins to get in the way (and it keeps things nice and skinny). This is just a first prototype. There is currently no sound, and no form of safe shutdown. The protection board will keep the battery from going too low, but it will just cut the power, so it needs to be avoided!! This version also has a bit of a boo boo, the switch actually disconnects the battery from the protection board, rather than disconnecting the protection from the pi, as a result, you have to plug a charger in when you want to switch it on (although only long enough for the protect board to reset)


Where it all began…

So i had been playing with raspberry pi’s for some time. And saw that people were starting to make handheld gaming devices from them.

I had been wanting to make a little Pi based handheld ever since the Zero came out, but couldn’t get my hands on one. When i finally got one I was stuck for ideas as to what kind of case i wanted, so i kinda made it without the case!!

I started off with a li-po battery I had lying around. I have measured it to be 2500mah, really thin, came out of an old power bank.

On the front, we have a cheepo 2.2″ spi screen (ebay special £6 ish), flanked by 2 stripboard button arrays.

on the back is the Pi Zero, a cheepo li-po charge/protect board, and a small arduino acting as a power switch (dfRobot uHex if anyone is intersted)



The spi screen isnt as bad as people make them out to be. Sure the process that copies the screen to the spi bus adds some overhead, and the gpio button bit probably adds some too, but i have not had any issues.

It plays gameboy/gameboy colour/NES/SNES/gamegear/mastersystem with ease.

N64 games run (slowly!!) but the buttons dont seem to work, so i used it as a battery life test, and just broke 10 hours!!!!

The only problem, its a bit on the fragile side!! 5 mins in the same pocket as anything metal and there will be fire!!!

Hello world!

I thought it was about time my projects got a place on the internet!!


The goal is to get a Pi Zero in your pocket. keep checking back for all the weird and wonderful ways i try to achieve that!