DIY Adventure Time BMO: Raspberry-Pi Powered Retro Game Handheld!

by lazuardi.r.19 in Circuits > Raspberry Pi

6355 Views, 32 Favorites, 0 Comments

DIY Adventure Time BMO: Raspberry-Pi Powered Retro Game Handheld!

IMG_6580.jpg
bmo-finished.gif
61757527731__4FAAC55A-71B7-4BBA-A558-B72FD7D2A69C.jpg
IMG_6251.jpg

DIY Adventure Time BMO: Raspberry-Pi Powered Retro Game Handheld!

Lazuardi Rinaldi

2nd Year, Undergraduate Student

Electrical & Computer Engineering (ECE) Major

Georgia Institute of Technology


Table of Contents:

- Preface (Pg.1-2)

- Introduction (Pg.2)

- Step 1: Research on BMO (Pg.3-4)

- Step 2: Create a plan on what and how to build BMO (Pg.4-5)

- Step 3: Gather the parts (Pg.6-7)

- Step 4: Design and create a shell that fits with your parts (Pg.7-9)

- Step 5: Test fit components and measure (Pg.9-11)

- Step 6: Connect up the Raspberry Pi and program RetroPie {Pg.11-13)

- Step 7: Building the custom controller (Pg.13-17)

- Step 8: Putting it all together {Pg.17-19)

- Step 9: Finishing touches (Pg.19-20)

- Reflection and Conclusion (Pg.20)

- References (Pg.21-22)

Preface:

This instruction guide is open ended and allows followers to retrofit the project based on what parts and tools are available to them.

Introduction

Hello fellow DIYers and Adventure Time lovers! This instruction guide covers the process on how I built my own real live BMO video-game robot pal (abbreviated from Be MOre) (Fig.1) as a Raspberry Pi Powered retro game console that you can take wherever you go! (Fig.2)

With this guide, you will be able to implement your own version with the parts that are available to you, and so note that this guide is open ended and you have the freedom to build BMO however you like. (Fig.3,4)

This guide is aimed at those who have experience in working with electronic projects and are Adventure Time or retro video game enthusiasts, or both!

Let's get started!

Research on BMO

IMG_6581.jpg

The first thing to do is research on how BMO looks like from all different angles so we can later plan on how to turn this cartoon robot into something tangible we can play with (Fig.5).

BMO "Who Wants To Play Video Games?" Video [3]:

Take notes or draw a sketch to start thinking about how you’ll want to make your version of BMO. Scrolling to images and images on BMO, you can get a good grasp on his features from all sides, most importantly the front with his face as the display, a D-pad on the left and 3 geometrical shaped buttons on the right.

Looking up Raspberry Pi BMO, there’s a great version made by Bob Herzberg who’s done an incredible job, especially recreating the custom faces and even voice control activations! Take a look at his websites and videos here:

Bob Herzberg BMO Demonstration [4]:

Link to his blog [5]: http://byobmo.com/

Notice though that Bobs BMO requires custom proprietary parts and PCBs that may not be accessible to all. So, the good thing about this guide is that I’ll show you how you can build it based on what's available to you!

Create a Plan on What and How to Build BMO

d621d952008447.59f8b6380f557.gif

Alright, with the research done, let's create a plan on how we are going to build BMO (Fig.6).

The first thing I did was picking what features I want my BMO to do. In my case, my priorities were

  • Looks recognizable to be BMO
  • BMO must be self enclosed in a shell of its own
  • Must be portable and be able to run on a battery
  • Play video games using RetroPie on the Raspberry Pi
  • Use the buttons on the shell to play the games

Next, create a sketch of what you want to build and start labeling on what parts and features you want your BMO to do, it’s size and dimensions, and so on. You can definitely delete and add as you go through the project.

Now create a plan on what steps you want to take to complete the project.

In my case, my main steps were

  1. Build a case/shell for BMO
  2. Make sure the display and Raspberry Pi fits
  3. Program and test run RetroPie on the Raspberry Pi
  4. Build the controller connected to the shell
  5. Decorate and add finishing touches

There’s definitely more planning you can go through, like what materials you are going to use to build the case, or what type of display you want to use, and so on. This is very much up to your creativity, and the more you plan earlier in the project, the easier and more smooth sailing it will be later on!

With that in mind, we now need to define what tools and parts we already have, and what we need.

Gather the Parts

Now that you have your plan ready, let’s gather our parts!

The main parts you will need for the project is

  • One display for the Raspberry Pi
  • One Raspberry Pi
  • 10 push-buttons
  • Two 5"x5" proto/perf board
  • One box Jumper wires
  • One power supply (power-bank or battery)
  • One set of colorful sticker paper or paint
  • Shell material (described later)

The main tools you will need are

  • Soldering iron and solder
  • Scissors/clippers
  • Exacto-knife or sticker cutter

