LICENSING QP™ and QDKs™: The QP™ frameworks and the QP Development Kits (QDKs) are licensed under the terms of the open source GNU General Public License (GPL). Alternatively, the QP™ frameworks may be licensed under the terms of closed source Quantum Leaps commercial licenses, which are specifically designed for QP™ users interested in retaining the proprietary status of their code.

learn more about QP™ dual licensing

LICENSING QM™: The QM™ graphical modeling tool is freeware. It is free to download and free to use for any purpose, including commercial projects, but is not open source. During the installation you will need to accept a basic End-User License Agreement (EULA), which legally protects Quantum Leaps from any warranty claims, prohibits removing any copyright notices from QM, selling it, and creating similar competitive products.

read the QM™ End User License Agreement

QP™ Baseline Code


The QP™ Baseline Code downloads contain the platform-independent QP™ source code plus selected ports and all the examples described in the PSiCC2 book. The QP™ Baseline Code is available from the repository, where you can download the platform-independent ZIP or the self-extracting Windows executable (.EXE).

INSTALLATION: It is higly recommended to copy the QP Base Line code into a directory close to the root of your disk (e.g., C:\qp\). After installation, you need to define the environment variables: QPC, QPCPP, and QPN, pointing to the installation folders of QP/C, QP/C++, and QP-nano, respectively. For example, assuming that you copied QP/C to C:\qp\qpc, you need to define QPC as C:\qp\qpc, and similarly for QPCPP and QPN.

QP™ Baseline Code
Release Revision History
(Release Date)
new! QP/C
Revision History
Download QP/C from
new! QP/C++
Revision History
Download QP/C++ from
new! QP-nano
Revision History
Download QP-nano from

QTools™ Collection


The QTools™ Collection contains various open source tools for working with the QP state machine frameworks, such as: QSPY host application, QCLEAN for cleanup of source code files, QFSGEN for generating ROM-based file systems for embedded web servers, etc. The QTools Collection for Windows provides also the MinGW C/C++ compiler (GNU GCC) and GNU make for Windows, as well as the realated file utilities (rm, touch, etc.)

INSTALLATION: After copying the files to your disk. It is hihgly recommended to add the \bin sub-folder of the Qtools collection to the PATH. Also, some examples for Windows and Linux assume that the environment variable QTOOLS is defined and points to the Qtools installation folder. For example, assuming that you installed Qtools in C:\tools\qtools, you need to add the directory C:\tools\qtools\bin to the PATH and define QTOOLS as C:\tools\qtools.

Release Revision History
(Release Date)
new! QTools
About QTools
QSPY Reference Manual
Download QTools from

QM™ Graphical Modeling Tool


QM™ (QP™ Modeler) is a free, graphical modeling tool for designing and implementing real-time embedded applications based on the QP™ state machine frameworks. QM™ provides best-in-class, intuitive diagramming environment and generates very compact C or C++ code that is 100% traceable from your design.

INSTALLATION: QM™ is available for Windows 64-bit, Linux 64-bit, and Mac OS X 64-bit. The installation on any platform is trivial and does not require any big third-party software packages (no Java, Eclipse, etc.). The provided setup installs the QM™ application, creates a desktop icon, and associates the QM model files (*.qm and *.qmp) with the QM application. QM™ is very easy to uninstall with the provided uninstaller.

QM™ Modeling Tool
Release Release Notes
(Release Date)
QM 3.3.0
Windows 64-bit
Release Notes
Download QM from
QM 3.3.0
Linux 64-bit
Release Notes
Download QM from
QM 3.3.0
Mac OS X 64-bit
Release Notes
Download QM from

The Quick Start videos show how to get started with QP, QM, and Qtools quickly.

QP™ Git Repositories

Git Git

The complete QP source code trees, including all ports and examples, are available in Git repositories hosted on The Application Note Accessing QP Git Repositories on describes how to access the QP source code via Git repositories on

QP Git Repositories
Soure Tree For Git Repository (read access)
QP/C git://
QP/C++ git://
QP-nano git://
Qtools git://

QP™ Development Kits


The QP™ frameworks can be easily adapted to various operating systems, processor architectures, and compilers. Adapting the QP™ software is called porting and all QP™ frameworks have been designed from the ground up to make porting easy. A continuously growing number of QP Development Kits™ (QDKs) are being added to the QP™ Baseline Code.

Obtaining QDKs™: Starting with QP release 5.4.0, the QDKs are included in the QP™ Baseline Code.

Supported QDKs™ for bare metal MCUs
Processor (Vendor) — alphabetical order
updated ARM Cortex-M (Texas Instruments, NXP, ST, Atmel)
ARM7 / ARM9 (Atmel, ST)
AVR32 (Atmel)
megaAVR (Atmel)
updated MSP430 (Texas Instruments)
PIC32 (Microchip)
PIC24 / dsPIC (Microchip)
R8C (Renesas)
RX (Renesas)
TMS320C2000 (28x) (Texas Instruments)
TMS320C5000 (55x) (Texas Instruments)
QDKs™ for Learning and Experimenting
updated Arduino
Raspberry Pi
QDKs™ for various Operating Systems/RTOSes
OS (Vendor)
updated POSIX (Embedded Linux, QNX, INTEGRITY)
updated Windows (Embedded) (Microsoft)
Android-NDK (Google)
QDKs™ for various RTOSes
new! CMSIS-RTOS RTX (Keil)
new! embOS (SEGGER)
new! OSEK/VDX (ERIKA Enterprise)
updated (Real-Time Enginneres, Ltd)
updated ThreadX (Express Logic)
updated µC/OS-II (Micrium)
QDKs™ for various Middleware
Middleware Library (Vendor)
updated lwIP TCP/IP Stack (Open Source)
updated Qt (Nokia)
updated emWin / µC/GUI (SEGGER / Micrium)

Unsupported QDKs

NOTE: The QDKs™ listed as "Unsuported" are provided for reference only, but are no longer actively supported. These QDKs are not recommended for future designs.

Unsupported QDKs™ for bare metal MCUs
Processor (Vendor) — alphabetical order
unsupported ColdFire (Freescale)
unsupported HC08 (Freescale)
unsupported H8 (Renesas)
unsupported M16C / M32C (Renesas)
unsupported Nios-II (Altera)
unsupported PIC18 (Microchip)
unsupported PSoC1 (Cypress)
unsupported 8051 / 80251 (Silicon Labs, Atmel)
Unsupported QDKs™ for various RTOSes
RTOS (Vendor) — alphabetical order
unsupported eCos (Cygnus/Red Hat)
unsupported VxWorks (Wind River)

Last updated: October 10, 2015