Making the World’s Worst Digital Dash Gauge with a Game Boy
John Sutley built the “world’s worst digital dash” using an original (DMG-01) Nintendo Game Boy.
Analog gauges on car dashboards are so 19th century. Digital is in and everything is screens, baby! But nobody says those screens have to be modern… or backlit. To prove it, John Sutley built the “world’s worst digital dash” using an original (DMG-01) Nintendo Game Boy.
Modern cars use something called a CAN (Controller Area Network) bus to provide communication between the various subsystems. The button on the dashboard for the rear window defroster, for example, may not physically toggle power to the defroster. Instead, it could send a message over the CAN bus telling a microcontroller to switch the relay for that power. Most manufacturers avoid publishing details about the details of their CAN buses, but there is some standardization — particularly as it relates to the OBDII port required on all cars in the US since 1998.
For this project, Sutley took advantage of that to get information about the state of his vehicle (a second-generation Hyundai Sante Fe). Using a CAN bus shield on an Arduino Uno, he was able to tap into the car to retrieve relevant data. A lot of different data is accessible, but the most important for this application was the vehicle speed.
With the ability to receive real-time data on the Sante Fe’s speed, Sutley just needed a way to display it like a digital dashboard might. He could have connected an off-the-shelf LCD or OLED screen to the Arduino, but instead chose something much quirkier: the Game Boy.
To get the car’s speed on the Game Boy screen, Sutley had to create his own special game “cartridge” to act as a sort of adapter between the Arduino and the Game Boy console. The Game Boy wasn’t modified, so that cartridge had to work with the standard hardware. Essentially, it is a game that only does one thing: writes a value to the display at regular intervals. But that value changes, with the Arduino writing to the cartridge’s memory that the Game Boy accesses when running the “game.”
The Arduino gets the vehicle speed through the CAN bus shield, then updates the cartridge memory with the new value. The game cycles through a loop of pulling that value and updating the display. Therefore, the Game Boy acts as a digital speedometer.
It is the “world’s worst digital dash” because the Game Boy has an atrocious screen. It is low-resolution, monochrome, and doesn’t even have a backlight. But it does have moxie, which we all know is the most important characteristic of a dashboard gauge.