Arduino Srl and Runtime unveiled an open source, Bluetooth savvy, “Apache Mynewt” RTOS for 32-bit MCUs, found on the new Arduino Primo and STAR Otto SBCs.
Arduino boards and Arduino compatibles are increasingly tapping higher-end 32-bit MPUs, such as the STM32F469 chip found on Arduino Srl’s new, media-enabled Arduino STAR Otto and the STM32L0 inside its new, wireless-studded Arduino Primo. Now Arduino Srl, one of the two forked Arduinos along with Arduino LLC, has announced a collaboration with Runtime to bring the latter’s open source, real-time Apache Mynewt OS to 32-bit Arduinos. In addition to the Primo and STAR Otto, it supports the Arduino Zero, Arduino Zero Pro, and Arduino M0 Pro.
Arduino STAR Otto (left) and Primo Core
(click images to enlarge)
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 “composable” and “hardware agnostic” Apache Mynewt (note the pun with relation to the verb, “minute”) is aimed primarily at IoT endoints that “must be operated for long periods of time, but are constrained in terms of power, memory, and storage,” says Arduino Srl.
Apache Mynewt stack
(click image to enlarge)
The RTOS is claimed to offer the world’s first open source implementation for Bluetooth Low Energy 4.2 (BLE) on Arduino boards “down to the controller level.” The OS is said to specifically support BLE operations on the Primo’s Nordic Semiconductor nRF52832 wireless SoC, which is one of two wireless companion processors assisting the Primo’s 32-bit STM32L0 processor. At the Maker Faire, Runtime demonstrated BLE, as well as Physical Web and Eddystone beacon functionality on the Primo.
As the name suggests, Apache Mynewt is an Apache Software Foundation hosted product available under Apache License, Version 2.0. Runtime, which offers IoT device management and monitoring software and services, appears to be the principal developer of the OS.
Benefits of Apache Mynewt are said to include:
- Access to source code
- Debugging through setting breakpoints, avoiding stack smashes, and eliminating stolen interrupts
- Direct access to peripherals for granular power control
- Better, precise configurability of concurrent connections
- Flexibility across central and peripheral roles