$99 DIY HDMI retro game emulator system (easy)

Kaido

Elite Member & Kitchen Overlord
Feb 14, 2004
48,411
5,270
136
This system is for people who want a compact, cost-effective, multi-emulation system with an easy interface. You can get more powerful results using a fast computer (especially for things like the Dolphin emulator), but this project is easy, low-power, and works more like an appliance than a computer. It basically gives you the ability to emulate arcade games & older console games like the Super Nintendo for around a hundred bucks. If you were ever into modded Xboxes (for the purpose of playing emulators), this is the same idea, just in an itty bitty little case with dedicated software.

It also has extra features like save states, which is the ability to freeze a game anywhere rather than just the save points (super useful if you keep dying at Koopa, without having to re-play the whole level!). Regarding the acquisition & legality of the games (ROMs), that is left up to you. There is a (small) variety of places to buy legal ROMs from. Some are public domain & homebrew. Nintendo has very specific verbage on ROMs of their products. This guide is simply to explain how to build the hardware & software system to support (legal) ROMs you already have in your personal collection. Skipping ahead:

TL;DR: You can build a vintage console emulator using a Raspberry Pi 3. In a nutshell:
  1. Buy a Raspberry Pi 3 kit ($75) & a 2-pack of USB SNES controllers ($12)
  2. Assembly the Pi & format the card with the latest image (requires a computer & a USB stick)
  3. Program your gamepads & load up your ROMs (optional: you may want a temporary or dedicated keyboard & mouse, such as a compact AIO Logitech K400 wireless keyboard with built-in touchpad for $29)
OK, so that's technically only $87...but $99 made for a catchier title :kissingheart: The basic idea starts with the Raspberry Pi 3 (Model B), which is a $35 SoC (integrated mini motherboard). It's a beefy little unit for the price: 1.2ghz ARM CPU, 1GB RAM, MicroSD slot, BT/Wi-Fi/Ethernet, HDMI/Minijack, (4) USB ports, and low power requirements (2.5A @ 5V via a Micro-USB port). The starter kit linked above for $75 from CanaKit includes all of the core hardware: the motherboard, a snap-together case & pair of heatsinks, an external wall-wart PSU, a 32gb MicroSD card & USB adapter, and even an HDMI cable. Great deal for the price, although you can save a few bucks if you already have some of the bits & pieces & just buy the motherboard to start out with. Lots of other cool case options available as well (including clear cases, mini NES cases on Etsy/eBay, and custom 3D-printed case).

So that's more or less it it for the core hardware...you plug it into your TV/projector/monitor via HDMI (which supplies sound as well, unless you want to use some computer speakers, in which case you can use the minijack port), plug it into A/C wall power, and use the MicroSD card to boot the OS to the GUI & store the ROMs. The CanaKit case is about the size of two decks of cards, pretty compact. No fan required. 32 gigs on the card should be more than sufficient for even a full ROMs collection.

As far as controllers go, you can pretty much use whatever you want. I selected the SNES controllers because those are my wife's favorite gamepads. They are pretty lightweight (I wish they were heftier), but work great for the price. They are also available in wireless (Bluetooth). I also have an Xbox-style iPega Bluetooth controller I'm going to test, a wireless Xbox gamepad (360, I think, via the Windows USB adapter), and my X-Arcade Tankstick (2-player arcade joystick USB controller). The RetroPie wiki discusses support for additional controllers such as the N64, Wiimote, and PS3 gamepads. Yes, 2-player works if you buy a pair of gamepads.

