Home

Awesome

<!-- # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # --> <img src="http://mynewt.apache.org/img/logo.svg" width="250" alt="Apache Mynewt">

Overview

<a href="https://github.com/apache/mynewt-core/actions/workflows/build_targets.yml"> <img src="https://github.com/apache/mynewt-core/actions/workflows/build_targets.yml/badge.svg"> <a/> <a href="https://github.com/apache/mynewt-core/actions/workflows/build_blinky.yml"> <img src="https://github.com/apache/mynewt-core/actions/workflows/build_blinky.yml/badge.svg"> <a/> <a href="https://github.com/apache/mynewt-core/actions/workflows/newt_test_all.yml/badge.svg"> <img src="https://github.com/apache/mynewt-core/actions/workflows/newt_test_all.yml/badge.svg"> <a/> <p>

Apache Mynewt is an open-source operating system for tiny embedded devices. Its goal is to make it easy to develop applications for microcontroller environments where power and cost are driving factors.

It currently supports the following hardware platforms:

Apache Mynewt uses the Newt build and package management system, which allows you to compose your OS and choose only the components you need.

This repository contains the core packages of the Apache Mynewt OS, including:

For more information on the Mynewt OS, please visit our website here. If you'd like to get started, visit the Quick Start Guide.

Browsing

If you are browsing around the source tree, and want to see some of the major functional chunks, here are a few pointers:

Sample Applications

In addition to some of the core packages, there are also some sample applications that show how to instantiate the Apache Mynewt system. These sample applications are located in the apps/ directory. They include:

Getting Help

If you are having trouble using or contributing to Apache Mynewt, or just want to talk to a human about what you're working on, you can contact us via the developers mailing list.

Although not a formal channel, you can also find a number of core developers on the #mynewt channel on Freenode.

Also, be sure to checkout the Frequently Asked Questions for some help troubleshooting first.

Contributing

Anybody who works with Apache Mynewt can be a contributing member of the community that develops and deploys it. The process of releasing an operating system for microcontrollers is never done: and we welcome your contributions to that effort.

More information can be found at the Community section of the Apache Mynewt website, located here.

Pull Requests

Apache Mynewt welcomes pull request via Github. Discussions are done on Github, but depending on the topic, can also be relayed to the official Apache Mynewt developer mailing list dev@mynewt.apache.org.

If you are suggesting a new feature, please email the developer list directly, with a description of the feature you are planning to work on.

We do not merge pull requests directly on Github, all PRs will be pulled and pushed through https://git.apache.org/.

Filing Bugs

Bugs can be filed on the Apache Mynewt Issues. Please label the issue as a "Bug".

Where possible, please include a self-contained reproduction case!

Feature Requests

Feature requests should also be filed on the Apache Mynewt Bug Tracker. Please label the issue as a "Feature" or "Enhancement" depending on the scope.

Writing Tests

We love getting newt tests! Apache Mynewt is a huge undertaking, and improving code coverage is a win for every Apache Mynewt user.

Writing Documentation

Contributing to documentation (in addition to writing tests), is a great way to get involved with the Apache Mynewt project.

The Mynewt core OS documentation is found in /docs.

License

The code in this repository is all under either the Apache 2 license, or a license compatible with the Apache 2 license. See the LICENSE file for more information.

Export restrictions

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software: https://tls.mbed.org/supported-ssl-ciphersuites.