Modern Embedded Software

We believe that a coherent approach to embedded software achitecture is needed, and we believe that all necessary aspects are already recognized: We want systems that are truly event-driven (non-blocking), better structured with the modern hierarchical state machines and safer by design than the usual "shared-state concurrency and blocking" approach based on a traditional Real-Time Operating System (RTOS). This modern way of thinking is called reactive programming.

Beyond the RTOS


The following "QP-bundle" downloads from GitHub provide all QP™ frameworks, QM™ modeling tool and the QTools™ collection bundled together in a single, streamlined installation:

Additionally, on SourceForge you can also find: free support forum, bug reports and feature requests.

Real-Time Embedded Frameworks (RTEFs)


Lightweight  Real-Time Embedded Framework (RTEF)  for embedded systems in C. Designed for 16- and 32-bit MCUs, such as ARM Cortex-M.

Latest version:  6.6.0  (Oct 31, 2019)

QP/C++ QP™/C++

Lightweight  Real-Time Embedded Framework (RTEF)  for embedded systems in C++. Designed for 16- and 32-bit MCUs, such as ARM Cortex-M.

Latest version:  6.6.0  (Oct 31, 2019)

QP-nano QP™-nano

Ultra-lightweight  Real-Time Embedded Framework (RTEF)  for tiny embedded systems in C. Designed for low-end 8- and 16-bit MCUs with RAM < 1KB, such as MSP430, PIC24 and AVR.

Latest version:  6.6.0  (Oct 31, 2019)

Supported Embedded Processors and Operating Systems

The QP™ Real-Time Embedded Frameworks are highly portable and have been ported to many embedded processors in the past. In recent years, however, we focused on the incredibly popular  ARM Cortex-M  CPU family, whereas we support Cortex-M0/M0+, Cortex-M3, Cortex-M4 with FPU and Cortex-M7 with FPU. We also support PIC32, as well as PIC24 and MSP430 low-power MCUs. Please refer to the "Ports" sections in the QP/C Reference Manual, QP/C++ Reference Manual and QP-nano Reference Manual for the specific lists of currently supported CPUs, compilers and development boards, as well as 3rd-party RTOSes and operating systems (including embedded Linux and Windows embedded).

Example Development Boards

Supported Boards
Supported Boards

Host-Based Tools

QP-nano QM™

Free Model-Based Design (MBD) and automatic code generation tool for real-time embedded software in C or C++ based on hierarchical state machines and the QP™ Real-Time Embedded Frameworks (RTEFs).

Latest version:  4.5.1  (May 6, 2019)

QTools QTools™ Collection

Collection of various open source tools for QP, including:

QSPY QP/Spy™ Software Tracing for QP/C or QP/C++ applications
QUTest QUTest™ Unit Testing Harness for QP/C or QP/C++ applications
QWIN QWin™ GUI for prototyping embedded devices on Windows

Latest version:  6.6.0   (Aug 21, 2019)


Supported Desktop Operating Systems

The QM™ Model-Based Design tool and the QTools™ collection run on all three host operating systems ( Windows,  Linux and  MacOS). However, we recommend  Windows, because we use it as the main platform for development and testing of our host-based tools.

Our Markets and Customers

Our QP™ Real-Time Embedded Frameworks, the QM™ Model-Based Design tool and our unique QTools™ collection address high-reliability applications across a wide variety of markets, such as IoT, medical, consumer, defense, industrial, communication, transportation, robotics and many others. In each of these application areas, our elegant software and modern design philosophy have distinct advantages and have been commercially licensed worldwide by hundreds of companies large and small.

Our Customers Our Customers

Consumer Electronics

The extremely high volumes typical of electronic consumer products combined with intense price competition makes low per-unit cost essential to the success in this market. But today's consumer electronic products outgrow the venerable "main+ISR" software structure due to rapidly growing complexity associated with rich user interfaces, ubiquitous connectivity and low-power requirements. The lightweight, event driven QP™ frameworks are ideal for combining hard real-time functions with stateful user interfaces and communication stacks, for only a fraction of the RAM footprint and cost of a conventional RTOS.


"Quantum Leaps software has revolutionized not just the way we write our software, but the way we approach our design. It is intuitive, easy to implement and comes in an incredibly small package."

Chad Koster, Software Engineer, Honeywell

Medical Devices

Software that controls medical devices must go through stringent certification process to ensure maximum safety and reliability. To manage the process, the medical device industry increasingly turns to formal methods, such as Model-Based Design (MBD) as the means to maintain and objectively prove traceability from requirements specification, through system design, to final implementation. The QM™ Model-Based Design and automatic code generation tool, based on the UML concepts of hierarchical state machines (UML statecharts) and active objects, directly supports the modern Model-Based Design (MBD). Additionally, the QP/Spy™ software tracing instrumentation embedded in the QP™ frameworks provides the ready-to-use software tracing infrastructure for unit testing, verification and validation.


"Simply put, designing software using the QP™ framework lets you code the way you think..."

Rich Wooley, Software Engineer, Nipro Diabetes Systems, Florida

Defense & Aerospace

