Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Apache Mynewt RTOS Addresses IoT Power, Memory, Storage Constraints

Apache Mynewt RTOS Addresses IoT Power, Memory, Storage Constraints

Apache Mynewt is an open source modular real-time operating system (RTOS) designed for operation on connected Internet of Things (IoT) devices that have limited memory and storage, and which need to run for long periods of time using minimal power. A press release by Arduino and the start-up Runtime describes Mynewt as "a composable OS for 32-bit microcontrollers (MCUs) that enables a variety of embedded devices, such as wearables, light bulbs, locks, doorbells, and other devices connecting the IoT."

According to the press release, Mynewt addresses an important IoT problem: "32-bit MCUs are more affordable than CPUs in tablets and smartphones, but cannot run Linux or derivatives such as Android. IoT developers need a commercial-ready alternative to Linux that can run on these smaller, inexpensive processors."

Writing at, Eric Brown concurred: "Like ARM's Mbed OS, the new Apache Mynewt aims to bring some Linux-like functionality to high-end MCUs that can't run Linux."

The Mynewt project highlights its open source implementation Bluetooth Low Energy (BLE) 4.2. Bluetooth 4.2 provides new capabilities for IoT development, including support for IPv6/6LoWPAN and Bluetooth Smart Gateway internet connectivity, increased power efficiency, and faster throughput speed.

The Mynewt software (written in C) is available at github. The project uses the Version 2.0 Apache license. Writing in EETimes, Rick Merritt noted the significance of this:

Mynewt uses an Apache 2.0 license. Unlike a GNU General Public License, it doesn't require users to contribute back code they add to products based on Mynewt.

The Apache Mynewt site includes detailed documentation to help you develop new Mynewt projects. One way to get started is to visit the Mynewt Quick Start page. There you'll find two options:

  • Option 1: the quick and easy way to get up and running with Mynewt. The Newt tool and build toolchains are all available in a single All-in-one Docker Container that you can install on your laptop or computer.
  • Option 2: allows you to install the Newt tool, instances of the Mynewt OS (for simulated targets), and toolchains for developing embedded software (e.g. GNU toolchain) natively on your laptop or computer.

Once you have the software installed, you can Create Your First Mynewt Project.

The latest version of Apache Mynewt, Mynewt 0.9.0-incubating, includes expanded hardware support and an extended hardware abstraction layer (HAL). An informative presentation by Runtime's Serling Hughes (PDF) includes the projected Mynewt development roadmap:

  • v0.10 (June 2016): Wi-Fi and IP support
  • v0.11 (July 2016): Full Bluetooth Support / Qualification
  • v1.0-GA (October 2016): API compatibility, Full Regression Testing

Rate this Article