Stefan Lenz's Microcomputer Turns an Arduino Nano RP2040 Connect Into a BASIC IoT Dev Platform

Designed to mix the immediacy of 1980s programming with modern IoT technologies, this homebrew micro impresses.

Maker Stefan Lenz has created an Arduino Nano RP2040 Connect project with a difference: it's a fully-functional standalone microcomputer, programmable in BASIC, built with the Internet of Things (IoT) in mind.

"So why [run] BASIC on a microcontroller? Everyone who has programmed on 80s microcontrollers misses one thing on modern computer. It is the ease of use when you want to do something quickly," Lenz explains of the project, which was brought to our attention by the Arduino blog. "You could just type in a small program interactively, debug it and step by step extend it. No compiler, IDE, and other stuff in your way. Many IoT programs are really simple. Read a sensor and transfer the data. This can very well done with a really simple programming language."

The heart of Lenz's '80s-inspired microcomputer is the Arduino Nano RP2040 Connect, a low-cost breadboard-friendly development board in the Arduino Nano form factor, which combines the dual-core Raspberry Pi RP2040 microcontroller with 16MB of flash memory and a u-blox Nina W102 module offering Wi-Fi and Bluetooth connectivity β€” making it ideal for the Internet of Things, and by extension Lenz's ambitious project to turn it into a fully-functional stand-alone development platform.

"The computer […] has an SD Card filesystem and a 480Γ—320 color display with 30Γ—20 text character and a 16Γ—16 default font," Lenz explains. "It has a real time clock for exact time and a PS/2 keyboard for input. A [thermal] printer can be connected serially. Any 7-12V power supply can be used as the board has a 5V voltage regulator. There is 64kB of usable BASIC memory and 2GB disk space."

On the software side, the computer β€” like its 1980s inspirations the Commodore 64, ZX Spectrum, BBC Micro, Atari 800, and others β€” runs a version of the Beginner's All-Purpose Symbolic Instruction Code (BASIC) programming language, suitably extended to fully support strings, graphics, floating-point processing, and handling of the Arduino board's general-purpose input/output (GPIO) capabilities. As a result, external hardware can be connected and a program quickly written to test out a potential project β€” with examples including color graphics handling, Wi-Fi connectivity, and MQTT message handling.

Instructions on building your own can be found on Lenz's Instructables page, along with the suggestion to try using an Arduino MKR board or Espressif ESP32 "for a smaller version."

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles