Atomthreads: Open Source RTOS logo

Atomthreads: Open Source RTOS

Free

Free, lightweight, portable real-time scheduler for embedded systems

FreeFree tier
Type
Open Source

About Atomthreads: Open Source RTOS

Atomthreads is a free, lightweight, portable, real-time scheduler for embedded systems. Released under the flexible, open source BSD license, it is free to use for commercial or educational purposes without restriction. It is targeted at systems that need only a scheduler and the usual RTOS primitives such as semaphores, mutexes, queues, and timers. No file system, IP stack, or device drivers are included, but developers can integrate their own. Atomthreads consists of a small number of C files which are easy to port to any platform requiring threading by adding a simple architecture-specific module. The code is well-documented with Doxygen and includes an automated test suite. Supported architectures include AVR/ATmega, STM8/STM8S, ARM926EJ-S, and DaVinci DM365/DM368.

Key Features

Preemptive scheduler with 255 priority levels
Round-robin scheduling at the same priority level
Semaphore, mutex, queue, and timer primitives
Lightweight: fits in a few C files
Highly portable ANSI C code not tied to any compiler
Easy to read, well-documented, Doxygen-commented code
Portable to any CPU architecture with a single architecture-specific module
Automated test suite for reliable kernel operation
Free and flexible open source BSD license
Readable code suitable for learning RTOS internals

Pros & Cons

Pros
  • Free and open source with permissive BSD license
  • Very small footprint (few C files) and lightweight on resources
  • Well-documented code with Doxygen and automated test suite
  • Easy to port to new architectures with minimal architecture-specific code
  • Supports preemptive scheduling with many priority levels and round-robin
Cons
  • No built-in file system, IP stack, or device drivers (minimalist scheduler only)
  • Limited supported architectures: only AVR, STM8, ARM9 ports are documented
  • Lacks advanced RTOS features like dynamic memory management or POSIX compatibility

Best For

Embedded systems requiring a minimal real-time schedulerEducational projects for learning RTOS internalsCommercial embedded products needing BSD-licensed RTOSHobbyist and maker projects on small microcontrollersMigration from bare-metal to multitasking without heavy OS overhead

FAQ

What is Atomthreads?
Atomthreads is a free, lightweight, portable, real-time scheduler (RTOS) for embedded systems, released under the BSD license.
Is Atomthreads free to use?
Yes, it is free and open source under the BSD license, allowing unrestricted use for commercial or educational purposes.
What CPU architectures does Atomthreads support?
Ports are available for AVR/ATmega, STM8/STM8S, ARM926EJ-S, and DaVinci DM365/DM368 (ARM9).
Does Atomthreads include a file system or networking stack?
No, it is a minimal scheduler with only the usual RTOS primitives. File systems, IP stacks, and device drivers are not included but can be added by the developer.
What license does Atomthreads use?
It uses the BSD open source license, which is permissive and allows commercial use without restrictions.