raspberrypi.org/magpi The Official Raspberry Pi Projects Book 93
TOMY TURNIN’ TURBO DASHBOARD OUT RUN Projects
>STEP-01
Hooking up controls
A Picade PCB controller is used to manage the
steering wheel and gearstick, while the ignition
key is connected directly to the Raspberry Pi
via a PowerBlock microcontroller.
>STEP-02
Fitting a screen
Getting a screen that fitted was the biggest
challenge. This KeDei 3.5-inch screen fits directly
into the cabinet and connects to the Pi’s HDMI
socket (leaving the GPIO pins free).
>STEP-03
Connecting the dashboard
Matt ended up recreating the entire dashboard with
specific cutouts for LEDs and other components.
These respond to the in-game action for an authentic
arcade experience.
HACKING
A TOMY TURNIN’
The original ignition key from
the game was already wired as
an SPST switch, so Matt wired
it up to the Raspberry Pi. To
manage the safe powering up
and down, he used a PowerBlock
(magpi.cc/2mLOf4P). “I simply
hooked up the switch and installed
the daemon to watch for the
shutdown command and it all
worked perfectly. A Picade PCB
(magpi.cc/29DpDCz) was used to
hook up the rest of the controls.
Mike tells us it was “really easy to
hook these up”, especially because
the Picade PCB supports analogue
controls for the steering wheel.
Turn the key
“There was a lot of luck involved
as well,” explains Matt. “Lucky
that the slide potentiometer
happened to sit at the perfect
height, lucky that there was
just enough room for some
microswitches to fit down the
side of the gear shifter, and lucky
I could balance the shifter rubber
bands to keep the shifter centred...
Ultimately it was just taking my
time and thinking things through,
then trying things out.”
Cannonball running
You might be expecting the
Raspberry Pi inside to be running
an emulator like RetroPie, but
no. It’s actually running an Out
Run clone called Cannonball
(magpi.cc/2mL3bAi). Matt
explains: “Cannonball is a C++
port of the original Out Run arcade
game and luckily ran perfectly on
a Raspberry Pi 3. The reason I went
with this rather than, for example,
MAME is that it allowed me to
change the core code and intercept
the variables I wanted to use to
update the dashboard. You could
probably achieve something similar
in MAME by inspecting the register
values, but having access to the raw
source code is way easier.”
Matt tells us it’s fun to play.
“It was a little squeaky to start with,
but I had just tightened everything
up a little too much. It runs nicely
and brings back those memories
as a kid. It’s how I thought it felt to
play with back then.”
Ultimately it was just taking
my time and thinking things
through, then trying things out
A lot of components are carefully squeezed inside the original plastic case