book collections email follower instructable user

This instructables show how to use a 1.3" Retina grade IPS LCD HAT to make a tiny RetroPie Zero.

Step 1: Preparation

RPi Zero

Both Raspberry Pi Zero and Raspberry Pi Zero W is ok. WiFi version can make subsequent setup easier but in contrast it may draining more power continuously, i.e. shorter battery life.


Waveshare released 2 LCD HAT for RPi Zero, both have a tiny square LCD. The newer version have a 240 x 240 1.3" IPS LCD. It is 261 PPI and within the apple defined retina display range (218 - 458 PPI). This resolution is capable to emulate many retro game console in the CRT TV age, e.g. NES at 256 x 240 resolution, we can cut 8 pixels from both left and right overscan area and make it become 240 x 240.

Pin Header

To closely fit for the Waveshare 1.3" LCD HAT, it require a 8 mm tall 2 x 20 pins header. But I cannot buy one with 8 mm tall, so I will modify from a 12 mm tall pin header.

LiPo Battery

The interior size between RPi and LCD HAT can fit for a 5 mm x 23 mm x 45 mm battery, any LiPo battery with protection circuit that within this dimension should be ok.

Tiny LiPo Charge Board

I have some 10 mm x 10 mm tiny 5 V LiPo charge board in hand. It is small enough for this project, but the limitation is it only can charge the battery up to 50 mA current. A 400 mAh battery require over 8 hours for fully charged.

Power Switch

A tiny power switch.

Wrist Strap

Since this Game pad is so tiny and easy to slip from hand, it is recommended wearing a wrist strap while playing it.


The 3D printed case require four 14 mm M2.5 flat-head screws for assembly.


seBASTARD1 month ago
for some reason my screen stays blank and it seems to output to hdmi (my tv cant handle the resolution though. i don't see anything but get a low res warning)
Any hints on where i can locate the problem?
Dou you by chance have a prebuild image for this?
got it to work by adding "fbcp &" to /etc/rc.local above the word “exit” at the end of the file. but the display looks weird. is that a misconfiguration or is the display broken?
i could fix it. according to i did edit the /etc/modprobe.d/fbtft.conf with speed=40000000 instead of 125000000 looking good now
seBASTARD2 months ago
Your connection summary of power circuit does not match the pictures at all
陳亮 (author)  seBASTARD2 months ago
It is the same, remember the pin layout of the flipped Waveshare board also flipped.
seBASTARD 陳亮2 months ago
I forgot that. sorry
pinspin3 months ago
Dear Sir.

Nice work. I followed your instructions but for example the game 1942 I cannot see to complete screen, there are black bars at the sides. If I put "rotate=1" in "config.txt" I get image complete (like your video) but it is rotated 90º. How can do it to get a complete image wihtout "rotate=1"?
I´m using only Mame emulator.

Thanks in advance
patjacobs3234 months ago
What lipo battery did you use for you project because I can't find the lipo battery?
陳亮 (author)  patjacobs3234 months ago
Any Lipo with size 5 mm x 23 mm x 45 mm is ok, I think the one in the photo is a 502035.
Nochii6 months ago
If I want to add sega Megadrive roms into system. Can you guide how to map the "c" button? (Megadrive have 4 buttons A,B,C and start this quite suit for this thing)
陳亮 (author)  Nochii6 months ago
You can reconfigure the input in emulation station setting menu.
Nochii 陳亮6 months ago
menu is too small but never mind i can config via shell :) thank for answer.
now i move to 1.54" HAT
EbamE Nochii6 months ago
Trouble is I can't find the charging board you used and the ones that are available are nearly twice thed size and have a usb port.... Thats why I asked you what you used!
Nochii EbamE6 months ago
EbamE6 months ago
Simple question

