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.
Already a subscriber ? Sign In
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.
Already a subscriber? Sign In
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.
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.
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.
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.
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.
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.
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.
Create Your Own PCBs with a CNC Milling Machine
Using KiCad, CopperCAM, and Candle Software
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.
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.