Skip to content

micro-LF#

Deterministic concurrency for embedded systems. micro-LF brings the reactor model of computation to resource-constrained microcontrollers—eliminating race conditions, deadlocks, and non-determinism.

Key Features#

  • Deterministic Concurrency


    Logical time ensures reproducible behavior. Given the same inputs, your program produces the same outputs—every time.

  • Resource Efficient


    No dynamic allocation at runtime. All memory is pre-allocated, making the uLF runtime suitable for safety-critical systems.

  • Multi-Platform


    Write once, run on Zephyr, RIOT, FreeRTOS, ESP-IDF, Raspberry Pi Pico, or bare metal with minimal changes.

  • Federated Execution


    Distribute reactors across multiple nodes while maintaining determinism through coordinated scheduling.

Supported Platforms#

Lingua Franca#

Lingua Franca Lingua Franca

Lingua Franca is a polyglot coordination language for building deterministic, concurrent systems. The uLF runtime is the embedded runtime that enables LF programs to run efficiently on microcontrollers.

Learn more at lf-lang.org

Quick Example#

A simple blinky reactor that toggles an LED every 500ms:

target uC

main reactor {
  timer t(0, 500 ms)
  state led_on: bool = false

  reaction(startup) {=
    // Initialize LED GPIO
  =}

  reaction(t) {=
    self->led_on = !self->led_on;
    // Toggle LED
  =}
}

Get Started#

  • Getting Started


    Set up your first micro-LF project with our step-by-step guide.

    Getting Started

  • Philosophy


    Understand the reactor model, logical time, and deterministic concurrency.

    Design Philosophy

  • Documentation


    API reference, annotations, and compile flags.

    Documentation

Community#

Built by researchers and engineers from leading institutions worldwide:

TU Dresden TU Dresden

UC Berkeley UC Berkeley

DTU

University of Verona

Join Us

This project is looking for collaborators, users, and industry partners to fully realize the potential of the reactor model for embedded systems. Join our Google Group or reach out to us!