I’m using a portable 5’inch HDMI display I got from Amazon that runs from USB power (link below), and a Raspberry Pi 3B so I don’t need adaptors to connect the HDMI cable to. For power supply, I kept it simple and just used a typical power bank with an on off switch so I don’t have to deal with the hassle of playing with LiPo batteries and power controllers. For buttons and wires, I’m just using regular push buttons I had laying around.

Links to possible parts you can use:

Main parts:

Shell material:

Tools:

Again, this instruction guide is open ended, so feel free to add, remove, or modify your BMO in any way you want!

Design and Create a Shell That Fits With Your Parts

61689719075__9E0F0E7D-614C-458E-88A2-CB9B460B8CD9.jpg
61697356756__99E948F7-9445-4EA8-A775-A695648D487C.jpg

To design the shell, there are many options:

For free/low cost boxes, you can

  • Use an existing wooden/cardboard box that you have lying around
  • Print a template and create it out of cardboard

For more “professional” boxes, you can

  • 3D model and print it
  • Laser-cut on wood/acrylic

If you pick a laser cut or print a template for cardboard, use the website Makercase or Boxes.Py, as it allows you to be able to easily create a box with interlocking grooves that you can print on a flat plane.

MakerCase website [7]:

https://en.makercase.com/#/

Tutorial on MakerCase [8]:

Boxes.py website [9]:

https://www.festi.info/boxes.py/

Tutorial on Boxes.py [10]:

For my BMO shell, I decided that since there is a maker space near me, I’m going to create it out of acrylic using a laser cutter.

I designed my BMO using Adobe Illustrator by first measuring the length and width of my display and then creating a curved rectangle around it to look like BMO. To make sure that you won’t need to go back and redesign the whole thing again, plan carefully and take measurements of everything, like where you are going to place the raspberry pi and batteries, the dimensions of the buttons, how thick or thin you want BMO to be, the placement of the buttons, and so on

From there, I added shapes for the D-Pad, buttons (with additional X, L, and R buttons so I have full functionality of SNES games), and all the other features and sides, and went to laser cut it (Fig.7).

After that It was time to build using glue, tape, and any other methods to keep it sturdy. From my experience, I learned that using acrylic, hot glue doest stick well and you would either use tape or super glue, or create holes to use metal bolts and locks to attach the parts of the shell together (Fig.8).

Test Fit Components and Measure

61698459334__76B05A85-F66C-41E0-86E6-748CF2704375.jpg
61698462078__592F9F71-0386-4306-81DC-2D9E5C061D47.jpg
61697616452__1F0EB404-71A4-4B02-9317-3D413DDF0EF7.jpg

Now that your shell prototype is relatively ready, try putting your components in to test if all fits well or not (Fig.9). You may need to create another prototype shell as I did too as seen here (Fig.10), but that’s alright! Revision is part of the design thinking process! Measure what does not fit and update your design with your new measurements (Fig.11). If planned carefully, your first try would be usable with minor tweaks!

Connect Up the Raspberry Pi and Program Retropie

61778467737__735D3CBD-17B2-48EF-B49A-CD1975724A7B.jpg
mario-jump.gif
IMG_6124.jpg

Once the display and Raspberry Pi fits well in the case, we can connect the two via HDMI, plug in the USB from the display and Raspberry Pi to a power bank. Now you’re set to get the system running!

Here comes the fun part! Let’s add software now to the Raspberry Pi so that you can play retro video games (Fig.12). For this guide, we will be using a version of RetroPie (Fig.13), an emulator station that has emulators for a variety of machines, including in NES(Fig.14), Sega Genesis, Arcade Machines, N64, PS1, and so many more. Follow this video tutorial on how to program your SD card to make this all work, and how to add games!

RetroPie software setup [11]:


Yay!!! Your machine is working. From here, the main functionality of BMO is up and running, and now we just need to create the buttons on a breadboard and then decorate the shell to look like BMO.

Building the Custom Controller

61698729768__454D1BD9-EC34-464B-8524-1840EA3DFE1E.jpg
ezgif.com-gif-maker (1).gif
IMG_6174.jpg
IMG_6163.jpg
IMG_6165.jpg

With the measurements you’ve made, you now know where to place the buttons to align with the shell. So, grab your perf board and plot it where you want it to be (Fig.15). You may need to trim the perfboard as they usually come in a standard rectangle size.

Now that the buttons are attached to the perfboard, we can begin the soldering! If you have never soldered before, that’s alright! This is a great video that will teach you how to solder.

Soldering Tutorial [12]:

Some tips I have is that you should make sure that you are giving the iron a few seconds whenever you are trying to heat a certain joint to make sure that the components solder uniformly.

Alright, in terms of what we are going to solder, this is a video explaining how to connect buttons to the Raspberry Pi using its GPIO pins(Fig.16,17), You can use any wires you want, but using female jumper wires are handy as you can later just plug the jumper into the GPIO pin to connect them together (Fig.18).

