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-nimble/actions/workflows/build_targets.yml"> <img src="https://github.com/apache/mynewt-nimble/actions/workflows/build_targets.yml/badge.svg"> <a/> <a href="https://github.com/apache/mynewt-nimble/actions/workflows/build_ports.yml"> <img src="https://github.com/apache/mynewt-nimble/actions/workflows/build_ports.yml/badge.svg"> <a/> <a href="https://github.com/apache/mynewt-nimble/actions/workflows/newt_test_all.yml/badge.svg"> <img src="https://github.com/apache/mynewt-nimble/actions/workflows/newt_test_all.yml/badge.svg"> <a/> <p>

Apache NimBLE is an open-source Bluetooth 5.4 stack (both Host & Controller) that completely replaces the proprietary SoftDevice on Nordic chipsets. It is part of Apache Mynewt project.

Feature highlight:

Supported hardware

Controller supports Nordic nRF51, nRF52 and nRF5340 chipsets as well as DA1469x (cmac) from Renesas. Host runs on any board and architecture supported by Apache Mynewt OS.

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

There are also some sample applications that show how to Apache Mynewt NimBLE stack. These sample applications are located in the apps/ directory of Apache Mynewt repo. Some examples:

External projects using NimBLE

Several other projects provide support for using NimBLE either by NPL port or forking:

If you publish a NimBLE port, please let us know to include it here!

Getting Help

If you are having trouble using or contributing to Apache Mynewt NimBLE, 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 IRC or #general channel on Mynewt Slack

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.

Filing Bugs

Bugs can be filed on the Apache Mynewt NimBLE 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 NimBLE 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.

<!-- TODO ## Writing Documentation Contributing to documentation (in addition to writing tests), is a great way to get involved with the Apache Mynewt project. The Mynewt NimBLE documentation is found in [/docs](/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.