We built a custom retro gaming station for our lab using Batocera Linux, an open-source retro gaming distribution that turns almost any computer into a multi-platform emulation powerhouse. Here's how we did it and what we learned.
Why Batocera?
Batocera is a lightweight Linux distribution dedicated to retro gaming. It boots directly from a USB drive or SD card and supports hundreds of emulators out of the box, from Atari 2600 and NES through to PlayStation, Dreamcast, and even some modern platforms. Unlike RetroPie, Batocera works on standard x86 PCs as well as Raspberry Pi, making it perfect for our recycled office hardware.
The Hardware
We used a compact mini PC with decent specs:
- Intel Core i5 (8th gen or newer works great)
- 8GB RAM (4GB is minimum, 8GB recommended for PS2/GameCube emulation)
- 256GB SSD for the system and game library
- USB controllers: we went with 8BitDo Pro 2 controllers for their retro feel and Bluetooth support
- HDMI output to a large screen TV in the lab
Building the box
The cabinet itself is our own build: a 3D-printed frame joined into a plywood body, arcade buttons and joysticks wired to a USB encoder, and a spare monitor behind the bezel. The gallery below walks through the build, from the first printed frame piece to kids playing on the finished box.








Setting Up Batocera
The installation is remarkably simple:
- Download the latest Batocera image from
batocera.org - Flash it to a USB drive using Balena Etcher or dd
- Boot the PC from the USB; Batocera's EmulationStation frontend loads automatically
- Configure controllers, network, and display settings from the main menu
- Add games: connect via network share or plug in a USB drive with ROMs organized by platform
Our Custom Distribution
We customized our Batocera installation for the educational environment:
- Curated game library: games with educational value, from puzzle and strategy games to historically significant titles
- Custom theme: a custom-branded EmulationStation theme with our colors and logo
- Parental controls: age-appropriate filtering and no online connectivity for younger users
- Kiosk mode: students can play but not modify system settings
- Save state management: automatic save states so students can pick up where they left off
Platforms We Support
Our station currently runs games from over 20 platforms, including:
- 8-bit era: NES, Master System, Game Boy, Atari 2600
- 16-bit era: SNES, Mega Drive/Genesis, TurboGrafx-16
- 32/64-bit era: PlayStation, N64, Saturn
- Handheld: Game Boy Advance, DS, PSP
- Arcade: MAME collection with classic cabinet games
- Modern retro: Dreamcast, PS2, GameCube (on the more powerful hardware)
Educational Value
Retro gaming isn't just nostalgia; it has real educational benefits:
- History of computing: students see how technology evolved from simple sprites to 3D graphics
- Game design principles: classic games teach tight mechanics, level design, and difficulty curves
- Problem solving: many retro games require genuine puzzle-solving and strategic thinking
- Linux skills: maintaining the Batocera system teaches basic Linux administration
- Hardware appreciation: understanding what was possible with limited hardware resources
What's Next
We're planning to:
- Build a second station with portable controllers
- Create a “Game History” curriculum around the platform evolution (see From Pong to Switch)
- Add a coding component where students modify open-source retro games
- Set up multiplayer tournaments with the classic competitive games
The Batocera retro gaming station has become one of the most popular attractions in our lab. It proves that you don't need the latest hardware to have a great gaming and learning experience.