OTES - Portable Retro CRT Game Console




Introduction: OTES - Portable Retro CRT Game Console

About: Try again. Fail again. Fail better

OTES (One-Thumb Entertainment System) is a Raspberry Pi powered, retro-inspired portable CRT Game Console which has only one button. It's running PICO-8, a fantasy console. And It's based on a stand-alone cartridge firmware meaning that it will boot directly to the game on the SD card like a GameBoy. So SD cards can be used as cartridges.

Currently, It has one game called ODEF(Ocean Defender) developed by me and my friends.(You can play it here) And I hope there will be many others as people develop games that can be played with only one button on this platform.


In the first step, I'll talk about the Idea&Inpiration behind this project, later I'll give you a list of the things you'll need to build this on your own. Then I will talk about Fantasy Consoles, After giving you a step by step assembly guide I will end this Instructable with a troubleshooting guide.

Step 1: The Idea

My gaming journey began with the GameBoy Advance SP. And with time other versions joined my collection. It has been 13 years since I got my first GameBoy and I still enjoy playing it to this day. I think the main reason for that is the aesthetics created by the limitations of the hardware.

While I was searching for a GB emulator on the internet I came across PICO-8. which is an emulator for a console that does not exist, called Fantasy Console. So what is a Fantasy Console?

It's basically a virtual console with a development environment. The console is designed to be limiting like 8bit retro computers. In case of PICO-8, the display is limited by 128x128 pixels, disk size by 32k etc.(more details on step 3.) Developers building games using this platform can share/play their games and many others on the internet. You can explore some here.

While I was trying to learn game development in this environment I came up with the Idea to build fantasy hardware for this fantasy console. Also adding some limitations to the hardware. like a 'one button' input.

Step 2: Tools & Parts


  • 3D printer (optional)
  • Soldering Iron
  • Jumper cables


  • CRT viewfinder (details on next step)
  • Raspberry Pi Zero
  • Arduino Micro
  • 9V Battery
  • DC-DC 5V step-down voltage regulator
  • Pushbutton
  • On-Off Switch
  • 3 x (20mm M3 bolt & nut)
  • 4 x (8mm M3 bolt & nut)
  • 3 x (5x5mm M3 heat insert)
  • 1 x (3x5mm M3 heat insert)

3D Printed Parts :

  • Base
  • Lid
  • Hand Piece
  • Knob
  • Rail
  • Rail Holder

Note: All part files are on step 8.

Step 3: Fantasy Console

In this step I will get into some detail on the Fantasy Console we will be using called PICO-8. And how to set up your raspberry pi Zero.


The pico-8 environment has everything in it to develop a game from scratch:

  • A lua code editor.
  • Sprite and tile creation tools.
  • Map editor.
  • Sound effect and music editor.

You can get PICO-8 here.

Here is a video by Dylan Bennett that shows how easy it is to create games using PICO-8:

If you want to develop your own games, here are some tutorials to get you started with game development using PICO-8:

PICO-8 Game Dev. for Beginners Series - by bridgs

PICO-8 Fanzine #1

Setting up your ZERO

We will be using PICOPi which is a stand-alone, corruption resistant cartridge firmware which uses an sd card to act as a cartridge (like a Gameboy). The Raspberry Zero will directly boot into the game on the SD card, so you can create different cartridges for different games.

You can follow this guide to create your SD card:

Step 4: CRT Viewfinder ​Disassembly

The most important thing first. You have to find an old camcorder which has a CRT viewfinder. It's usually easy to tell if a camcorder has a CRT viewfinder since it's a bulky part sticking off the side of the camcorder. I found this viewfinder on an old JVC camcorder which I bought from the flea market. To test the viewfinder I used a 9v battery to power up the camcorder. There was no image on the viewfinder but I got a static white noise which is enough to tell if the viewfinder works. Now It's time to disassemble it and find the composite cable.

Finding the Cables


First you need to find the (+9V) and GND cables. It's usually obvious, red being (+) and black being GND. If not, try to use a multimeter to measure the outputs while the camcorder is connected to power.


The second cable you need to find is the composite video input. Which you'll use to get the video signal from your Raspberry Pi to the CRT. Usually, it is the yellow colored cable but if you are not sure, try to connect the cable to your raspberry pi.

Now mark the cables and you are done!

Step 5: Assembly - Electronics

For the first protoype you don't have to use a soldering Iron. I strongly recommend you to use jumper cables, so you can change any component if it isn't working properly.

Raspberry Pi Zero

The raspberry pi zero runs pico 8 firmware and displays it on the CRT via the Composite output on it. two cables from the CRT(composite(+) and GND) are connected to the raspberry pi.

Arduino Micro

The arduino micro acts like a keyboard to the raspberry pi. when the button is pressed it passes the signal as the "z" key on the keyboard. To do that first you have to upload this basic sketch to the arduino micro:

#include <keyboard.h><br>int buttonPin = 9;  // Set a button to any pin </keyboard.h>void setup()
  pinMode(buttonPin, INPUT_PULLUP);  // Set the button as an input
} void loop()


if (digitalRead(buttonPin) == 0)  // if the button goes low


