It’s also a testament to the open source community, readily available data sheets and manufacturing houses, and the tenacity to teach yourself engineering. Groguard, like many of us, is self-taught and pursuing his passion for making through custom projects.
The Early Days of Groboy
The Groboy project goes back several months to early summer when Groguard first received his Dev Kit. As he tells it:
“I’ve always wanted to build my own handheld. I had seen people using Raspberry Pi’s to do it, but I wanted something a little more custom. I wanted to make my own PCB and make it thinner and more pocketable. I didn’t want mine to just be another iteration on something that had been done. I wanted it to be my design from the ground up.”
The first big success came early in the process, “I got the SPI stuff going and had DOOM running on the devkit pretty quick.” At the time, there were very few project that used SPI displays with C.H.I.P. Pro and seeing a working example shared on the forum was exciting.
But the early successes slowed and the custom Groboy hardware took a bit longer to get right.
Groboy Hardware Iteration
After 4 revisions of the board, Groguard had the design where he wanted it. The custom OSH Park PCB at the heart of Groboy routes signal lines from the 2.8″ TFT display, headphones jack, internal 2500mAh LiPo battery (he estimates 3-5 hours of battery life, though he’s not rigorously tested it), and the PCA9555 I2C GPIO expander, which manages inputs from the 11 onboard buttons, to the respective input and output pins on C.H.I.P. Pro.
Hand assembly of the PCB takes about 10-15 minutes and Groguard figures he can build about 20 per day. The custom 3D printed enclosures, however, take about half a day to print. Once the final revision of the board and enclosure are complete, he plans to release the design files as open source hardware.
Groboy Software: Yes, it Runs DOOM
— Groguard (@groguard) October 13, 2017
Groboy runs GadgetOS, a Buildroot Linux system with support for running Docker containers. In GadgetOS, multiple containers can be run simultaneously. This allows for containers to isolate each of the subsystems of the software. In the case of Groboy, RetroArch, the SSH server for transferring software and game files, the GPIO_keys for interacting with the PCA9555 IC, and the module-loader for loading the TFT display driver, are each in seperate containers. This make it easy to test, deploy, and share portions of the software stack during prototyping.
The console currently supports RetroArch RGUI with Gameboy, Gameboy Color, and Doom. Additional game files and software can be transferred from a laptop to the Groboy using SFTP, but WiFi setup is still done using the command-line. Grogouard is quick to point out there’s some polishing left to do with the software, and he’s looking to add new contributors to the project. To help attract developers, he’s planning to sell Groboy developer kits, so everyone can work with the same hardware.
When I asked Groguard about his background and how he learned the various software and hardware skills necessary to pull of Groboy, he seemed a bit surprised by the question. “Well, with the internet, you can figure out how to do anything really. 🙂”
Do you have a custom C.H.I.P. Pro project to share? Have a question or two for Groguard about his work? We want to hear about it. Share your questions, your latest prototype, or your final project revision with the rest of the community on Twitter or in the forum. We can’t wait to see what you’re up to.