lcm-proj/lcm

Lightweight Communications and Marshalling

Java

1,211

877 commits

updated Sep 24, 2026

See the code

README

Lightweight Communications and Marshalling (LCM)

LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages.

Roadmap

The LCM project is active again. The current long-term plan is to focus on stability and maintenance patches to fix longstanding issues. Longer term we're open to evolution of LCM to have additional features (as long as backwards compatibility is enforced). We're very open to community feedback and involvement on new features.

Quick Links

Features

  • Low-latency inter-process communication
  • Efficient broadcast mechanism using UDP Multicast
  • Type-safe message marshalling
  • User-friendly logging and playback
  • No centralized "database" or "hub" -- peers communicate directly
  • No daemons
  • Few dependencies

Supported platforms and languages

  • Platforms:
    • GNU/Linux
      • Ubuntu (22.04 and 24.04)
      • Fedora (42)
    • macOS (14 and 15)
    • Windows (2019 and 2022)
  • Languages
    • C
    • C++
    • Java
    • Lua
    • MATLAB
    • Python (3.7 and later)

Unmaintained languages

The following languages are currently unmaintained. PRs for these languages are still welcome and if you are interested in maintaining them please let us know.

  • Go
  • C#/.NET

lcm-proj/lcm

Lightweight Communications and Marshalling

Java

1,211

877 commits

updated Sep 24, 2026

See the code

README

Lightweight Communications and Marshalling (LCM)

LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages.

Roadmap

The LCM project is active again. The current long-term plan is to focus on stability and maintenance patches to fix longstanding issues. Longer term we're open to evolution of LCM to have additional features (as long as backwards compatibility is enforced). We're very open to community feedback and involvement on new features.

Quick Links

Features

  • Low-latency inter-process communication
  • Efficient broadcast mechanism using UDP Multicast
  • Type-safe message marshalling
  • User-friendly logging and playback
  • No centralized "database" or "hub" -- peers communicate directly
  • No daemons
  • Few dependencies

Supported platforms and languages

  • Platforms:
    • GNU/Linux
      • Ubuntu (22.04 and 24.04)
      • Fedora (42)
    • macOS (14 and 15)
    • Windows (2019 and 2022)
  • Languages
    • C
    • C++
    • Java
    • Lua
    • MATLAB
    • Python (3.7 and later)

Unmaintained languages

The following languages are currently unmaintained. PRs for these languages are still welcome and if you are interested in maintaining them please let us know.

  • Go
  • C#/.NET

Project health

Overall

3.2/10

Maintained

7/10

Code review

10/10
OpenSSF Scorecard

Significant stargazers

myd7349

269 followers · starred Mar 2026

Gabriele Baldoni

31 followers · starred Nov 2022

Viktor Vilhelm Sonesten

37 followers · starred Oct 2020

Chris Mower

76 followers · starred Aug 2023