Although we recently launched the new 32-bit Arduino UNO R4, Clem Mayer wanted to honor its 8-bit predecessor by making something special using the Rev3. Drawing on old hardware designs, the ZX-81 is an 8-bit computer based on the Z80 processor which has 1KB of RAM and 1KB of EEPROM available for the user to utilize within the operating environment — typically a BASIC interpreter shell. Similarly, Mayer wanted to have one ATmega328P run the TinyBASIC interpreter while a secondary ATmega328P would handle the external keyboard and display due to resource constraints.
The PCB was designed to fit within the form factor of a standard event badge, complete with a small multiplexed keyboard and a 20×4 monochrome LCD screen to fit the retro theme. On the back layer of the board are both AVR MCUs in a surface-mount package to save on space along with a pair of battery holders and a buzzer/power delivery circuitry.
Although the code was working for the most part, Mayer still encountered a couple of problems which he solved mainly through bodges and ensuring the LCD was producing adequate contrast. Once the hardware was functioning as intended, he 3D-printed a case and turned it into a lanyard-attached device — complete with blinky lights and a highly interactive interface.
The finished handheld computer badge is a testament to the power and versatility of the Arduino Uno R3. By utilizing all available pins and space on the chip, Clem successfully transforms the Arduino Uno into a handheld computer with capabilities like the ZX-81. The project serves as a fitting tribute to the beloved Arduino UNO R3 and showcases the potential for DIY electronics with microcontrollers.
To see more on this project, be sure to watch Mayer’s video below!