Mynewt Documentation — Apache Mynewt latest documentation
An OS to build, deploy and securely manage billions of devices
Latest News:<br>Apache Mynewt 1.15.0, Apache NimBLE 1.10.0 released July 21, 2026)
Docs /
Mynewt Documentation
Edit on GitHub
Version: latest
Version: master
Version: 1.15.0
Version: 1.14.0
Version: 1.13.0
Version: 1.12.0
Version: 1.11.0
Version: 1.10.0
Version: 1.9.0
Version: 1.8.0
Version: 1.7.0
Version: 1.6.0
Version: 1.5.0
Version: 1.4.0
Version: 1.3.0
Version: 1.2.0
Version: 1.1.0
Version: 1.0.0
Version: 0.9.0
Introduction
Setup & Get Started
Concepts
Tutorials
Third-party Resources
OS User Guide
BLE User Guide
Newt Tool Guide
Newt Manager Guide
Mynewt FAQ
Appendix
Introduction¶
Welcome to Apache Mynewt¶
Apache Mynewt is an operating system that makes it easy to develop<br>applications for microcontroller environments where power and cost are<br>driving factors. Examples of these devices are connected locks, lights,<br>and wearables.
Microcontroller environments have a number of characteristics that makes<br>the operating system requirements for them unique:
Low memory footprint: memory on these systems range from 8-16KB (on<br>the low end) to 16MB (on the high end).
Reduced code size: code often runs out of flash, and total available<br>code size ranges from 64-128KB to 16-32MB.
Low processing speed: processor speeds vary from 10-12MHz to<br>160-200MHz.
Low power operation: devices operate in mostly sleeping mode, in<br>order to conserve battery power and maximize power usage.
As more and more devices get connected, these interconnected devices<br>perform complex tasks. To perform these tasks, you need low-level<br>operational functionality built into the operating system. Typically,<br>connected devices built with these microcontrollers perform a myriad of<br>functions:
Networking Stacks: Bluetooth Low Energy and Thread
Peripherals: PWM to drive motors, ADCs to measure sensor data, and<br>RTCs to keep time.
Scheduled Processing: actions must happen on a calendared or periodic<br>basis.
Apache Mynewt accomplishes all the above easily, by providing a complete<br>operating system for constrained devices, including:
A fully open-source Bluetooth Low Energy stack with both Host and<br>Controller implementations.
A pre-emptive, multi-tasking Real Time operating system kernel
A Hardware Abstraction Layer (HAL) that abstracts the MCU’s<br>peripheral functions, allowing developers to easily write<br>cross-platform code.
Newt¶
In order to provide all this functionality, and operate in an extremely<br>low resource environment, Mynewt provides a very fine-grained source<br>package management and build system tool, called newt.
You can install newt for Mac OS,<br>Linux, or<br>Windows.
Newt Manager¶
In order to enable a user to communicate with remote instances of Mynewt<br>OS and query, configure, and operate them, Mynewt provides an<br>application tool called Newt Manager or newtmgr.
You can install newtmgr for Mac OS,<br>Linux, or<br>Windows.
Build your first Mynewt App with Newt¶
With the introductions out of the way, now is a good time to get set up<br>and started with your first Mynewt<br>application.
Happy Hacking!
Next: Setup & Get Started