Before getting into the full description, there is credit to be given first, otherwise this whole project would start by not respecting its own principles.
At the 2016 Hackaday superconference was introduced what, in my mind, could be qualified the coolest, nerdiest and cutest project I ever came across. Sprite_TM simply blew the minds of many people that day, myself included, with his tiny Gameboy emulator that was not only the cutest thing ever but also the full package: a great display of what one man, with knowledge of both hardware and software development can achieve.
This project, Keymu, stems from the idea that the incredible feat that Sprite_TM was able to pull off can be passed on to anyone who is willing to learn electronics and software development, so that anyone can build their own amazing little keychain emulation console. The strength of Keymu is to propose fully detailed and complete tutorials along with the source files, for each part of the development, with photographs and videos, so that any tech-lover, retro-gamer, electronic enthusiast, (…) out there who wants to build one from scratch and enhance it the way they want can do so.
Simply copying someone's work, even if making everything open-source and with tutorials, would neither have been original nor fun. Instead Keymu takes the idea from Sprite_TM a step further by incorporating a Linux Debian distribution allowing to install multiple emulators (GameBoy Color, GBA, NES, SNES…). The design has also been rethought, while keeping a Keychain form factor (42x46x17mm), to include a 3D printed foldable screen mechanism allowing more space for the buttons and more protection against the harsh environment that represents someone's pocket.
The first Intel Edison based Emulation console
Thanks to the Raspberry Pi foundation and its amazing community, many versions of multi-platform emulators have been proposed and it is fairly easy nowadays to build its own emulation device, using a Raspberry Pi (any version) coupled with the well-known retroPie distribution.
Keymu however, could not be based on a Raspberry Pi for the obvious reason being that even the smallest version out there (raspberry Pi zero or zero W) is still way too big to make a complete package qualifiable as “keychain sized”. Instead, and this is a first, the system on chip used as core component is the Intel Edison. I am not pro-Edison and in fact the project will discuss in depth the different pros and cons of using this chip, but as of today, and to my knowledge, no other system on chip can compete with the features/size ratio given the constraints of this project.
Open-souce software, electrical and mechanical design
What is given and easy to install for a raspberry pi is neither given nor easy on the Intel Edison, and this is a good thing. Developing on this platform is a great way to learn about Linux: How to install and customize a Debian distribution, how to build and add drivers into the kernel for driving a color OLED screen through SPI with DMA enabled (on a supposedly headless module), for defining a custom keyboard from GPIOS, for adding PWM audio …
Keymu brings software development knowledge but it is also about hardware. And to continue with the philosophy of this project, all about its hardware is shared, along with commentaries, tips and thoughts for the PCB design, BOM, CAO, and 3D printing process.
If you are interested or curious about Keymu, then you are most welcome to read the tutorials here or on the dedicated website as they will be published and try/build/play with/enhance this project for yourself.