Nut/OS

OPEN SOURCE RTOS

Nut/OS is a modular, open source, real-time operating system for embedded platforms. It is easily configurable and optimized to run on 8- and 32-bit microcontrollers.

The operating system contains the free network stack Nut/Net, which provides an API for numerous networking protocols. Thus, Nut/OS is an ideal platform for developing applications for the Internet of Things and industry 4.0.

Due to the modular architecture of the operating system only those components are included, which the application really needs. In general the adaption to the target system is done automatically. For fine tuning a graphical user interface is available under Linux, Windows and OS X.

Nut/OS multithreading is safe and easy to use. Its cooperative threading guarantees, that a thread yields control at well-defined points only. In most cases access to shared resources does not require any locking. This finally results in small and simple application code and significantly reduces the risk of race conditions and deadlocks. Deterministic interrupt latencies provide hard real-time responses within strict deadlines, independent of currently available system resources.

The developer can use a comprehensive C library, which complements the runtime library of the compiler. While almost compatible with the Posix standard, the need for learning a large number of new special calls is avoided. Amongst other features, access to files, TCP sockets and some important hardware interfaces is available via stdio streams.

OS kernel

  • Low memory footprint
  • Priority based, cooperative multithreading
  • Deterministic interrupt response time
  • Scalable from minimal low power to high performance targets
  • Dynamic memory management with minimal fragmentation
  • Script-driven GUI tool for easy configuration

Network support

  • TCP/IP stack for trouble-free Intranet and Internet connections
  • ARP, IP, UDP, ICMP, TCP over Ethernet and PPP
  • Automatic configuration via DHCP and SSDP/UPnP
  • Host, net and default routing
  • HTTP library with file access and CGI/SSI functions
  • High level protocols including SNTP, SNMP, DNS, Syslog, HTTPU, SMTP, POP3, FTP and SOAP
  • Transport Layer Security (TLS/SSL)

Runtime library

  • POSIX-like C standard API for portable applications
  • C stdio Streams can be used with devices, files and TCP sockets
  • Several file systems are available
  • High level interface for audio streaming
  • Platform independent functions for SPI, I2C, CAN, GPIO etc.
  • Optional debugging extensions
  • Supports ICCAVR on Windows and GNU C/C++ on Linux, Windows and OS X
Open Source

Nut/OS is developed by the open source community and published under the permissive BSD license. Therefore, it is also freely available for commercial products.

Ethernut project

Learn more about Nut/OS. Visit the homepage of the Ethernut project.

Mailing list

Vivid discussions and technical assistance can be found on the Ethernut mailing list.