Raspberry Pi 3 Inside a Sega Genesis 3
-
I've been working on my first Raspberry Pi / Retropie setup since just after Christmas. What started as a simple replacement for my previous Android phone to TV emulator setup has become a lengthy, expensive, and somewhat challenging project, and I've loved every minute of it!
My Raspberry Pi 3 kit came with a really nice case, but something about having ports on the back and the side (rather than the back and the front like most consoles) bothered me. I also wanted something a bit more substantial to keep the cords from pushing it around. I started looking at a bunch of custom case / console repurposing projects that are documented online, but I wanted to keep the enclosure small, and I didn't want to destroy a good piece of hardware. I also wanted to do something that hasn't been done a ton, if at all.
I remembered having a Sega Genesis 3 quite a few years ago (I was a Nintendo kid, so I was very late to the Sega party), and it seemed to be about the perfect size. The PC Engine Core Grafx was also considered, but availability was a concern since we never got them in the U.S., and I wanted at least two USB ports on the front, which would have been awkward with the power switch and single, round controller port on the front of that console. I'm not sure the Core Grafx would have been big enough for what I had envisioned anyway.
Getting back to the point, I found a cheap Genesis 3 on eBay that was missing the cords and was of questionable functionality. I'm sure some will lament the destruction of a retro console, but honestly the Genesis 3 was a pretty bad piece of hardware, and I don't think it has much sentimental value to most people. It was a bare-bones cash grab made by Majesco (only licensed by Sega), and required modification just to output stereo sound and to work with the 32X (and it wouldn't work with the Sega CD at all). It always felt to me like the power switch on my original one was hanging on by a thread. The funny part is that in order to reconfigure a Raspberry Pi that has ports configured 90 degrees to each other, I chose a console with the exact same layout. This ended up working out just fine, though, as it provided a great place for the new power button.
The other purpose of my custom build was to make it simpler for myself and other users to shut down the system properly. I’m probably being paranoid, but I’ve heard that simply removing power can corrupt the SD card, and the shutdown process through Emulationstation, while simple, wasn’t simple enough. A bit of digging around online led me to MSL Digital Solutions’ RemotePi board, which would not only handle the soft shutdown, but also offered remote control functionality using an IR sensor.
The RemotePi board is well designed and fits right on the GPIO pins normally, but I ordered the version of the board that has an external IR sensor and LED, which meant having the white connectors shown in the picture. One of these connectors would have been sitting right on top of the main heat sink I have installed on my Pi, so it necessitated the use of a GPIO header to add space between the two boards. As alluded to earlier, I also purchased MSL’s external power switch, which I mounted in the Genesis 3’s AV port opening. I like how it’s kind of tucked away and doesn’t really change the look of the console.
I wanted to have the Pi’s power, HDMI, and 3.5 mm ports accessible from the rear of the console. I wasn’t satisfied with connecting the cords inside the console and just having the actual cords coming out (I wanted to be able to disconnect like on a real console, unlike some builds I’ve seen). Since I don’t have the necessary skills or equipment to make a 3D printed back plate, I decided to just epoxy a case within a case (I used OneNine Design’s excellent and affordable Pi 3 case). A Dremel was used to make openings for the rear ports, LED, and IR sensor, to enlarge the openings for the new power switch & usb controller ports, to modify the OneNine case, to make an opening for SD card access, and to clear out some unnecessary plastic inside the Genesis 3. Clearly I’m no artist with a Dremel, but I got the job done.
The lid of the OneNine case was repurposed as a platform to mount USB extensions to. I originally tried to secure them using some gun stock bedding compound that I had left over (the nasty yellow stuff in the pictures), but it was clearly past its prime, so I added some clear epoxy later. Everything is nice and solid now.
I’m mostly using a SNES30 and an Anniversary Edition (PSX retro appeal!) DualShock 4 for controllers. I also have some cheap Red Samurai ones that work quite well, too, so I’m equipped for multiplayer gaming. I have my A/V receiver’s remote programmed to turn the system on and off thanks to the RemotePi board, but I need to spend some time implementing LIRC to expand the remote controller’s functionality to Kodi. Physically I’m considering this build complete (other than maybe cleaning up that HDMI opening a bit). I’ve got it mostly complete software-wise as well, but there seem to always be tweaks to be done, and more games to add.
Hopefully you’ve enjoyed reading this, and sorry it was so lengthy. I just really needed to share it with some like-minded people! Questions and comments are welcomed.
-
@ComfortablyMumm
Nice build! That's probably a good idea to have access to the microSD card like that. I also have that "One Nine Design" Raspberry Pi case that you're using in your Genesis 3 but I always have issues trying to get my microSD card out of it. Do you have issues with that as well? -
@backstander I didn't have too much trouble with it when it was installed in just the OneNine case itself. My SD card has kind of a lip on it that I can get a fingernail on to pull the card out. Some brands of SD card may have a less prominent lip, though. It's definitely more challenging with it all installed inside the Genesis, but its still workable. I don't take the card out often, but I'm constantly tweaking stuff on the Pi, so I like to make backups periodically in case I mess something up.
-
Very nicely done! If you were to do it again, what would you do differently?
-
@ComfortablyMumm
Yeah I rarely take it but my SD card doesn't have much of a lip so its a challenge every time I do lol!
I haven't see anyone else use a RPi case inside of their builds like this but I think it's a good idea! It looks like it helped simplify everything (as long as you have the space for another case). -
@obsidianspider Thanks! If I did this again, I think the most obvious change would be to just put a little more time and care into making it look better (better epoxy, start openings with Dremel and finish with a hand file). Rather than notching the plastic above the cotnroller ports, I think I'd have left the openings original and just had the USB extensions inset a bit. I also don't like how the IR sensor looks, so I'd have just made a round hole for the "bulb" of the sensor between the two USB ports. I found out after the build that you can buy SD card extension ribbon cables, which may have allowed me to make a nicer looking SD slot on the outside of the system instead of the huge cutout.
Overall, though, I'm pretty happy with it and don't mind that it has a bit of a rough, DIY look. -
@backstander Yeah, I've seen quite a few builds where the Pi just kind of floats inside the console because they have extensions for exterior mounted ports. I didn't have room to do that, so the interior case allowed me to stabilize the board so it would be solid when plugging the cables in.
-
I always have issues trying to get my microSD card out... my SD card doesn't have much of a lip
Mine is the same way. I ended up making a little pull tab by cutting a small length of clear tape down the center to match the card's width, rounding the corner edges to prevent any possible snagging and doubling it over the back end. It's now extremely easy to remove and being clear, it's hardly even noticeable.
-
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.