Learn Lisp Programming Using MCUS

µLisp is a dialect of the Lisp programming language for MCUs with limited RAM. In Part 1, Raul presented µLisp concepts and syntax, and extensions specific to MCUs, and in Part 2, he added extensions by using custom functions. In Part 3 of this article series, he implements a new extension to multiply matrices, and uses µLisp to implement forward kinematics for a mini robotic arm.
In this last part of the series on Lisp programming with microcontrollers, we will use everything we previously learned about µLisp programming. We will compute "forward kinematics" (the process of computing the pose of a robotic arm, based on the angles of its rotating joints), using homogeneous transformations for the three-degrees-of-freedom (3DOF) mini robotic arm presented in Part 2 of this article series [1]. To achieve this, we will implement a matrix multiplication extension to µLisp. Along the way, we will also continue to further explore the Lisp programming language, while we challenge ourselves with math and the fundamental concepts of robotic arm kinematics.
To follow the topics discussed here, you need to be familiar with Arduino and µLisp programming. Please see the first two parts of this article series for information [1, 2]. "Robot kinematics" refers to the relation between the geometry and movement of a robot. It is also desirable to have some background in robot kinematics with the Denavit-Hartenberg convention and homogeneous transformations, so I will give a simple explanation of the basics. The latter, however, is really tangential to the subject of the entire article series.
LISTS AND ARRAYS
This story is from the March 2025 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.
Already a subscriber ? Sign In
This story is from the March 2025 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.
Already a subscriber? Sign In

HSYCO Unveils New BACnet Server Driver for Enhanced Building Automation
HSYCO, a leading provider of integrated building management solutions, is excited to announce the release of its new BACnet Server driver.

Longsys Launches 7.2mm Subsize eMMC, Breaking the Physical Space Constraints of AI Wearables
In the design of wearable devices, every millimeter matters.

The Future of Voice-Enabled AI Industry Advancements in MEMS Microphones for Voice AI
Acoustic Activity Detection and High Acoustic Overload Point Transform Voice Interaction Advancements in MEMS microphones are enhancing voiceenabled AI technologies across various consumer electronics.

Exploring the RP2350 Security
Raspberry Pi's Novel \"Security through Transparency\" Approach

Pison and STMicroelectronics Announce Timex as Neural Sensor Partner, Ushering a New Era of Neurocognitive Wearables
Pison, the trailblazer in AI-powered neural sensors for neurocognitive health, wellness, and gesture control, announced it has begun licensing its innovative neural sensor to leading smartwatch and wearable brands.

Datasheet: DSPs and DSCs
Smarter Algorithms and Beyond

An Air Quality Monitor with a Blues Satellite Link Module
Brian had no sooner finished the review of Blues' LoRa Notecard when the new Starnote module was introduced. This module allows an IoT device to link to a geosynchronous satellite, for situations in which neither WiFi nor Cellular data links are operational. This article describes a project using the Starnote module.

Create an AI-Driven Smart Home Security System
Part 1- Setup and First Steps of the Raspberry Pi AI Kit

Wearable Devices Announces Availability of its Mudra Link Neural Gesture-Control Wristband
Wearable Devices, Ltd., announced the general availability of its Mudra Link, the first neural wristband for Android, macOS, and Windows devices.