← Back to Main Site

About LispBM

LispBM (LBM) is a Lisp or Scheme-like programming language for microcontrollers. LispBM also borrows a couple of ideas from Erlang when it comes to concurrency, message passing, pattern matching and process monitoring. The LispBM runtime system can be compiled for either 32 or 64-bit platforms and runs on a wide range of hardware such as, for example, STM32, NRF52, ESP32 or X86. When running the LispBM runtime system on a microcontroller, it can be built on top of ChibiOS, FreeRTOS or ZephyrOS or, if you are adventurous, on bare-metal. LispBM can also be built to run on top of regular Linux (and now even Windows).

Who wouldn’t want a REPL (read eval print loop) on their embedded platform? This is what LispBM is for!

Why Lisp?

New to Lisp? The Why Lisp? page covers the personal motivation for making a Lisp, why Lisp is a good fit for embedded systems, and the story of how LispBM went from a hobby project to a production system.

About the author

Bo Joel Svensson (Joel Svensson) is a Swedish computer scientist with a Ph.D. from Chalmers University of Technology. Joel’s main research interest is focused on programming language and runtime system design for resource-constrained or otherwise “non-standard” computer systems — from microcontrollers on one end of the spectrum to GPUs on the other.

Joel is also a member of the team at VESC Labs.

Other Lisp-based Languages for Microcontrollers

Explore a range of Lisp-like programming languages that are tailored for microcontroller development. These languages are designed to thrive in resource-constrained environments, making them ideal choices for embedded systems. Whether you’re looking for a lightweight solution or a minimalist Lisp dialect, these languages offer unique approaches to microcontroller programming.

  • uLisp: A Lisp dialect specifically designed for microcontrollers. Learn more
  • FemtoLisp: A minimalistic Lisp designed for resource-constrained environments. Learn more
  • PicoLisp: A lightweight and minimalistic Lisp dialect for both server-side and embedded programming. Learn more

Is your favorite microcontroller Lisp missing from this list? Please send the details in an email to bo(dot)joel(dot)svensson(whirly-a)gmail(dot)com.