Clem Mayer created a handheld BASIC computer badge with the Arduino UNO Rev3

Clem Mayer created a handheld BASIC computer badge with the Arduino UNO Rev3

Arduino TeamJuly 22nd, 2023

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!

You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.