Students

Michael Swart
COS, 2019

Matthew Payne
Psychology, 2019

Project Description

Inspired by our days of playing with the first Nintendo gameboy, we wanted to use the EPICs lab to create a bigger version of a Nintendo color both to help create a fun experience for users and to challenge ourselves in the fields of woodworking and inlaying, computer science, and electrical engineering. This project also helps commemorate the 30th anniversary of the first Gameboy. In the EPICs lab, we created buttons made from wood and inlayed aluminum for lettering and symbols. We created a wooden frame for the gameboy using plywood and scrap wood and painted it orange. Using a computer monitor hooked up to a Raspberry Pi and some special inputs, we built connected the physical buttons to a game that we programmed ourselves. Our gameboy is completely playable, which was our main goal. In order to fabricate this project, we used the Carvey, the X-Carve, the belt sander, the table saw, and a dremel, in addition to the raspberry pi with pushdown buttons connected with jumper cables.

Technical Background

Our large gameboy was built using a Raspberry Pi 3 B+, which is basically just a regular computer’s circuit board. A Raspberry Pi comes with no keyboard, mouse, or display and does not need any of these things to run, though actually doing anything without these devices would be difficult, at least while programming it. Everything about this computer is configurable. For example, when setting up our Raspberry Pi we had to download an operating system for it to use. Most commercial, off-the-shelf computers do not provide this level of configurability for a multitude of reasons. A MacBook, for instance, uniformly runs a linux operating system, which makes it easy for Apple to release software updates to all of its computers and to be able to service and fix each computer in a similar fashion. The fact that a Raspberry Pi allows a user to download any operating system shows the emphasis on configurability that the creators of this computer envisioned. Configurability is not something which other computer manufacturers design for. A Raspberry Pi comes with a lot of functionality because of it’s configurability and its inexpensiveness relative to other computers. We aimed to use the special configuration of the Raspberry Pi to our advantage during this project. Most notably, the Raspberry Pi 3 B+ comes with 40 General Purpose Input/Output (GPIO) pins that can be configured with a breadboard and some wires to do any task. Buttons, switches, lights, small electric motors, liquid flow meter and many other accessories can be attached to GPIO pins to either send signals to the computer or receive signals from the computer. For example, a button could send a signal to the computer to run some code, whereas a light could be turned on or off using some different code. Each pin of the 40 has a specific function, such as providing power to an input/output device, grounding a current, or receiving input and sending output signals. It is also possible to download programming libraries onto a Raspberry Pi, which we did with the pygame library. This library creates a Graphical User Interface (GUI) that the user can actually see and that the code can manipulate to draw shapes and write text. Using the GPIO buttons and the pygame library, we created a simple miniature golf game, complete with a hit counter, power meter, start/stop functionality, and even a color changing feature. Each function in the game shows off the usability of one of the buttons on our gameboy.

https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/

https://www.macworld.co.uk/feature/apple/why-programmers-think-mac-os-x-is-best-os-use-3638706/

Design Drawings

Fabrication Process

Final Result