Video games began in the early 1970’s as 500-pound consoles that could only be found in arcades. Gamers were unable to play in the comfort of their own homes and worse, they were charged countless quarters to continue playing. The first home console, the Atari 2600, was released in 1977, enabling gamers to play as much as they wanted in the comfort of their own home. Nintendo later released one of the first handheld consoles, the GameBoy, further expanding the freedom of gamers to play whenever – and wherever – they wanted. What more could gamers want?
It turns out, they want much more: the ability to play whatever they want at lower prices. As a result, many gamers have turned away from console gaming exclusively to PC gaming, for which services like STEAM provide quick, inexpensive downloads of a massive variety of games. Unfortunately, all of that freedom is tied down to desktop computers and hefty “gaming” laptops. Gamers are now searching for the epitome of gaming freedom, a portable game console that lets them play whatever they want: the BeagleBoy.
The BeagleBoy is a cape designed to bring handheld gaming to the Beaglebone Black. With its high processing power and small size, the Beaglebone Black is ideal for handheld gaming, including emulation of retro games, which remain immensely popular even after commercial production has stopped. In order to bring the BeagleBoy to life, three individual projects were pursued simultaneously: circuit board design, case design and driver programming.
Circuit Board Design:
The circuitry of the BeagleBoy consists of two subsystems: the battery power circuit and a network of 12 buttons. The battery power design was adapted from the open-source battery cape available from CircuitCo with a number of changes. We used the TSSOP package for the TPS61032 DC/DC converter instead of the QFN and chose larger packages for the resistors so that the PCB would be significantly easier to hand-solder. We also added a power switch so that the user could keep the BeagleBoy off without removing the batteries. The 12 buttons are in positions to emulate an older controller or handheld designed by Nintendo, which means the BeagleBoy includes the standard A, B, X, Y, L, R, start, and select buttons along with a directional pad. This configuration allows the BeagleBoy to be used like a Gameboy Advance or an SNES controller, allowing the user to be more flexible when choosing an emulation program.
The circuit design included several contingency plans in order to achieve successful completion of the project goals within the given time limits. First, steps were taken in the design process to ensure the cape could function on its own, without a case being necessary. The batteries were placed toward the sides of the cape so that their weight would be evenly distributed and to provide gripping points in the event that a user does not have a case. The pads for the controller buttons are dual-purpose. The two large rectangular pads allow for the specific design of buttons used in a traditional video game controller to be integrated into the case design, while the nearby through hole pads provide a way for tactile switches to be soldered directly to the cape. Successful completion of a compatible case to house the BeagleBoy made this path unnecessary for our project, but still influenced the initial PCB design.
The BeagleBoy includes an ABS plastic case to house the BeagleBone Black and the BeagleBoy cape. In an interdisciplinary effort, the PCB and 3D-printed case were designed in tandem so that all components of the cape would fit together. The case holds the controller buttons in place and in alignment with the rectangular pads on the PCB while housing the BeagleBone Black and still maintaining access to the HDMI, USB, and Ethernet hubs. The BeagleBoy cape stacks on top of the microcontroller with controller buttons coming through the top of the case to enhance usability. Supports inside of the case prevent movement of components during use. The case also allows the headers from the BeagleBoy to come through so that the LCD cape can be stacked on top. The overall goal of the case is to allow the user comfort while using the cape/playing the device.
Check out the BeagleBoy on Youtube: http://www.youtube.com/watch?v=ulZzFabnbY8