Maker.io main logo

Raspberry Pi/Arduino RetroArcade

2017-11-08 | By Jerry Sturre

License: None Arduino Circuit Playground Raspberry Pi

With all the RetroPie/Raspberry Pi Arcades being built, I decided I would try my hand at one – but I wanted mine to be a little different. I’ve never really cared for exposing the ports on the pi in order to plug in power/video/usb, so I used pass-through ports.  I also didn’t include a screen, as it’s designed to be plugged into a TV/monitor.  There is an exciter for sound with a switch to change between HDMI and internal sound output, and a potentiometer to control the exciter volume.  Since there are plenty of projects online describing button and OS setup, I’ll just tell you what I did differently.

A Circuit Playground from adafruit controls the power circuit. When the power button is pressed, the Circuit Playground that monitors it activates a relay which controls power to the raspberry pi, turning it on.  The raspberry pi then sends a high signal to the playground to indicate it’s powered up.  Once the power button is pressed again, the playground sends a signal to the pi and the pi begins the shutdown process.  Once the OS is completely shut down, the playground deactivates the relay – turning the pi off completely.  The playground is powered as long as the machine is plugged in, but the power draw is minimal so I’m not too worried about it.  There’s also a small red LED on the cover of the box to indicate that it’s plugged in.

I used clear arcade buttons from adafruit. They felt a bit spongy to me, so I added an additional spring to each one which gives them a nice solid feel.  And since I was using clear buttons, I added a strip of Neopixels around the inside of the box to add lighting effects.  The buttons are great for arcade games, but I also have a Playstation 3 controller that is connected via Bluetooth to play console games.  There is a small dongle plugged into the pi so I can use a wireless keyboard and mouse, which allows me to play DOS games, and work with the terminal without opening up the box or occupying the one external USB port.  The USB port is really handy for plugging in a flash drive and transferring files, or plugging in an extra USB controller.

Ports

The Neopixels provide a nice glow through the buttons and the vents in the front, but the joystick looked pretty dark in contrast. Since I couldn’t have that, I used a 3d printer to make a new hollow ball in which I placed a single Neopixel that I wired into the existing Neopixel strip in the box, so the stick glows along with the rest of the box.  I just ran the wires from the ball along the outside of the stick, covering them with a rubber sleeve I happened to have laying around.  Heatshrink would have worked just as well. 

I used a ribbon cable and rectangular connectors to make the connection to everything on the cover, so it’s easily removable. It’s much easier to make changes with the lid off.  The arcade stick and all external buttons were set up directly through the pi’s GPIO using adafruit’s excellent Pocket PiGRRL tutorial.

All of the decals were made with a Cricut crafting machine (including the port labels), as I couldn’t find any pre-made ones I really liked.

Side

Here’s a couple of pictures of the lights (taken under my desk for better lighting)

Green

Red

Purple

The wiring is still a bit of a mess, but I’m still looking for the best fit for everything. Once it’s laid out as I’d like, I’ll button up the wiring for a cleaner look.

 Internal

Under%20lid

The parts I used are here: http://www.digikey.com/short/qtvq1q.  I also used various bits of heatshrink for the cabling and hot glue to mount the boards and Neopixel strip.

The codes for power and lighting are here: https://github.com/Oldspicy/PiArcade.

制造商零件编号 ASX03604-R
SPEAKER 4OHM 3W TOP PORT 88DB
PUI Audio, Inc.
制造商零件编号 2197
CABLE M-M HDMI-A 1'
Adafruit Industries LLC
制造商零件编号 H3CCH-4036M
IDC CBL - HHKC40H/AE40M/HHKC40H
Assmann WSW Components
制造商零件编号 3025010-03
CABLE A PLUG TO MCR B PLUG 3'
Qualtek
制造商零件编号 3000
CIRC PLAYGROUND CLASS ATMEGA32U4
Adafruit Industries LLC
制造商零件编号 MP3-3501
CONN PLUG MONO 3.5MM 2COND
Same Sky (Formerly CUI Devices)
制造商零件编号 L712A
CONN PWR JACK 2.5X5.5MM SOLDER
Switchcraft Inc.
制造商零件编号 761K
CONN PWR PLUG 2.5X5.5MM SOLDER
Switchcraft Inc.
制造商零件编号 170214-2
CONN QC RCPT 20-24AWG 0.187
TE Connectivity AMP Connectors
制造商零件编号 ED500/2DS
TERM BLK 2POS SIDE ENTRY 5MM PCB
On Shore Technology Inc.
制造商零件编号 CU-3286
BOX ABS BLACK 10.151"L X 6.151"W
Bud Industries
制造商零件编号 2552
ADDRESS LED STRIP SERIAL RGB 1M
Adafruit Industries LLC
制造商零件编号 09454521901
ADAPTER USB A RCPT TO USB A RCPT
HARTING
制造商零件编号 QSB-60-01
FAN EMI FILTER SHIELD 60MM METAL
Qualtek
制造商零件编号 DFR0251
GRAVITY DIGITAL 16A RELAY MODULE
DFRobot
制造商零件编号 471
SWITCH PUSHBUTTON SPST-NO WHT
Adafruit Industries LLC
制造商零件编号 SSL-LX5093ID
LED RED DIFFUSED T-1 3/4 T/H
Lumex Opto/Components Inc.
制造商零件编号 CF14JT330R
RES 330 OHM 5% 1/4W AXIAL
Stackpole Electronics Inc
制造商零件编号 CF14JT10K0
RES 10K OHM 5% 1/4W AXIAL
Stackpole Electronics Inc
制造商零件编号 62321-1
CONN QC RCPT 16-22AWG 0.110
TE Connectivity AMP Connectors
制造商零件编号 C2015A.11.03
HOOK-UP STRND 24AWG 300V RED 50'
Prysmian Group
制造商零件编号 C2015A.11.05
HOOK-UP STRND 24AWG 300V YLW 50'
Prysmian Group
制造商零件编号 C2015A.11.01
HOOK-UP STRND 24AWG 300V BLK 50'
Prysmian Group
制造商零件编号 1569-24-1-0500-002-1-TS
HOOK-UP STRND 24AWG 300V WHT 50'
CNC Tech
制造商零件编号 1902B
HEX STANDOFF #4-40 NYLON 3/8"
Keystone Electronics
制造商零件编号 9900
MACHINE SCREW PAN PHILLIPS 4-40
Keystone Electronics
制造商零件编号 PDB183-GTR01-504A2
POT 500K OHM 1/10W CARBON LOG
Bourns Inc.
制造商零件编号 OEJL-50-4-7
KNOB KNURLED 0.236" METAL
Kilo International
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum