embox/embox logo

embox/embox

Free

Modular and configurable OS for embedded applications

FreeFree tier
Type
Open Source

About embox/embox

Embox is an open-source, modular, and configurable real-time operating system (RTOS) designed for resource-constrained and embedded systems. Its primary goal is to enable the use of Linux software without the overhead of Linux itself. It achieves this through a highly configurable build system that allows developers to include only the required components. Embox offers POSIX-compliant APIs, supports a wide range of file systems (FAT, ext2/3/4), and provides a full TCP/IP stack with BSD sockets. It runs on multiple architectures including ARM, MIPS, x86, RISC-V, Microblaze, SPARC, PowerPC, and E2K, and supports popular development boards such as STM32, i.MX6, and Raspberry Pi. Embox can run complex desktop software like Qt, OpenCV, PJSIP, Dropbear, and even Quake 3 on microcontrollers. It also includes a Unix-like shell and supports numerous programming languages including Python, Lua, Tcl, Lisp, Ruby, JavaScript, and Scheme.

Key Features

Modular and configurable build system
POSIX-compliant API
C++ support
File systems: FAT, ext2/3/4
TCP/IP stack with BSD sockets (UDP, HTTP, ARP, NTP, ICMP)
Cross-platform: ARM, MIPS, x86, RISC-V, Microblaze, SPARC, PowerPC, E2K
Supports popular platforms: STM32, i.MX6, Raspberry Pi
Can run desktop software on microcontrollers: Qt, OpenCV, PJSIP, Dropbear, Mesa3D, Quake3
Unix-like shell utilities (ls, cat, mount)
Supports multiple programming languages: Java, Python, Lua, Tcl, Lisp, Ruby, JavaScript, Scheme

Pros & Cons

Pros
  • Highly configurable, allowing minimal footprint for constrained devices
  • POSIX-compliant, easing porting of Linux applications
  • Supports a wide range of hardware architectures and popular development boards
  • Can run complex software (Qt, OpenCV, PJSIP) on low-cost MCUs
  • Multiple programming language support for flexibility
  • Active community with mailing lists and Telegram chats
Cons
  • Configuration and building require familiarity with the build system and cross-compilation
  • Smaller ecosystem and community compared to mainstream RTOSes like FreeRTOS or Zephyr
  • Documentation spread across wiki, PDF, and GitHub, may not be beginner-friendly

Best For

Running Linux software on resource-constrained microcontrollersEmbedded systems development with POSIX compatibilityBuilding IoT devices with rich network and file system supportReal-time control systems requiring a lightweight OSCross-platform embedded projects targeting ARM, MIPS, x86, RISC-V, etc.

FAQ

What is Embox?
Embox is an open-source, configurable real-time operating system (RTOS) designed for resource-constrained embedded systems. Its main idea is to enable the use of Linux software without Linux.
What hardware platforms does Embox support?
Embox supports ARM, MIPS, x86, RISC-V, Microblaze, SPARC, PowerPC, and E2K architectures, with popular boards like STM32, i.MX6, and Raspberry Pi.
What programming languages can be used with Embox?
Embox supports Python, Lisp, Java (phoneme), TCL, Ruby, Lua, JavaScript, and Scheme.
Can Embox run desktop software?
Yes, Embox can run complex software such as Qt, OpenCV, PJSIP, Dropbear, Mesa3D, and Quake3 on microcontrollers like STM32.
Where can I get help or discuss Embox?
There are mailing lists (embox-devel@googlegroups.com for English, embox-ru@googlegroups.com for Russian) and Telegram chats (main English: t.me/embox_chat_en, news: t.me/embox_news).