WHAT charging board did you use?
陳亮 (author)  EbamE6 months ago
If you cannot find the charge board in the photo, any 5V Lipo charge board should be ok.
EbamE 陳亮6 months ago
Trouble is I can't find the charging board you used and the ones that
are available are nearly twice the size and have a usb port.... Thats
why I asked you what you used!
陳亮 (author)  EbamE6 months ago
you may try to google “easy chip charging board”
EbamE 陳亮6 months ago
Brilliant!!!!! Thank you for the link...
About how much will this cost
陳亮 (author)  thechallenger3466 months ago
The main cost is RPi0 and Waveshare 1.3” LCD HAT
DavidC13117 months ago
It's a great guide for building a game consle. I really appreciate your sharing. I got one 1.3 inch st7789vw tft screen. It's probably the same driver that apply on waveshare hat. I follow your guide setting the screen and install fbcp. When restart the retropie, the screen can show the process boot to the emulation well. However, it turned to flickering random pixels when it should be showing retropie main menu. I really need your suggestions. Thanks~
陳亮 (author)  DavidC13117 months ago
Hi DavidC1311, I have push the RPi run SPI at max speed by "speed=125000000". The SPI speed is very depends on the chip support and wiring quality. you may try to lower the speed to 40000000.
Gawron100017 months ago
I've found a problem, after typing

/etc/modules spi-bcm2835 i see acces denied

What can i do?
You need to edit the /etc/modules file. I use the nano editor instead of vi.

sudo nano /etc/modules

then at the end of the file put


thetaylors9798 months ago
I've followed the instructions and double checked them all but can't get the 1.3" screen to come up. The backlight works and it glitches just after I boot, but the screen is blank. I've tried on 2 pi zeros and 1 pi 3. Any ideas for debug?
Once I had the pi online, I did the following to get it to work. Nice work 陳亮!

sudo apt-get install cmake git
cd ~
git clone
cd rpi-fbcp/
mkdir build
cd build/
cmake ..
sudo install fbcp /usr/local/bin/fbcp

sudo nano /etc/rc.local
add fbcp& just before exit 0 (example below)

exit 0
陳亮 (author)  thetaylors9798 months ago
Hi thetaylors979, yes it require cmake to compile fbcp. Latest RetroPie image (4.4) already installed it. If you are using another image, you may require install it manually.
Yes, I pulled RetroPie is v4.4 – released April 14, 2018 and followed your instructions. I'm not sure why it wasn't working. I didn't get any error, except I had to run sudo cmake when using your instructions. After it wouldn't work, I just followed the instructions which I posted which were straight out of the Waveshare user manual and then it worked. I'm not sure why.

Again, great instructable. I'll post some pics when I have my together! Thanks!
Gawron100018 months ago
I actually wanted to build the same thing, just ordered the parts so your guide will be helpfull.

But i have question, can lipo battery be overheated by rpi0? Or you think that's not possible
陳亮 (author)  Gawron100018 months ago
Here is winter now and not so hot after turned on over an hour. May need further test in Summer time.
Thorondor958 months ago
I personally would replace the ball-shaped joystick with a flat thumbpad. This would decrease the vertical profile and make it more durable, so you might even be able to fit it in a wallet.
陳亮 (author)  Thorondor958 months ago
If you tried this tiny board, you will know why it need a ball shape to control it well. FYI, the ball is only 7 mm in diameter and only around 3 mm taller then the original stick.
Thorondor958 months ago
Concerning the software, is this a full emulator of Super Mario Bros., or is it just a simplified version? I have seen devices similar to this in size, and they only had enough processing power to run a 3-fps animation of Mario jumping.
陳亮 (author)  Thorondor958 months ago
Hi Thorondor95, I am using latest RetroPie image and I think it can emulate most NES game well. As mentioned in article, the number of buttons limited it cannot emulate the console with more then 4 buttons, e.g. SNES. And also no sound yet but the circuit is ready, it just because no room for it. About the FPS, using fbcp can have 1x fps, not as smooth as 30 or 60 fps but already good enough for NES game.
Is there anyway to add in sound? Even a headphone jack would greatly increase the coolness of this project.
陳亮 (author)  BrownDogGadgets8 months ago
Yes it can, it just no room to add extra parts. If it has a new version of LCD HAT builtin this feature is great!
Strato_caster8 months ago
Awesome project! Where is the charging port? How do you charge the lipo?
陳亮 (author)  Strato_caster8 months ago
The charge board direct connected to RPi 5 V pin, simply plug the RPi is charging the battery.