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

2022-10-27 10:51:53 By : Mr. Peter Zhang

Please ensure that JavaScript is enabled in your browser to view this page.

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."

Hackster.io, an Avnet Community © 2022