Learn to Program MCUs with uLISP
Circuit Cellar|October 2024
Part 1: Crash Course Offers Insight Into Pioneering Language
Raul Alvarez Torrico
Learn to Program MCUs with uLISP

Lisp is a Turing-complete programming language, based on Alonso Church's lambda calculus. It was designed by John McCarthy and published in his 1960 paper, "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" [1]. Of its many dialects, Common Lisp and Scheme are the best known, along with the newer Racket and Clojure.

Lisp pioneered many programming language ideas now commonly in use [2], such as higher order functions, recursion, lexical closures, dynamic typing, tree data structures, automatic garbage collection, and the read-eval-print loop (REPL). I've been programming in Common Lisp and Scheme as a hobby for many years. Recently, I discovered uLisp, a version designed to run on microcontrollers (MCUs) [3]. As a fan of Lisp and embedded systems, for the past few years, I've been willing to try the uLisp platform and write about it.

In this article I begin by discussing very simple uLisp examples that showcase basic syntax and programming concepts. Then, I discuss some extensions to the language that deal specifically with MCU-related functionalities, such as general-purpose input/ output and I2C serial data communications. I present some hardware examples using Seeed Studio's Wio Terminal development board and the Sensirion SGP30 gas sensor. Nevertheless, uLisp support as well a few other MCU platforms.

To follow the topics discussed here, you just need a basic knowledge of microcontrollers and the Arduino platform.

ULISP CRASH COURSE

uLisp is available for many MCU boards in five versions [4]. The version of uLisp that you wish to use can be downloaded free from uLisp.​com:

1) AVR: for Arduino Mega 2560, ATmega 1284, and AVR DA/DB series.

2) AVR-Nano: for Arduino UNO, Arduino Nano, and Arduino Every.

3) ARM: for Arduino Zero and MKTZero, Adafruit MO, M4, PyBadge/PyGamer, nrf52840 and Clue, BBC Micro Bit, Teensy 40/4.1, RP2040-based boards, and others.

This story is from the October 2024 edition of Circuit Cellar.

Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.

This story is from the October 2024 edition of Circuit Cellar.

Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.

MORE STORIES FROM CIRCUIT CELLARView All
As a 'Matter of Fact
Circuit Cellar

As a 'Matter of Fact

Inside atest Home Control Consolidation Attempt via Google Home and Matter-over-Thread

time-read
10+ mins  |
November 2024
Industrial Computers Boost Machine Vision Systems
Circuit Cellar

Industrial Computers Boost Machine Vision Systems

GPU and CPU Performance Drive Rugged Industrial Platforms

time-read
6 mins  |
November 2024
Infineon Introduces Industry's First 20 Gbps Universal USB Peripheral Controller
Circuit Cellar

Infineon Introduces Industry's First 20 Gbps Universal USB Peripheral Controller

Infineon Technologies announced the addition of the EZUSBTM FX20 programmable USB peripheral controller to its EZ-USB product family.

time-read
1 min  |
November 2024
Microchip Makes it Easier to Build Sophisticated GUIs for MPLAB Harmony v3 and Linux Environments
Circuit Cellar

Microchip Makes it Easier to Build Sophisticated GUIs for MPLAB Harmony v3 and Linux Environments

Designers are incorporating Graphical User Interfaces, or GUIs, into more electronic devices to enhance the user experience by providing intuitive and visually appealing interactions with today's modern applications.

time-read
1 min  |
November 2024
Entertainment On Wheels
Circuit Cellar

Entertainment On Wheels

In-Dash Panels Control Head Units, Multiple Displays, Cameras and Sensors

time-read
10+ mins  |
November 2024
Using Amazon Alexa to Control Custom IoT Gadgets
Circuit Cellar

Using Amazon Alexa to Control Custom IoT Gadgets

Integrating Voice Recognition for Smart Home Projects

time-read
10+ mins  |
November 2024
Datasheet: Power Up With DC-DC Converters
Circuit Cellar

Datasheet: Power Up With DC-DC Converters

Application Types Drive Parameters Beyond Efficiency and Density

time-read
3 mins  |
November 2024
D&D Die Roller with Raspberry PI RP2040
Circuit Cellar

D&D Die Roller with Raspberry PI RP2040

Fantastical Project Built with MCU TFT Display and LVGL Graphics

time-read
10+ mins  |
November 2024
No Blues with Bluetooth!
Circuit Cellar

No Blues with Bluetooth!

Part 6: Bluetooth Cybersecurity Basics

time-read
10+ mins  |
November 2024
LoRaWAN Goes the Distance at Low Power
Circuit Cellar

LoRaWAN Goes the Distance at Low Power

IoT’s Versatile Protocol for Long-Range, Wide-Area Connectivity

time-read
10+ mins  |
November 2024