So that takes care of the hardware. Next up is the software. Download the Raspberry Pi 2/3 image from the official website & unzip it. From there, just follow the official installation guide. In (detailed) summary:
  1. Insert the MicroSD card into the USB reader & plug into your computer
  2. Burn the image to the card (Windows: Win32DiskImager; Mac: Apple Pi Baker; Linux: dd command or Unetbootin). Don't worry about overwriting the included NOOBS software as we won't be using that.
  3. Eject the USB stick, remove the MicroSD card, insert the MicroSD card into the Raspberry Pi, and boot it up with one of the gamepads attached. Program the gamepad as described in the guide above (you can skip buttons you don't have by holding any key down for a few seconds).
  4. Time to load up the ROMs! On your computer, format a temporary USB stick to FAT32 or NTFS, create a folder on the root directory called "retropie", eject it, insert it into the booted Raspberry Pi, wait a couple of minutes, pull it out, and put it back in the computer
  5. The retropie folder on the USB stick should now have a few folders, including one for ROMs with sub-directories for each system (Atari, SNES, etc.). Copy your ROMs (note that the file name is what will be displayed on the screen in the console selection window) into the appropriate subfolders (you can keep the ROMs zipped if you want). Eject the USB stick from your PC, insert it into the booted Pi, wait a few minutes for the games to auto-copy over, then remove the USB stick & reboot the system using the software menu. The game consoles for the ROMs you loaded will automatically be displayed in the GUI list.
That's the basics! There are other ways to load up games (via Ethernet or Wi-Fi, for example), this is just the super-simple method. The basic idea behind the software is that RetroPie is the host OS, Emulation Station is the front-end GUI, and there are over 30 emulators plugged in behind that nice gamepad-friendly interface. Here is a full list of systems in RetroPi:
  1. 3do
  2. Amiga
  3. Amstrad CPC
  4. Apple II
  5. Atari (2600, 8-bit 5200, 7800, Jaguar, Lynx, ST, STE, TT, Falcon)
  6. Color Computer
  7. Commodore 64
  8. Dragon 32
  9. Dreamcast
  10. Genesis (Megadrive)
  11. Game Gear
  12. Gameboy (original, Color, Advance)
  13. Intellivision
  14. Macintosh (1984)
  15. MAME (arcades)
  16. Master System
  17. MSX
  18. Neo Geo
  19. Neo Geo Pocket (original & Color)
  20. Nintendo DS
  21. NES
  22. PC (.com, .sh, .bat, .exe support ~1981)
  23. PC Engine (TurboGrafx-16)
  24. Playstation 1
  25. PSP
  26. Same Coupe
  27. Sega 32x
  28. Sega CD
  29. Sega SG-1000
  30. SNES
  31. Ti-99/4A
  32. TRS-80
  33. Vectrex
  34. Videopac (Odyssey 2)
  35. Virtualboy
  36. Wonderswan (original & Color)
  37. ZX Spectrum
Remember, just because an emulator is installed & supported on the ARM-based hardware system, doesn't mean a particular ROM will actually be playable due to CPU/GPU/RAM limitations. Click here for some more information on that. There are also a bunch of experimental ports available - everything from DOOM to KODI. Oh, and the controller hotkeys are as follows:
  • Select + Start: Exit (back to console selection screen)
  • Select + Right Shoulder: Save
  • Select + Left Shoulder: Load
  • Select + Right: Input State Slot Increase
  • Select + Left: Input State Slot Decrease
  • Select + X: RGUI Menu (for RetroArch)
  • Select + B: Reset
So that's pretty much it! For convenience, buy a CanaKit (has everything you need in it), a pair of SNES controllers (and optionally a Logitech K400 USB RF wireless keyboard), snap the Pi PC together, format the card, load up the ROMs, and start having fun! I just retired my last modded Xbox thanks to this setup. No dedicated Windows computer required just to run old games on your TV either!
 
  • Like
Reactions: southwizard

Rifter

Lifer
Oct 9, 1999
11,522
751
126
any input as to what is supported by the hardware you listed? i would assume PS1 and PSP are probably to much for it. Perhaps the dreamcast too.
 

Kaido

Elite Member & Kitchen Overlord
Feb 14, 2004
48,411
5,270
136
any input as to what is supported by the hardware you listed? i would assume PS1 and PSP are probably to much for it. Perhaps the dreamcast too.

Yeah, it tops out on the higher-end consoles. Anything SNES/Sega & older flies. I believe N64 runs at like 320x240 by default, very pixelated. There's a growing compatibility list here:

https://docs.google.com/spreadsheets/d/1Sn3Ks3Xv8cIx3-LGCozVFF7wGLagpVG0csWybnwFHXk/edit

Dolphin isn't even on the list of supported emulators for the Pi (requires an i5 or i7, good CPU, and at least 2 gigs of RAM anyway). There's a subreddit for RetroPie available:

https://www.reddit.com/r/RetroPie/

Lots of videos on Youtube as well, if you want to check something specific (note that this is the latest Pi, the v3).

Arcade ROMs get a little bit tricky:

https://github.com/RetroPie/RetroPie-Setup/wiki/Managing-ROMs

I mean, for maximum compatibility, the best thing to do is get a powerful Windows PC & then throw on either Hyperspin or Maximus Arcade & then use USB adapters for the original controllers of whatever system you're playing. But hey, this is $99 & requires all of 10 minutes to assemble & program. Plus, it sips power so you can leave it on 24/7!
 

cmdrdredd

Lifer
Dec 12, 2001
27,052
357
126
I use an Nvidia Shield TV for this and it can do everything from NES to Neo-Geo to Dreamcast and Dolphin (for GC and Wii titles). Some dreamcast titles have poor compatibility or poor performance though.

It's also not $99 lol
 

Kaido

Elite Member & Kitchen Overlord
Feb 14, 2004
48,411
5,270
136
I use an Nvidia Shield TV for this and it can do everything from NES to Neo-Geo to Dreamcast and Dolphin (for GC and Wii titles). Some dreamcast titles have poor compatibility or poor performance though.

It's also not $99 lol

Do you use a front-end or just individual emulators on your Shield?

I had considered getting a Shield, but they are OOS because apparently a v2 is in the works.
 

cmdrdredd

Lifer
Dec 12, 2001
27,052
357
126
Do you use a front-end or just individual emulators on your Shield?

I had considered getting a Shield, but they are OOS because apparently a v2 is in the works.

Best Buy has them but only at certain locations for local pick up. Amazon doesn't sell them because they don't support Amazon streaming services since there is no web browser built in that allows you to purchase content directly from Amazon. They also don't sell the Apple TV for the same reason. Any time a device takes a cut of sales like google play and iTunes Store, Amazon won't put their app on the device and they won't sell the device either. The way around it is to turn off in-app purchasing and use a web browser which is what they do on phones and tablets.

Anyway I just use the individual apps. They work well and I can plug in a PS4 controller through usb and use it for 2 player.
 

Rifter

Lifer
Oct 9, 1999
11,522
751
126
funny thing, i bought a pi for this, then decided i needed network wide add blocking more than a retro gaming system so i ended up using it for that instead. Will probably purchase another one soon for this. I already have 2 authentic original SNES controllers converted to USB so i already have the controllers sorted out.
 

slashbinslashbash

Golden Member
Feb 29, 2004
1,945
8
81
A friend of mine set me up with an emulator that runs in the Homebrew channel on the original Wii (which of course can be picked up very cheaply). 32GB SD card has all NES, all SNES, all Genesis, a majority of the N64 library, and some others -- I think TurboGrafx and some other oddities with small-ish libraries. Of course it can also handle GC and Wii games, but those are bigger in size and you start to have to make tradeoffs due to the max recognized card size being 32GB. Of course it would be possible to have multiple 32GB cards that you just swap out, or plug in an external USB HDD, but my friend says the HDD usually takes pretty long to load games. I haven't actually played with it much, but it's nice to have :)

