My goal

My goal was to create a DIY open-source "platform" to inspire people to create their own portable arcade cabinets while learning about science and technology. I wanted to make this project as accessible as possible by requiring little or no tools and by using off-the-shelf components for everything.

Choose your own AdventurePi

In this guide, I'll show you step-by-step how to build your own AdventurePi. I encourage you to deviate on the materials to meet your budget and needs. To encourage as many makers as possible, I made two versions of the AdventurePi:

Console Edition: This model features a foam block that holds your controllers, cables, and accessories. When you're ready to play, connect a controller, and go.

Arcade Edition: This model features a removable panel containing arcade buttons and a joystick (you can also connect additional controllers). This model is a bit more advanced and expensive to build, so I wrote a separate guide for it.

How you build your AdventurePi is totally up to you! The tools and materials you choose will depend on your budget and the features that matter to you.

Below I'll outline considerations and recommendations for the core parts of the AdventurePi.

Total cost

The total cost for the parts I used for the base AdventurePi (without the arcade insert) was about $250. There are numerous ways to bring this cost down. For example, using a smaller case, screen, and battery pack can bring the cost down by a lot. Additionally, you can reuse a Raspberry Pi and other materials you already have.

Make your AdventurePi yours. The AdventurePi is a concept, not a retail product or kit. :)

You'll need to choose a hard case to house everything. The case needs to be large enough to house your screen and components, but not so large that it's unwieldy.

After much research, I chose the Nanuk 910—and after much emailing Nanuk agreed to donate one for this project! It's cheaper than comparable Pelican cases, and I've been amazed by the quality. It perfectly fits the screen I'm using (well, almost perfectly—more on that later).

Choose a display with built-in speakers that can be powered using a battery pack—these are generally available in 5V and 12V versions.

I wanted a large display and decided to go with this 13.3" screen from SunFounder (creators of the RasPad). It's very large for a portable display and runs on either 5V or 12V, something that's usually hard to find. I wrote an entire review of this particular screen if you'd like to geek out over the juicy specs.

To power everything portably, you'll need some kind of power bank. Choose a power bank that has a high enough capacity (mAh) and output current (A) to power everything simultaneously.

Capacity

mAh, or "milliamp-hours", allows you to determine how long the battery pack will last. For example, a 20,000mAh@5V battery will run a 2A, 5V device for 10 hours.

Output current

Make sure your battery pack can output enough current simultaneously to run your display and Pi. For example, if the Raspberry Pi requires a peak of 2A to run, and your screen requires 2A, you'd need a power bank that can output 4A simultaneously.

I tried a few different power bank models out:

TalentCell YB1206000-USB: This power bank outputs both 12V and 5V simultaneously, which seemed like a natural choice for powering my display (12V or 5V) and Pi (5V). Unfortunately, this power bank's capacity is just a tad too low. Additionally, the 12V port on my screen is on its side and the case is slightly too narrow to allow me to plug in the DC barrel adapter it uses. Thus, I decided to power it with its 5V USB port instead, meaning I no longer needed 12V.

iMuto X6L: This power bank features a massive storage capacity of 20,000mAh@5V and enough output (charging) current to power both the Pi and screen for ~5-6 hours. It also has a screen that shows the remaining battery level.

Raspberry Pi

For this project, you'll definitely want to choose either a Raspberry Pi 3B+ or Raspberry Pi 4. At the time of writing, RetroPie doesn't work on the Raspberry Pi 4. Therefore, I'm going with the 3B+ for now.

Other things

Links to everything you'll need can be found in the parts list for this guide. Below are a few notes on these things.

Raspberry Pi case: To prevent the need for a cooling fan, I recommend using a FLIRC passive cooling case to house the Raspberry Pi.

Velcro: This will be used to secure things in place. If you have a 3D printer, you can also design and print your own mounts for things. If you don't have a 3D printer, I highly recommend the Creality Ender 3.

The Sunfounder 13.3" screen fits perfectly into my Nanuk 910 hard case—too perfectly. Unfortunately, the display's input ports are on the side, which means no normal HDMI or Micro USB cable can fit. Even when using the slim 90° cables I found, we need a few millimeters of clearance.

To gain this clearance, we'll cut a part of the case just slightly. To do this, use a box cutter or Dremel to carefully remove the "studs" on the left part of the case lid. This will give us the clearance we need.

If you don't want to do this, consider using the Nanuk 915 instead, which is slightly larger than the 910. :) You can also use a cheaper non-ribbon HDMI and MicroUSB cable with the larger case.

To secure the Raspberry Pi into its case, add a small amount of Velcro to the bottom, and secure it to the top-center of the power bank. The ventilation holes on the bottom of the Pi 3 Flirc case don't actually do much; the updated Raspberry Pi 4 Flirc case omits them entirely.

Orient the Raspberry Pi so that the USB ports are accessible from the bottom and the HDMI port is accessible to the left.

At only 550g (19.4oz), my display is super light. Therefore, our high-strength Velcro is more than adequate. This will hold the monitor securely but ensure it's still removable.

I added 4 wide strips onto the lid's "grooves", as well as a double-thick strip in the recessed center of the lid.

Center the screen as best you can and carefully press it into place. The screen controls are easily accessible on the top of the display.

You can use a few small zip ties and zip tie mounts to clean up your cables. I recommend routing the two display cables slightly behind the bottom-right corner of the display and securing them loosely with a zip tie. This will prevent them from getting snagged when you close the lid.

Note:

Again, if you have a 3D printer, you can design your own screen mounts or find a flush VESA mount.

The foam will house our controllers, chargers, and anything else we want to bring with us on our adventures.

It's dangerous to go alone! Take this.

Cut the foam to accommodate your controllers. Don't forget to cut a spot for the power bank charger too!

Place each object you'd like to house, leaving at least an inch between each. Then, trace each item using a permanent marker.

Finally, use your fingers or a knife to remove the cubed foam to the desired shape and depth.

Be sure to cut things so that they fit snugly. You don't want your controllers moving around and scratching your screen. If you're still worried about this, you can always throw in the foam insert that came with the case to protect it on long journeys.

There's a small amount of configuration you'll want to do over time, but here are a few key things you can do now:

Configure your controller(s)

If you're using a USB controller, connect it to the Raspberry Pi. If you're using a Bluetooth controller, go ahead and pair it. You'll be prompted to configure your controller. Go ahead and map the buttons according to the controller layout.

Of course, our AdventurePi wouldn't be complete without the official AdventurePi logo! For the design, I was inspired by the Fallout video game series and the idea that you could take this with you into the post-apocalypse wasteland and beyond.

When I first came up with the idea for the AdventurePi, I envisioned two versions: a simpler, less expensive one that utilizes external controllers and a more complex arcade version that featured a full joystick and button setup.

I almost gave up on the "Arcade Edition" project since our case needs to close, and the joystick would be in the way. After messing around with some hinging mechanisms, I wondered if anybody made a removable joystick. Low and behold, I found a company that sells just that.

The Raspberry Pi single-board computer has had built-in Bluetooth connectivity since the release of the Raspberry Pi 3 in 2016, allowing you to connect wireless peripherals such as keyboards, game controllers, headsets, and more to your device.
If you don’t have a model of Raspberry Pi that has Bluetooth built-in, you can use a third-party USB adapter to add support. You may need to install additional software packages to do this, depending on the adapter you use.
If you're using using Raspberry Pi OS (previously Raspbian), then Bluetooth should be enabled by default, but you'll need to follow these additional steps to connect and set up your devices.
These instructions will work for Raspberry Pi OS users, including Raspberry Pi OS Lite, which lacks a graphical desktop environment by default.