RetroPie Controller Tutorial [13]:


Once everything is connected, make sure to program the Pi as stated in the video and test your buttons out (Fig.19). Then, just add the button covers you made with the shell and you are good to go!

Congratulations, you just finished all the hardware/electronic parts of the project! Yay!

Putting It All Together

IMG_6251.jpg
IMG_6249.jpg
IMG_6157.jpg

We are nearing the final stages of this build. Now that everything is working, we need to put the parts all together into the case (Fig.20). Sometimes, with the added wires, the components may not fit as snug if it's all jumbled up, so make sure to keep those wires tidy and neat as you can (Fig.21). If you can close everything into the shell, test it out and make sure all the components are working well (Fig.22). If so, you are ready for the final step.

Finishing Touches

IMG_6201.jpg
IMG_6199.jpg

The last step for this guide is what really makes the project from just another Raspberry Pi Gameboy to BMO! Spend some time to decorate it to make it look exactly like our Adventure Time buddy robot. You can choose to paint, use sticker paper (Fig.23), or any other method as you like, and add any other details you’d want to complete the project (Fig.24). Once you are satisfied with what you have, now you can show you friends and family on what you achieved and play some good retro video games for hours and more.

Reflection and Conclusion

61785231502__069A6447-D0F3-4C0F-BC7C-433A517000A0.jpg
bmo-finished.gif

There are definitely more features you can add to this BMO you created. Some that I may work on if I visit this project again in the future would be adding stereo speaks to hear the game music, relocating the usb ports to the front so you can connect an external controller the same way as Finn did in the cartoon, and program so BMO faces like how Bob did his version!

To conclude this guide, let’s recap on what you just did. With the parts and tools you have, you are able to adapt based on your environment and create a DIY project with custom electronics that you built yourself all in a cute little gaming package (Fig.25,26). I hope you learned a thing or two, and found this guide useful and inspiring; if so, I’d highly appreciate you smash that like button and comment down below on your version of BMO.

References

[1] Photograph of BMO, Slashfilm, Accessed on: Apr. 25, 2021. [Online]. Available: https://www.slashfilm.com/adventure-time-distant-lands-teaser-bmo/

[2] Photograph of BMO, Los Angles Times, Accessed on: Apr. 25, 2021. [Online]. Available: https://www.latimes.com/entertainment-arts/tv/story/2020-06-25/adventure-time-distant-lands-review

[3] Adventure Breakfast, "BMO | Who Wants To Play Video Games!? | Adventure Time | Full HD," YouTube. Aug. 24, 2015. [Video recording]. Available: https://www.youtube.com/watch?v=U_JbTHp6uzI, Accessed on: Apr. 25, 2021.

[4] Orbian, “A Conversation With BMO,” YouTube. Sep. 28, 2017. [Video recording]. Available: https://www.youtube.com/watch?v=IXSbswsfWgw Accessed on: Apr. 25, 2021.

[5] B. Herzberg, Build Your Own BMO, Accessed on: Apr. 25, 2021. [Online]. Available: http://byobmo.com/

[6] Illustration of BMO Deconstructed, Behance, Accessed on: Apr. 25, 2021. [Online]. Available: https://www.behance.net/gallery/52008447/BMO-LOVE

[7] MakerCase, Accessed on: Apr. 25, 2021. [Online]. Available: https://en.makercase.com/#/

[8] J. Carney, "MakerCase and illustrator Demonstration," YouTube. Feb. 4, 2020. [Video recording]. Available: https://www.youtube.com/watch?v=7RkLOW_mbps, Accessed on: Apr. 25, 2021.

[9] “Boxes.py,” Festi, Accessed on: Apr. 25, 2021. [Online]. Available: https://www.festi.info/boxes.py/

[10] Ukulelerobby, "Inkscape Tutorial Using Boxes Py Website," YouTube. Sep. 28, 2018. [Video recording]. Available: https://www.youtube.com/watch?v=r_L2otRUxIs, Accessed on: Apr. 25, 2021.

[11] Mr. Sujano, "The Fastest and Easiest way to Install RetroPie on a Raspberry Pi (Quick and Easy Tutorial)," YouTube. Jul. 9, 2020. [Video recording]. Available: https://www.youtube.com/watch?v=wz9ev0rG4UM, Accessed on: Apr. 25, 2021.

[12] Make:, "Skillbuilder: Learn to Solder,” YouTube. Jun. 13, 2017. [Video recording]. Available: https://www.youtube.com/watch?v=v4D_Rdp1uh8, Accessed on: Apr. 25, 2021.

[13] Kalaakaar Makerspace, "DIY Joystick wtih tactile switches for Retropie," YouTube. Oct. 20, 2016. [Video recording]. Available: https://www.youtube.com/watch?v=6DT96NFCn2E, Accessed on: Apr. 25, 2021.