Real-Time Operating Systems (RTOS) & Embedded Runtimes
Overview of various RTOS kernels and language-specific runtimes for embedded systems.
Mainstream RTOS Kernels
-
- aws/amazon-freertos
- License: MIT | Language: C | Tech: Real-time Kernel
- The most popular RTOS for microcontrollers, now supported by AWS.
-
- RT-Thread/rt-thread
- License: Apache 2.0 | Language: C | Tech: IoT RTOS
- An open-source IoT RTOS from China with a rich component ecosystem.
-
- zephyrproject-rtos/zephyr
- License: Apache 2.0 | Language: C, Python | Tech: Scalable RTOS
- A scalable RTOS for resource-constrained devices, backed by the Linux Foundation.
-
- apache/mynewt-core
- License: Apache 2.0 | Language: C | Tech: Modular RTOS
- A modular RTOS for tiny IoT devices, featuring a small kernel (6KB).
Scripting & Interactive Runtimes
-
- nodemcu/nodemcu-firmware
- License: MIT | Language: C (Firmware), Lua (Scripting)
- Lua-based interactive firmware for ESP8266 and ESP32.
-
- micropython/micropython
- License: MIT | Language: C, Python | Tech: Python 3 for MCU
- A lean and efficient implementation of Python 3 for microcontrollers.
-
- espruino/Espruino
- License: MPL 2.0 | Language: C, JavaScript | Tech: JavaScript for MCU
- JavaScript interpreter for microcontrollers (STM32, nRF52, ESP32, etc.).
Modern Language Implementations
-
Go (TinyGo)
- tinygo-org/tinygo
- License: BSD-3-Clause | Language: Go | Tech: LLVM-based Go Compiler
- Go compiler for small places (Microcontrollers, WebAssembly).
-
Go (TamaGo)
- f-secure-foundry/tamago
- License: BSD-3-Clause | Language: Go | Tech: Bare-metal Go
- Framework for running pure Go applications on bare-metal ARM/RISC-V.
-
Rust
- Real Time For the Masses (RTFM) - Concurrency framework for embedded Rust.
- Rust Embedded Working Group
Vendor Specific SDKs
- Espressif (ESP8266)
- ESP8266_NONOS_SDK
- ESP8266_RTOS_SDK - Based on FreeRTOS.