"A guy named Andrew Henderson thought it would be a good idea to turn his BeagleBone into a Super Nintendo - and we couldn't agree more. With the BeagleBone Black, you have a chance to take a trip down Memory Lane by creating your own game system." - BeagleBone For Dummies


The Beagle Entertainment System (BES) is an embedded Linux appliance that turns your BeagleBone Black hardware into a retrogaming platform. It combines a custom GUI front-end for selecting games, a web-based configuration interface for uploading ROMs and configuring USB gamepads, and patched bootloader with Linux kernel to create a stand-alone console capable of playing Gameboy Color, Gameboy Advance, Nintendo Entertainment System, and Super Nintendo Entertainment System software. BES boots a Linux kernel and OS from the BeagleBone's microSD card. ROM images, instant save state snapshots, and saved games (for the titles that originally saved games to an internal cartridge SRAM), are also stored onto the microSD card.

Originally, BES was only BeagleSNES, a BeagleBoard/BeagleBone port of SNES9x. It has grown since then, making BeagleSNES a subset of the overall BES codebase. If you are looking for BeagleSNES, BES has it!

The v0.8 release of BES is for BeagleBone Black only. If you have a BeagleBoard-xM, you can still play the original BeagleSNES (SNES-only) using version v0.6.

BES uses your BeagleBone Black's HDMI output to send both audio and video to your HDMI television. While BES is capable of playing most titles without any issue, some performance-intensive titles (such as SNES titles using Super FX technology) will still run at an adequate framerate for the BeagleBone Black. Titles using Mode 7 graphics and/or multiple layers of transparent tiles, however, will run just fine.

BES Hardware

You'll need to use an external power supply to power your hardware. Powering the BeagleBone via USB will not work because it does not provide enough power to the system. You'll also need a microHDMI-to-HDMI cable to hook BeagleSNES up to your television. The only supported game controller is the Tomee USB SNES gamepad, though most USB gamepads with enough buttons will work if you change the gamepad button mappings via BES's configuration web interface to support their particular button mapping scheme. To use two USB gamepads, you must use an external USB hub to provide the additional USB host ports for the gamepads to plug into. The BeagleBone Black also supports using GPIO for input, as well as native SNES gamepad interfacing.

BES Software

The latest version of BES is version 0.8. This release is a snapshot of the current BES development system for the BeagleBone Black.

The easiest way to get BES up and working quickly is to download a complete microSD card image and then dd it into a fresh SD card. Read the documentation page for full details.

NOTE: The username for this system is "ubuntu", and the password is "temppwd".

Future Work

BES works and is stable, but it is far from being complete. Much work still needs to be done to move the project from its current prototype state to a finished, solid system. The kernel of the BeagleBone Black is still a bit quirky and is constantly improving as patches roll in from the community. Some of the issues that are currently in the pipeline are discussed in the documentation available for download on the documentation page.

Eventually, BES will become a full-fledged retrogaming console/appliance. This is a pretty big job, but it is slowly and surely moving in that direction. Your bug reports and feature requests all go into the development queue, so please let us know if you run into any trouble.