Keyboard.press('z');  // send a 'z' to the computer via Keyboard HID     // delay so there aren't a kajillion z's


Voltage Regulator

The Raspberry Pi does not have a voltage regulator on it. Thus the 9V from the battery can fry the board. This is why you have to use a voltage regulator to output the voltage to 5v which is the raspberry pi input voltage.


Step 6: First Prototype & Test

Plug in the SD card you've prepared to your Raspberry Pi and power it up! You should see the booting screen of PICO-8.

If you don't have a 3D printer you can use the CRT Viewfinder case with rubberbands to hold the Raspberry Pi ZERO on it. Before I've built the 3D enclosure I used it as seen on the picture.

If you are having problems go to the troubleshooting section at the end of this project.

Step 7: 3D Print

I recommend you to print all pieces before assembly. It will be much easier to assemble with every piece on your reach.

The printer I used is the TEVO Tornado with the following settings:

  • Nozzle: 0.4mm
  • infill: %20
  • Filament: PLA

Step 8: Assembly - Case

Step 9: Soldering

Detailed comments are available on the images.

I recommend you to use heatshrink on the cables to prevent short circuits.

Step 10: Final Assembly & Test

Fit the CRT in to the box gently with the 9V battery. Before closing up the box test the setup and check if it's still working.

You're done with the build now it's time to test it!

Step 11: Troubleshooting

- There is no image visible on the CRT

Many CRT's have their own contrast/brightness potentiometers on them. You can use a small screwdriver to set these to get a clearer image

- Raspberry Pi is not booting

The SD card may be corrupted you can format it on your PC and start a fresh install of your cartridge

- The Case is wobbling

You heat inserts can get detached from the case make sure they are sturdy. If not, use your soldering iron to secure them into place.

Step 12: What's Next

In this step, I will list some things I had in my mind. Feel free to add more Ideas or ways to improve this project in the comments:

A few ideas:

  • Create a more portable case. So it can be attached to your belt etc.
  • Attach a mini-speaker for sound
  • Adding a color CRT for more range of colors!
  • Create custom cartridge boxes

This is not a finished Project. I hope many of you try to build their own consoles so we can develop this together.

If you have any questions ask away! & tell me about your build!

Pocket Sized Contest

Grand Prize in the
Pocket Sized Contest

Be the First to Share


    • Origami Speed Challenge

      Origami Speed Challenge
    • Electronics Contest

      Electronics Contest
    • Make It Modular: Student Design Challenge

      Make It Modular: Student Design Challenge



    2 years ago

    I really like projects that are able to make use of actual parts from other/older electronics. Especially retro gaming electronics , I love old camcorders as well, so many useful interesting little parts. When VR started becoming a thing it was about 1991, that was the first group VR Arcade game. The first gaming VR headset in the consumer market that I can remember was in 1993 Sega VR Glasses. Really the Nintendo VirtualBoy is where I am aiming with this comment. Both headsets showed here https://nimb.ws/RUJj42. It has two separate lenses , If you could get an original Nintendo VirtualBoy and put this project inside that would be awesome. Or even if you 3D printed a headset that looked just like the Virtualboy it would look really amazing. The original Nintendo project was a Red and Black image , in every game. It was not easy on the eye, hard to play for long lengths. Plus the headset itself was probably 15lbs . With the small OLED screens available today you could make this idea so much better and keep the retro feel. Or you could stay true to the mini CRT's and just two , with the same source input. Hope to see my suggestion come to fruition. Still , great job here , looking forward to seeing more , will continue following the project..... Make this into a wearable headset , with handheld controls (more buttons) , as a tribute to early gaming headsets ,

    Suraj Grewal
    Suraj Grewal

    Tip 2 years ago

    I wouldn't give 9v straight away to my crt driver....Mine works at 4.5v...if it's any higher than 5v, it fries itself.


    3 years ago

    Yes it’s beautiful, But does it play duck hunt with the NES gun? The NES gun Will only work with CRTv


    Reply 3 years ago

    Well, it needs a mini NES gun to do that, maybe I'll build one in v2.0 :D


    3 years ago

    Oh wow, i had this idea as well a while ago, but i wanted to use these tiny CRT tubes inside a mini arcade :D I just couldn't figure out how to fit it into a small form factor together with a LiPo etc. Your approach looks very straight forward and the result is really cool! :D


    Reply 3 years ago



    Question 3 years ago

    I like the project ! But have a big question... Why Arduino ? There is gpio on the raspberry, so I don't understand that choice.
    (If I had your talent (or hard work courage) I will made one but with thumb and index buttons)
    Bravo for the result !!


    Answer 3 years ago

    Thank you! Great question. You are right, there are some ways to simulate keyboard input with the GPIO pins on the raspberry pi(eg. using WiringPi and C). But the problem is "PicoPi", the standalone cartridge firmware on the pi. Since it's not using raspbian directly, I can't install libraries and write code like on a normal system. It has to be customized using buildroot(https://buildroot.org/downloads/manual/manual.html) which I'm not familiar with. That's why I used the Arduino micro as a shortcut!


    3 years ago

    love this! I hope you win.