Project Overview
amiibrOS is an electronics/embedded-software summer project started in 2019.
The original goal of the project was to create a retro art display which would change to reflect an Nintendo Amiibo figure scanned by its built-in scanner.
As time progressed, however, the project turned into a video game console and the display functionality was implemented as a slideshow app - one of the many kinds of apps amiibrOS now supports.
At the end of its initial development time (Summer 2019), the major proof-of-concept goals were completed with only polish details left for me to implement someday later.
Hardware
The hardware consists of:
- Raspberry Pi 3B+ used to run amiibrOS system software.
- PN532 Breakout Board for scanning NFC tags embedded within Nintendo Amiibo figures.
- LTN170X2-L02 LCD screen salvaged from an old Gateway laptop.
- LTN170X2-L02 LCD compatible controller board such as this one from Amazon
- Custom power module which supplies 3A+ split across 5V and 12V.
- 12V 3A power adaptor with a 5.5mm jack output.
- Power switch fashioned from a N.O. Push Button switch, jumper cables, and Lego.
I also played around with bluetooth and was able to get an 8Bitdo N30 Pro 2 to work (though you can see me struggle to operate it in the video).
I built an enclosure hastily out of Lego. It will hold the project together while I get around to designing and building a better enclosure.
Software
The main part of the amiibrOS project was its system software - dubbed “amiibrOS”. The software would run on a custom, minimal Linux built via Buildroot. There are several software components, including:
- amiibrOS main system software coded in C with interface using Raylib graphics library.
- Python program for scanning NFC and using a pipe to communicate to amiibrOS main system software.
- Python program launched via init.d to monitor the GPIO connected to the power switch.
- Optional slideshow application coded in C also using Raylib.
- A fork of Buildroot containing a default configuration for building amiibrOS automatically.
All of the software can be found at the GitHub project: https://github.com/jpyankel/amiibrOS