{"id":18848717,"url":"https://github.com/apache/mynewt-core","last_synced_at":"2025-05-14T14:08:11.653Z","repository":{"id":37396936,"uuid":"45165993","full_name":"apache/mynewt-core","owner":"apache","description":"An OS to build, deploy and securely manage billions of devices","archived":false,"fork":false,"pushed_at":"2025-05-07T10:43:36.000Z","size":185163,"stargazers_count":863,"open_issues_count":90,"forks_count":371,"subscribers_count":76,"default_branch":"master","last_synced_at":"2025-05-07T11:35:57.417Z","etag":null,"topics":["mynewt"],"latest_commit_sha":null,"homepage":"https://mynewt.apache.org/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-10-29T07:00:07.000Z","updated_at":"2025-05-07T10:43:40.000Z","dependencies_parsed_at":"2023-10-11T16:05:02.957Z","dependency_job_id":"421b2b7a-6075-4bde-9af8-fc4a582b2bec","html_url":"https://github.com/apache/mynewt-core","commit_stats":{"total_commits":9628,"total_committers":156,"mean_commits":"61.717948717948715","dds":0.7828209389281263,"last_synced_commit":"5ea44ab1bf9c3e851af2684963f4549fc1750e98"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmynewt-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmynewt-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmynewt-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fmynewt-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/mynewt-core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253850767,"owners_count":21973666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mynewt"],"created_at":"2024-11-08T03:16:56.898Z","updated_at":"2025-05-14T14:08:11.635Z","avatar_url":"https://github.com/apache.png","language":"C","readme":"\u003c!--\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n#  KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n--\u003e\n\n\u003cimg src=\"http://mynewt.apache.org/img/logo.svg\" width=\"250\" alt=\"Apache Mynewt\"\u003e\n\n## Overview\n\n\u003ca href=\"https://github.com/apache/mynewt-core/actions/workflows/build_targets.yml\"\u003e\n  \u003cimg src=\"https://github.com/apache/mynewt-core/actions/workflows/build_targets.yml/badge.svg\"\u003e\n\u003ca/\u003e\n\n\u003ca href=\"https://github.com/apache/mynewt-core/actions/workflows/build_blinky.yml\"\u003e\n  \u003cimg src=\"https://github.com/apache/mynewt-core/actions/workflows/build_blinky.yml/badge.svg\"\u003e\n\u003ca/\u003e\n\n\u003ca href=\"https://github.com/apache/mynewt-core/actions/workflows/newt_test_all.yml/badge.svg\"\u003e\n  \u003cimg src=\"https://github.com/apache/mynewt-core/actions/workflows/newt_test_all.yml/badge.svg\"\u003e\n\u003ca/\u003e\n\n\u003cp\u003e\n\nApache Mynewt is an open-source operating system for tiny embedded devices.\nIts goal is to make it easy to develop applications for microcontroller\nenvironments where power and cost are driving factors.\n\nIt currently supports the following hardware platforms:\n\n* nRF52 DK from Nordic Semiconductor (Cortex-M4)\n* RuuviTag Sensor beacon platform (Nordic nRF52832 based)\n* nRF51 DK from Nordic Semiconductor (Cortex-M0)\n* VBLUno51 from VNG IoT Lab (Nordic nRF51822 SoC based)\n* VBLUno52 from VNG IoT Lab (Nordic nRF52832 SoC based, Cortex-M4)\n* BLE Nano from RedBear (Nordic nRF51822 SoC based)\n* BLE Nano2 and Blend2 from RedBear (Nordic nRF52832 SoC based)\n* BMD-300-EVAL-ES from Rigado (Cortex-M4)\n* BMD-200 from Rigado (Cortex-M0)\n* Adafruit Feather nRF52 Pro\n* STM32F4DISCOVERY from ST Micro (Cortex-M4)\n* STM32-E407 from Olimex (Cortex-M4)\n* Arduino Zero (Cortex-M0)\n* Arduino Zero Pro (Cortex-M0)\n* Arduino M0 Pro (Cortex-M0)\n* Arduino MKR1000 (Cortex-M0)\n* Arduino Primo NRF52 (Cortex-M4)\n* NUCLEO-F401RE (Cortex-M4)\n* NUCLEO-F767ZI (Cortex-M7)\n* Discovery kit for STM32F7 Series (Cortex-M7)\n* FRDM-K64F from NXP (Cortex-M4)\n* BBC micro:bit (Nordic nrf51822; Cortex-M0)\n* SiFive HiFive1 (RISC-V Instruction Set Architecture)\n* NINA-B1 BLE module from u-blox (Cortex-M4)\n* 6LoWPAN clicker from MikroElectronika (PIC32MX470 microcontroller)\n* chipKIT Wi-FIRE (PIC32MZ microcontroller)\n* Creator Ci40 module (dual MIPS interAptiv CPU)\n* EE-02 board with Semtech Sx1276 chip from Telenor (Cortex-M4) \n* DA1469x Pro DK from Dialog Semiconductor (Cortex-M33)\n* nRF5340 DK from Nordic Semiconductor (Cortex-M33)\n\nApache Mynewt uses the\n[Newt](https://www.github.com/apache/mynewt-newt) build and package\nmanagement system, which allows you to compose your OS and choose only the\ncomponents you need.\n\nThis repository contains the core packages of the Apache Mynewt OS, including:\n\n* A Pre-emptive, Real Time OS Kernel\n* A open-source Bluetooth 5.0 stack (both Host \u0026 Controller), NimBLE, that\ncompletely replaces the proprietary SoftDevice on Nordic chipsets.\n\u003cspan style=\"color:red\"\u003e**NOTE** NimBLE sources were moved to separate [repository](https://github.com/apache/mynewt-nimble).\u003c/span\u003e\n    - Support for 251 byte packet size\n    - Support for all 4 roles concurrently - Broadcaster, Observer, Peripheral and Central\n    - Support for up to 32 simultaneous connections.\n    - Legacy and SC (secure connections) SMP support (pairing and bonding).\n    - Advertising Extensions.\n* A flash filesystem, NFFS, which is designed for tiny (128KB-\u003e16MB) flashes.\n* FatFS\n* Flash Circular Buffer\n* JSON and CBOR encoding\n* Bootloader support\n* Remote Software Upgrade\n* HAL and BSP infrastructure designed to abstract microcontroller specifics\n* Shell and Console support\n* Statistics and Logging Infrastructure\n* OIC Client and Server\n\nFor more information on the Mynewt OS, please visit our website [here](https://mynewt.apache.org/).\nIf you'd like to get started, visit the [Quick Start Guide](http://mynewt.apache.org/quick-start/).\n\n## Browsing\n\nIf you are browsing around the source tree, and want to see some of the\nmajor functional chunks, here are a few pointers:\n\n- kernel: Contains the core of the RTOS ([kernel/os](https://github.com/apache/mynewt-core/tree/master/kernel/os))\n\n- sys: Contains a number of helper libraries for building applications.  Including a\nconsole ([sys/console](https://github.com/apache/mynewt-core/tree/master/sys/console))),\nshell ([sys/shell](https://github.com/apache/mynewt-core/tree/master/sys/shell)))\n\n- mgmt: Contains the management libraries for newtmgr [mgmt/newtmgr](https://github.com/apache/mynewt-core/tree/master/sys/newtmgr)), which supports software upgrade and remote fetching of logs and statistics.\n\n- net: Contains the networking packages.  Highlights of the net directory are the NimBLE and IP packages.\n[Nimble](https://github.com/apache/mynewt-nimble)\nis a full Bluetooth host and controller implementation, that is written\nfrom the ground up for the Apache Mynewt Operating System (due to code moved to\nseparate repo this folder contains only compatibility package files).\n[ip](https://github.com/apache/mynewt-core/tree/master/net/ip) is a port of LWIP, a complete IPv4 and IPv6 implementation.\n\n- hw: Contains the HW specific support packages.  Board Support Packages\nare located in [hw/bsp](https://github.com/apache/mynewt-core/tree/master/hw/bsp),\nand the MCU specific definitions they rely on are located in\n[hw/mcu](https://github.com/apache/mynewt-core/tree/master/hw/mcu).\nThere is a HAL (Hardware Abstraction Layer) stored in\n[hw/hal](https://github.com/apache/mynewt-core/tree/master/hw/hal), even\nthough the implementation of various HALs are stored in the MCU specific definitions.  Finally, drivers can be found in [hw/drivers](https://github.com/apache/mynewt-core/tree/master/hw/drivers).  Drivers provide a higher-level interface to the hardware than the HAL, and may require the Mynewt operating system to function.\n\n- fs: Contains the FS package ([fs/fs](https://github.com/apache/mynewt-core/tree/master/fs/fs))\nwhich is the high-level Apache Mynewt file system API.   A specific implementation of that FS, is\n[NFFS](https://github.com/apache/mynewt-core/tree/master/fs/nffs) (Newtron\nFlash File System.)  The Newtron file system is a FS that has been built from\nthe ground-up in Apache Mynewt, designed to be optimized for small\n(64KB-32MB) flashes.\nThe fs directory also contains [fcb](http://mynewt.apache.org/latest/os/modules/fcb/fcb/), a flash circular buffer implementation.\n\n## Sample Applications\n\nIn addition to some of the core packages, there are also some sample\napplications that show how to instantiate the Apache Mynewt system.  These\nsample applications are located in the `apps/` directory.  They include:\n\n* [slinky](https://github.com/apache/mynewt-core/tree/master/apps/slinky): A\n  slightly more complex project that includes the console and shell libraries.\n* [bleuart](https://github.com/apache/mynewt-core/tree/master/apps/bleuart):\nImplements a simple BLE peripheral that supports the Nordic\nUART / Serial Port Emulation service\n(https://developer.nordicsemi.com/nRF5_SDK/nRF51_SDK_v8.x.x/doc/8.0.0/s110/html/a00072.html).\n\n# Getting Help\n\nIf you are having trouble using or contributing to Apache Mynewt, or just want to talk\nto a human about what you're working on, you can contact us via the\n[developers mailing list](mailto:dev@mynewt.apache.org).\n\nAlthough not a formal channel, you can also find a number of core developers\non the #mynewt channel on Freenode.\n\nAlso, be sure to checkout the [Frequently Asked Questions](https://mynewt.apache.org/faq/answers)\nfor some help troubleshooting first.\n\n# Contributing\n\nAnybody who works with Apache Mynewt can be a contributing member of the\ncommunity that develops and deploys it.  The process of releasing an operating\nsystem for microcontrollers is never done: and we welcome your contributions\nto that effort.\n\nMore information can be found at the Community section of the Apache Mynewt\nwebsite, located [here](https://mynewt.apache.org/community).\n\n## Pull Requests\n\nApache Mynewt welcomes pull request via Github.  Discussions are done on Github,\nbut depending on the topic, can also be relayed to the official Apache Mynewt\ndeveloper mailing list dev@mynewt.apache.org.\n\nIf you are suggesting a new feature, please email the developer list directly,\nwith a description of the feature you are planning to work on.\n\nWe do not merge pull requests directly on Github, all PRs will be pulled and\npushed through https://git.apache.org/.\n\n## Filing Bugs\n\nBugs can be filed on the\n[Apache Mynewt Issues](https://github.com/apache/mynewt-core/issues).\nPlease label the issue as a \"Bug\".\n\nWhere possible, please include a self-contained reproduction case!\n\n## Feature Requests\n\nFeature requests should also be filed on the\n[Apache Mynewt Bug Tracker](https://github.com/apache/mynewt-core/issues).\nPlease label the issue as a \"Feature\" or \"Enhancement\" depending on the scope.\n\n## Writing Tests\n\nWe love getting newt tests!  Apache Mynewt is a huge undertaking, and improving\ncode coverage is a win for every Apache Mynewt user.\n\n## Writing Documentation\n\nContributing to documentation (in addition to writing tests), is a great way\nto get involved with the Apache Mynewt project.\n\nThe Mynewt core OS documentation is found in [/docs](/docs).\n\n# License\n\nThe code in this repository is all under either the Apache 2 license, or a\nlicense compatible with the Apache 2 license.  See the LICENSE file for more\ninformation.\n\n# Export restrictions\n\nThis distribution includes cryptographic software. The country in which you\ncurrently reside may have restrictions on the import, possession, use, and/or\nre-export to another country, of encryption software. BEFORE using any encryption\nsoftware, please check your country's laws, regulations and policies concerning\nthe import, possession, or use, and re-export of encryption software, to see if\nthis is permitted. See \u003chttp://www.wassenaar.org/\u003e for more information.\n\nThe U.S. Government Department of Commerce, Bureau of Industry and Security (BIS),\nhas classified this software as Export Commodity Control Number (ECCN) 5D002.C.1,\nwhich includes information security software using or performing cryptographic\nfunctions with asymmetric algorithms. The form and manner of this Apache Software\nFoundation distribution makes it eligible for export under the License Exception ENC\nTechnology Software Unrestricted (TSU) exception (see the BIS Export Administration\nRegulations, Section 740.13) for both object code and source code.\n\nThe following provides more details on the included cryptographic software:\nhttps://tls.mbed.org/supported-ssl-ciphersuites.\n","funding_links":[],"categories":["©️ C/C++","OS"],"sub_categories":["©️ RTOS targeting micro:bit","Low Level"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fmynewt-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fmynewt-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fmynewt-core/lists"}