Nice thing is that it uses Wii controllers including the "Classic" (SNES clone) as well as GameCube controllers that plug right in and work great for both GC and N64 games due to the analog sticks.
 

Face2Face

Diamond Member
Jun 6, 2001
4,100
215
106
Best Buy has them but only at certain locations for local pick up. Amazon doesn't sell them because they don't support Amazon streaming services since there is no web browser built in that allows you to purchase content directly from Amazon. They also don't sell the Apple TV for the same reason. Any time a device takes a cut of sales like google play and iTunes Store, Amazon won't put their app on the device and they won't sell the device either. The way around it is to turn off in-app purchasing and use a web browser which is what they do on phones and tablets.

Anyway I just use the individual apps. They work well and I can plug in a PS4 controller through usb and use it for 2 player.

What apps are you using to emulate Dreamcast and Gamecube/Wii?
 

Mukashisaigua

Junior Member
Dec 9, 2018
6
2
11
funny thing, i bought a pi for this, then decided i needed network wide add blocking more than a retro gaming system so i ended up using it for that instead. Will probably purchase another one soon for this. I already have 2 authentic original SNES controllers converted to USB so i already have the controllers sorted out.
So it's been 2 years, are you still having the RasPi proof up its own RBL to keep live on the router for advertisers to keep MoatAds and the like away? Or running ML of some sort to send clickthroughs but never have the cookies on a real userland machine to then be exposed to the horrible horrible gloaming ad preferences (for real vinegar drinks, weird tooth whiteners, reality blocking in spades and truly centuries-deprecated politics, etc?)