So keeping in line with my general theme of “anything big companies do, I can do worse” I’m going to attempt to make a retro game console stylized after the Nintendo Switch. Building a retro console is something I’ve wanted to do for a while now, but I’ve never gotten farther than a bare Raspberry Pi running RetroPie. Making this project would give me a retro console like I’ve wanted with some of the features provided by the Nintendo Switch. Another reason I wanted to do this project is because it’s been so long since I’ve done any high level programming or Linux development. With OpenADR moving away from Linux, this project will be a refreshing change of pace, a chance to brush up on old skills, and an opportunity to learn more.
And luckily for me, there are a ton of great resources that I can utilize for my build. RetroPie already has a great emulation console and interface with tons of users. Additionally, what I’m doing will be heavily based on Adafruit‘s PiGRRL. A lot of the design, programming, and resources are already there, I just need to remix them for what I’m trying to do.
Primary Goals
The main goals of the project are as follows:
For the Console:
- Portable
- Docking station for playing on the TV
- Compatibility with a wide array of games (1st gen through 5th gen)
- Enough resolution to do compatible games justice
- Speaker(s) for sound in portable mode
- WiFi and Bluetooth connectivity
- USB charging
- >= 2 hours of battery
- Up to four players
- Touchscreen
For the Two Controllers:
- Easy to connect and disconnect from console
- Wireless
- 1x D-pad
- 4x action buttons
- Usable as a single controller or two separate controllers
- >= 2 hours of battery
- USB charging
Secondary Goals
The less important goals of the project are as follows:
For the Console:
- High quality stereo audio
- >= 4 hours of battery
For the Two Controllers:
- Analog sticks instead of a D-Pad
- Chargeable via console
- Controller mount with external battery
- Controller mount with wireless audio
- >= 4 hours of battery
- Bluetooth Low Energy
- Easy way to dynamically switch controller configurations
Tertiary Goals
Some “nice to haves”:
For the Console:
- >= 6 hours of battery
For the Two Controllers:
- Accelerometer support
- >= 6 hours of battery