RAMEN 🍜 logo

RAMEN 🍜

Free

flow-based programming implemented in a simple single-header unopinionated library.

FreeFree tier
Type
Open Source
Company
Zubax Robotics

About RAMEN 🍜

RAMEN is a compact, unopinionated, single-header C++20+ library that implements real-time actor-based message passing and flow-based programming. It is designed for hard real-time mission-critical embedded systems and general-purpose applications, offering extremely low overhead and easy integration. The library supports both push and pull dataflow models, is typesafe, has no runtime error states, requires no heap, exceptions, RTTI, or macros, and works on any conventional platform from 8-bit to 64-bit. RAMEN is used in Dyshlo, a motor control and simulation library by Zubax Robotics, and is free and open source.

Key Features

Single-header, dependency-free C++20+ library
Supports push (eager) and pull (lazy) dataflow models
Typesafe, no runtime error states, no heap, no exceptions, no RTTI, no macros
Extremely low overhead with no nontrivial computational complexity
Works on any conventional platform from 8-bit to 64-bit
Unopinionated design, easily coupled with conventional C/C++ code
Powers Dyshlo motor control and simulation library by Zubax Robotics

Pros & Cons

Pros
  • Very low overhead and efficient
  • Unopinionated and easy to integrate into existing projects
  • No external dependencies, single header
  • Typesafe and free of runtime error states
  • Supports both push and pull models for flexibility
  • Cross-platform from 8-bit to 64-bit systems
Cons
  • Requires C++20+ compiler, limiting use with older codebases
  • Limited built-in utilities compared to full event frameworks
  • Documentation and examples may be sparse for complex use cases

Best For

Hard real-time embedded control systemsDigital signal processing (DSP) pipelinesMotor control and simulationGeneral-purpose applications needing lightweight dataflow programming

FAQ

What is RAMEN?
RAMEN is a compact, unopinionated, single-header C++20+ library that implements real-time actor-based message passing and flow-based programming for embedded and general-purpose applications.
How does RAMEN compare to Simulink or LabView?
Unlike model-based design tools that generate opinionated code, RAMEN is a lightweight library that can be easily coupled with conventional C/C++ code without forcing a specific design paradigm.
What platforms does RAMEN support?
RAMEN is designed to work on any conventional platform from 8-bit to 64-bit microcontrollers and systems.
Is RAMEN free?
Yes, RAMEN is free and open source, available under an open source license on GitHub.