blob: 9cff94738ddb6b4162fff232901b044fcd60f44f [file] [log] [blame]
.. _tutorials:
Tutorials
==========
.. toctree::
:hidden:
Project Blinky <blinky/blinky>
Working with repositories <repo/add_repos>
Project Slinky for Remote Comms <slinky/project-slinky>
Bluetooth Low Energy <ble/ble>
LoRa <lora/lorawanapp>
OS Fundamentals <os_fundamentals/os_fundamentals>
Remote Device Management <devmgmt/devmgmt>
Sensors <sensors/sensors>
Tooling <tooling/tooling>
Other <other/other>
If the introduction to Mynewt has piqued your interest and you want to
familiarize yourself with some of its functionality, this series of
tutorials is for you. The lessons are aimed at the beginner.
The full list of tutorials can be seen in the navigation bar on the
left. New ones are being constantly added and will show up there
automatically.
.. contents::
:local:
:depth: 2
Prerequisites
~~~~~~~~~~~~~
- You have installed Docker container of Newt tool and toolchains or
you have installed them natively on your machine
- You have created a new project space (directory structure) and
populated it with the core code repository (apache-mynewt-core) or
know how to as explained in :doc:`../get_started/project_create`.
- You have at least one of the supported development boards:
- :doc:`Arduino Zero <blinky/arduino_zero>`
- :doc:`Olimex <blinky/olimex>`
- :doc:`nRF52 <blinky/nRF52>`
The Nordic nrf52 developer kit supports Bluetooth Low Energy. We are
always looking to add new hardware to the list, so if you want to
develop the required Board Support Package (bsp) and/or Hardware
Abstraction Layer (HAL) for a new board, you can look
:doc:`../os/core_os/porting/port_os` to get started.
Tutorial categories
~~~~~~~~~~~~~~~~~~~
The tutorials fall into a few broad categories. Some examples in each
category are listed below.
- Making an LED Blink (the "Hello World" equivalent in the electronics
world)
- :doc:`blinky/arduino_zero`
- :doc:`blinky/olimex`
- :doc:`blinky/nRF52` **Note:** This supports BLE.
- :doc:`blinky/rbnano2`
- Navigating the Code and Adding Functionality
- :doc:`Adding More Repositories to Your Project <repo/add_repos>`
- :doc:`Adding a Unit Test For a Package <other/unit_test>`
- Using Newtmgr
- :doc:`Enabling Remote Communication With a Device Running Mynewt
OS <slinky/project-slinky>`
- Bluetooth Low Energy
- :doc:`Building a Bare Bones BLE Application <ble/ble_bare_bones>`
- :doc:`Building a BLE iBeacon Application <ble/ibeacon>`
- OS Fundamentals
- :doc:`Events and Event Queues <os_fundamentals/event_queue>`
- :doc:`Task and Priority Management <os_fundamentals/tasks_lesson>`
- Remote Device Management
- :doc:`Enabling Newt Manager in Any App <devmgmt/add_newtmgr>`
- :doc:`Upgrading an Image Over-The-Air <devmgmt/ota_upgrade_nrf52>`
- Sensors
- :doc:`Enabling an Off-Board Sensor in an Existing
Application <sensors/sensor_nrf52_bno055>`
- :doc:`Developing an Application for an Onboard
Sensor <sensors/sensor_thingy_lis2dh12_onb>`
- :doc:`Enabling OIC Sensor Data
Monitoring <sensors/sensor_oic_overview>`
- Tooling
- :doc:`SEGGER RTT <tooling/segger_rtt>`
- :doc:`SEGGER SystemView <tooling/segger_sysview>`
**Send us an email on the dev@ mailing list if you have comments or
suggestions!** If you haven't joined the mailing list, you will find the
links `here <https://mynewt.apache.org/community/>`_.