Making a Rob Boy - Part 1▲
August 12, 2018
Welcome to a new project and blog post series I’m calling Making a Rob Boy. This is a project I’ve actually been working on for the last few months or so during my spare Sundays and I think it’s about time I document what I’ve been up to as well as to share my experience if others might be interested.
The goal is to create a portable Raspberry Pi “Gameboy” but I don’t just want to follow some tutorial or buy pre-made parts online. I intend to accomplish as much of this project myself as I can mostly because I want to but also as a learning experience. While I am computer engineer I mostly focus on software at my day job and I’ve never actually designed or made a PCB before. Recently though, I’ve joined a team at Amazon working with robots. Seeing the powerful combination of hardware and software is inspiring and I decided I waned to learn more about the world of hardware while staying in line with my true passion which is, of course, video games.
My intention with this is to post once a week as a kind of update on progress as well as a motivator for myself to actually make forward progress. With all that stuff out of the way lets get into what will be the heart of the Pi Boy.
The Raspberry Pi Compute Module 3
The Raspberry Pi Compute Module (CM3) is just like a Raspberry Pi but without all that clunky I/O hanging off the side. That means the CM3 is way more portable than a regular Raspberry Pi but it also means you need to design your own motherboard for it with all of the I/O your specific project needs. The reason I chose the Raspberry Pi for this project is that it already has great support for running games and it has a lot of software support ready to go out of the box to support different peripherals, which is great.
So what does our project need? What makes a Rob Boy? For starters, I think there’s some definite non negotiable pieces that need to go into the design:
- Raspberry Pi Compute Module. Without this we’re not going very far.
- A display. We need to be able to see things.
- A battery. We want this to be portable for at least a few hours of play.
- Some buttons. Games use buttons but how many buttons do we need? I’m thinking at least 13: A, B, X, Y, Up, Down, Left, Right, Start, Select, Home, and at least two shoulder buttons.
- A speaker or two. Sound is a big part of gaming.
- A PCB for all of the above. We’ll need to make this ourselves.
- A plastic case. We need to hold all this together.
That seems like a pretty straightforward list. What else might be nice to have though?
- A nice touchscreen. I put a display as a requirement above but I didn’t specify a resolution because I’m not sure what we can get away with. A high resolution capacitive touch screen would be really nice though.
- Thumbsticks. Most modern games use two analog thumbsticks and other portables such as the Switch and the Vita both have them.
- A headphone jack. Phone’s don’t have them but that doesn’t mean we can’t.
- WiFi and Bluetooth support
So that’s it! Requirements laid out it’s time to start shopping around for parts and seeing what’s available. Up next we’ll be diving into the Raspberry Pi Compute Module I/O board and seeing if we can get a display to work. Stay tuned!