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 {{IssueName}} edition of {{MagazineName}}.

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 {{IssueName}} edition of {{MagazineName}}.

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
New TI MCUs Enable Edge AI and Industry-Leading Real-Time Control to Advance Efficiency, Safety, and Sustainability
Circuit Cellar

New TI MCUs Enable Edge AI and Industry-Leading Real-Time Control to Advance Efficiency, Safety, and Sustainability

Texas Instruments (TI) introduced two new series of real-time microcontrollers that deliver advancements to help engineers achieve more intelligent and secure processing in automotive and industrial applications.

time-read
1 min  |
January 2025
Using Amazon Alexa to Control Custom IoT Gadgets
Circuit Cellar

Using Amazon Alexa to Control Custom IoT Gadgets

In part two of his article, Brian describes integrating custom IoT gadgets with Amazon Echo using emulation to receive spoken alarms. In part one, he used emulation and Arduino Cloud services as a middleman.

time-read
10+ mins  |
January 2025
Holiday Hangover Hardware Hacking
Circuit Cellar

Holiday Hangover Hardware Hacking

Having too much cheer during the holidays? In this month's article, Colin offers a diversion from the jolly season by urging developers to retreat to the basement to brush up on hardware hacking skills. He shows how a low-cost Raspberry Pi Pico and a TP-Link Tapo C200 smart IP camera could become the next automated bird deterrent or a home automation server.

time-read
8 mins  |
January 2025
Datasheet: Microamps Per Megahertz Ultra-Low Power MCUs Minimize Current Consumption
Circuit Cellar

Datasheet: Microamps Per Megahertz Ultra-Low Power MCUs Minimize Current Consumption

How do chip makers differentiate if many ultra-low power MCUs on the market feature the same processor core? The peripherals and different power states offer various ways to manage current consumption down to microamps per megahertz.

time-read
2 mins  |
January 2025
Smart Home Lock Down Matter Provides Security Blanket
Circuit Cellar

Smart Home Lock Down Matter Provides Security Blanket

As more devices in the smart home connect to the Internet, they become increasingly vulnerable to outside attacks. Developers can now add the latest security measures to their Smart Home devices through Matter.

time-read
10+ mins  |
January 2025
Basic Pulse Circuits
Circuit Cellar

Basic Pulse Circuits

In part one of a three-part series, Wolfgang wrote how basic pulse circuits help digital circuits, such as embedded boards with ARM processors, deal with pulse trains or bursts of pulses from the outside. In Part 2, he dives into enabling flip-flops, timing parameters, and synchronization, design tasks needed to capture, detect, and filter pulses.

time-read
10+ mins  |
January 2025
Building a Wi-Fi Router Watchdog
Circuit Cellar

Building a Wi-Fi Router Watchdog

Dev created a watchdog for a Wi-Fi extender using a Raspberry Pi Pico. This monitors Wi-Fi connectivity for his smart home lighting system, which would require a reset twice a year due to rapid power interruptions.

time-read
8 mins  |
January 2025
Create Your Own PCBs with a CNC Milling Machine
Circuit Cellar

Create Your Own PCBs with a CNC Milling Machine

Using KiCad, CopperCAM, and Candle Software

time-read
10+ mins  |
January 2025
Performance Bottlenecks in Embedded Linux Solutions Analysis, Identification, and Mitigation
Circuit Cellar

Performance Bottlenecks in Embedded Linux Solutions Analysis, Identification, and Mitigation

Good performance is a requirement for every technology, and system designers rely on operating systems to ensure fast and smooth transitions in critical applications. Fortunately, Pedro writes, the embedded Linux OS offers ways for finding, analyzing and mitigating performance bottlenecks so embedded systems can deliver the speed and efficiency that end users expect.

time-read
10+ mins  |
January 2025
Renesas New RA8 Entry-Line MCU Groups Brings High Performance of Arm Cortex-M85 Processor to Cost-Sensitive Applications with Market-Leading CoreMark Performance
Circuit Cellar

Renesas New RA8 Entry-Line MCU Groups Brings High Performance of Arm Cortex-M85 Processor to Cost-Sensitive Applications with Market-Leading CoreMark Performance

Renesas Electronics Corp., a premier supplier of advanced semiconductor solutions, introduced the RA8E1 and RA8E2 microcontroller (MCU) groups, extending the industry's most powerful series of MCUs.

time-read
1 min  |
December 2024