Maker.io main logo

Raspberry Pi/Arduino RetroArcade

19

2017-11-08 | By Jerry Sturre

License: None Arduino Circuit Playground Raspberry Pi SBC

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.
製造商零件編號 PV2F640SS
SWITCH PUSH SPST-NO 2A 48V
E-Switch
製造商零件編號 PV6F240SS-311
SWITCH PUSH SPST-NO 2A 48V
E-Switch
製造商零件編號 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
製造商零件編號 1219
HDWR T-PLATE 20X20 ALUM EXTRUSN
Adafruit Industries LLC
製造商零件編號 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'
Encore Wire
製造商零件編號 C2015A.11.05
HOOK-UP STRND 24AWG 300V YLW 50'
Prysmian Group
製造商零件編號 C2015A.11.01
HOOK-UP STRND 24AWG 300V BLK 50'
Encore Wire
製造商零件編號 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
MACH 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
製造商零件編號 09182
SWITCH JOYSTICK BALL TIP DIGITAL
SparkFun Electronics
製造商零件編號 SC0022
SBC 1.2GHZ 4 CORE 1GB RAM
Raspberry Pi
製造商零件編號 EHHD192
ADAPTER HDMI RCPT TO HDMI RCPT
Switchcraft Inc.
製造商零件編號 09454521901
ADAPTER USB A RCPT TO USB A RCPT
HARTING
Add all DigiKey Parts to Cart
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.