With human lives at stake the military and aerospace systems are under similar strict certification requirements as the medical devices and many benefits of the QP™ frameworks and the QM™ Model-Based Design tool for medical devices apply equally to the defense and aerospace applications. The certifiability of QP™ frameworks is enhanced by their open source character, excellent and detailed documentation, strict adherence to coding standards as well as compliance with MISRA safety standards and support for static analysis tools such as PC-lint.

Moog Fernau

"The software team here at Moog Fernau have all found your platform to be simply outstanding to work with, and we look forward to future projects where we can call on the raw power, strong reliability and high efficiency of the QP™ framework and its accompanying tools to aid us in our designs. There is nothing out there that we know of that lets us translate what we see in our heads so directly into code on the screen."

Moog Fernau software team, UK

Industrial & Transportation

In the industrial control, process automation and transportation systems markets interoperability is key. Due to the "thin-wire" communication style inherent in the event-driven paradigm, the QP™ embedded framework are easy to distribute among many interconnected nodes. The QP™ family provides the commonality of architecture and the naturally resulting interoperability from the simple devices all the way to complex distributed systems running multiple instances of our QP™ frameworks on variety of platforms, including Linux (POSIX) and Windows (Win32). Specifically for transportation systems, all versions of the QP™ frameworks comply with the Motor Industry Software Reliability Association (MISRA) standards.

General Dynamics

Without using QP™, I don't believe we could have delivered on our given schedule dates with the same level of quality."

Jeff Karau, Sr. Software Engineer, General Dynamics C4 Systems

Communication & Internet of Things

In the last decade, connectivity and especially wireless connectivity in embedded devices has become ubiquitous. Designers of ultra low-power systems, such as wireless sensor networks (the "Things" in IoT), love the event-driven QP™ frameworks for their extremely small footprint, especially in RAM and inherently low-power characteristics, where the CPU is used only for processing events and otherwise can be put into a low-power sleep mode.

EIM Controls

I used the traditional RTOS approach for about 10 years. With the real-time debug log of QP/Spy™ and the ability to see what is going on in the logic flow, the code is very easy to debug and modify. It makes the code very modular and deterministic... You end up talking about the codes logic flow and not the semantics of the software. QP™ is a great product."

Paul Walker, Software Engineer, EIM Controls, Inc.

Semiconductor IP

Semiconductor Intellectual Property (IP) cores are at the heart of today's most innovative and exciting electronics products. More and more of these highly complex System-on-Chip (SoC) devices contain one or even more processor cores that require firmware. With the RAM footprint below 1KB, the event-driven QP™ frameworks are ideal for such cost-sensitive, resource constrained, event-driven environments. Also, in the deeply-embedded SoC applications the firmware must be subject to the same reliability standards as the silicon itself due to the very high costs associated with every tape-out. To achieve such highest levels of reliability the firmware developers need to apply the disciplined formal Model-Based Design method, which is exactly what QP™ Real-Time Embedded Frameworks provide. Additional QP™ advantage here is that the underlying state machine concepts are already familiar to the designers working on the hardware-software boundary.

Apple Computer, Inc.

"I recently rewrote a major piece of code to utilize the QP™ framework and it has worked wonders. My previous code used a more traditional state machine and had quickly evolved into spaghetti code. The hierarchical state machine approach made the new code smaller, more robust and much easier to maintain and extend."

Bob Bradley, Apple Computer, Inc., from review

Other Industries

The applicability of active object (actor) frameworks goes beyond a conventional RTOS. An actor framework can do all things that an RTOS can do, but due to the inversion of control, an event-driven framework can offer benefits that no conventional RTOS can match. For example, zero-copy and publish-subscribe event delivery provided in QP™. Actually, the benefits of the lightweight, efficient and robust actor frameworks extend even beyond embedded systems, because most computer systems today are event-driven. The ability of running on top of "big" operating systems such as Linux or Windows opens quite new possibilities for applying QP™ in traditionally IT-type applications.


"QP™ has been really valuable for us—we've had a great experience working with Quantum Leaps frameworks and tools. It's been a big help in terms of delivering high-quality software within our clients' budgets, so thank you!"

Jason Machacek, Software Engineer, Stratos Product Development LLC, Seattle WA

News & Updates

QP-bundle release 6.6.0

QP-bundle 6.6.0 brings simplified, one-stop download and installation of all QP frameworks, QM modelign tool and QTools in a single package.

New video tutorial: Object-Oriented Programming

The "Modern Embedded Systems Programming" video course now explains: Object-Oriented Programming

New video: QM Tutorial

New video: QM Tutorial

New video: Debugging with QUTest

New video: Debugging with QUTest

QP/C/C++/QTools Release 6.5.1

QTools and QP/C/C++ support debugging of unit test fixtures in QUTest.

QP/C/C++/nano Release 6.5.0 & QM Release 4.5.0

QP/C++ 6.5.0 and QM 4.5.0 improve state machine implementation in C++, in which state-handlers are true member functions of the state machine class.

New Low-Power Example

Low-Power Example demonstrates how to use multiple clock tick rates to reduce power.

Newsletter Subscription

Also Check This

Quanum Leaps on YouTube


Quanum Leaps Blog