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.
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.
If you'd like to keep costs down, you can choose a smaller screen—and, thus, a smaller case too.
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.
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.
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.
I ended up going with option #2 above. I'm using a standard 5V 3A Micro USB adapter to recharge the power bank.
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.
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.
- Cables: Since my screen just barely fits into its case, I chose a slim HDMI cable and slim Micro USB cable normally used for drones (more on this later).
First, you'll need to install RetroPie onto your Raspberry Pi. RetroPie will handle video game emulation for us. I wrote a separate RetroPie installation guide that you can use to get things running.
That guide also covers adding game ROMs, configuring controllers, saving your game, and more.
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.
We'll secure our battery pack using this high-strength Velcro. The Velcro will securely hold the battery pack while allowing for easy removal just in case.
The power bank will be mounted directly to the case, not embedded in the foam. This allows for proper heat dissipation from both the power bank and Pi.
First, use a box cutter, pair of scissors, or knife to cut a vertical section of foam away, slightly wider than the power bank.
Then, add an ample amount of Velcro to the back of the power bank and secure it to the bottom of the case, leaving the USB power ports accessible from the top.
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.
I ran out of time while working on this project so I haven't added a button just yet, but I plan on mounting it to a piece of plastic screwed into two of the exposed holes on the side.
Before mounting the screen, test your cables to make sure they'll reach and that everything is functioning correctly.
Connect the HDMI and Micro USB FPV cables from the screen to the Raspberry Pi and power bank, respectively.
Then, connect the Raspberry Pi to the power bank using a Micro USB cable.
The power bank has two high-speed, high-output ports marked as
⚡⚡. I recommend connecting the Pi to one of these ports and the screen to a non-high-speed port.
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.
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.
Not sure which controllers to buy? Check out Ash's RetroPie controller guide.
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.
Remove the "black border"
Your screen has a black border of unused space around it, you'll need to configure the Pi to use the entire screen. To do this, connect to your Pi and edit boot/config.txt:
sudo nano /etc/config.txt
disable_overscan=1 by removing the
# before it. Finally, reboot your Pi:
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.
Add a decal of your choice or download the official AdventurePi logo I made and order a vinyl decal from your favorite decal-printing website.
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.
Since the arcade insert requires several steps, I created a separate Howchoo guide for it. Check it out if you'd like to add an arcade insert to your AdventurePi!
To play, connect a USB or Bluetooth controller, power on your Pi, and find your next adventure!
Don't forget to shut your Pi down safely (through the RetroPie UI or your added power button) before closing the case.