

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    

    
    <title>BLE User Guide &mdash; Apache Mynewt latest documentation</title>
    

    
    
      <link rel="shortcut icon" href="../_static/mynewt-logo-only-newt32x32.png"/>
    

    

    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />

    
      <link rel="stylesheet" href="../_static/css/sphinx_theme.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/v2.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
    
      <link rel="stylesheet" href="../_static/css/restructuredtext.css" type="text/css" />
    

    

    <link rel="stylesheet" href="../_static/css/overrides.css" type="text/css" />
          <link rel="index" title="Index"
                href="../genindex.html"/>
          <link rel="search" title="Search" href="../search.html"/>
      <link rel="top" title="Apache Mynewt latest documentation" href="../index.html"/>
          <link rel="next" title="NimBLE Security" href="ble_sec.html"/>
          <link rel="prev" title="JSON" href="../os/modules/json/json.html"/> 

    
    <script src="../_static/js/modernizr.min.js"></script>

    
    <script>
    (function(i, s, o, g, r, a, m) {
	i["GoogleAnalyticsObject"] = r;
	(i[r] =
		i[r] ||
		function() {
			(i[r].q = i[r].q || []).push(arguments);
		}),
		(i[r].l = 1 * new Date());
	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
	a.async = 1;
	a.src = g;
	m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
    

  </head>

  <body class="not-front page-documentation" role="document" >
    <div id="wrapper">
      <div class="container">
    <div id="banner" class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="../_static/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released April 4, 2024)
            </div>
        </div>
    </div>
</div>
      
<header>
    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
        <div class="container">
            <!-- Collapsed navigation -->
            <div class="navbar-header">
                <!-- Expander button -->
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

            </div>

            <!-- Expanded navigation -->
            <div class="navbar-collapse collapse">
                <!-- Main navigation -->
                <ul class="nav navbar-nav navbar-right">
                    <li>
                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                    </li>
                    <li class="important">
                        <a href="/quick-start/">Quick Start</a>
                    </li>
                    <li>
                        <a href="/about/">About</a>
                    </li>
                    <li>
                        <a href="/talks/">Talks</a>
                    </li>
                    <li class="active">
                        <a href="/documentation/">Documentation</a>
                    </li>
                    <li>
                        <a href="/download/">Download</a>
                    </li>
                    <li>
                        <a href="/community/">Community</a>
                    </li>
                    <li>
                        <a href="/events/">Events</a>
                    </li>
                </ul>

                <!-- Search, Navigation and Repo links -->
                <ul class="nav navbar-nav navbar-right">
                    
                </ul>
            </div>
        </div>
    </nav>
</header>
      <!-- STARTS MAIN CONTENT -->
      <div id="main-content">
        





<div id="breadcrumb">
  <div class="container">
    <a href="/documentation/">Docs</a> /
    
    BLE User Guide
    
  <div class="sourcelink">
    <a href="https://github.com/apache/mynewt-nimble/edit/master/docs/index.rst" class="icon icon-github"
           rel="nofollow"> Edit on GitHub</a>
</div>
  </div>
</div>
        <!-- STARTS CONTAINER -->
        <div class="container">
          <!-- STARTS .content -->
          <div id="content" class="row">
            
            <!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
  <div id="docSidebar" class="sticky-container">
    <div role="search" class="sphinx-search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
    <!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest" selected>
    Version: latest
  </option>
  <option value="/v1_12_0" >
    Version: 1.12.0
  </option>
  <option value="/v1_11_0" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0" >
    Version: 1.9.0
  </option>
  <option value="/v1_8_0" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0" selected="selected" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select>
    <div class="region region-sidebar">
      <div class="docs-menu">
      
        
        
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/tutorials.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../external_links.html">Third-party Resources</a></li>
<li class="toctree-l1"><a class="reference internal" href="../os/os_user_guide.html">OS User Guide</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">BLE User Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="ble_sec.html">NimBLE Security</a></li>
<li class="toctree-l2"><a class="reference internal" href="ble_setup/ble_setup_intro.html">NimBLE Setup</a></li>
<li class="toctree-l2"><a class="reference internal" href="ble_hs/ble_hs.html">NimBLE Host</a></li>
<li class="toctree-l2"><a class="reference internal" href="btshell/btshell_api.html">btshell Usage API</a></li>
<li class="toctree-l2"><a class="reference internal" href="mesh/index.html">Bluetooth Mesh</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../newt/index.html">Newt Tool Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../mynewt_faq/index.html">Mynewt FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../misc/index.html">Appendix</a></li>
</ul>

        
      
      </div>
    </div>
  </div>
  <!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->

            <div class="col-xs-12 col-sm-9">
              
                <div class="alert alert-warning">
                  <p>
                    Version 1.5.0 is not the most recent version of the
                    Apache Mynewt documentation. Click <a href="/latest">here</a> to
                    read the latest version.
                  </p>
                </div>
              

              
              <div class="">
                <div class="rst-content">
                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
                   <div itemprop="articleBody">
                    
  <div class="section" id="ble-user-guide">
<h1>BLE User Guide<a class="headerlink" href="#ble-user-guide" title="Permalink to this headline">¶</a></h1>
<p>Apache Mynewt offers the world’s first fully open-source Bluetooth Low
Energy (BLE) or Bluetooth Smart stack fully compliant with Bluetooth 5
specifications with support for Bluetooth Mesh. It is called NimBLE.</p>
<p>BLE technology operates in the unlicensed industrial, scientific and
medical (ISM) band at 2.4 to 2.485 GHz which is available in most
countries. It uses a spread spectrum, frequency hopping, full-duplex
signal. BLE FHSS employs 40 2-MHz-wide channels to ensure greater
reliability over longer distances. It also features 0-dBm (1 mW) power
output and a typical maximum range of 50 meters. With Bluetooth 5
specification range can be increased 4 times and speed 2 time.</p>
<div class="toctree-wrapper compound">
</div>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><p><a class="reference internal" href="#features" id="id1">Features</a></p></li>
<li><p><a class="reference internal" href="#bluetooth-mesh-features" id="id2">Bluetooth Mesh features</a></p></li>
<li><p><a class="reference internal" href="#components" id="id3">Components</a></p></li>
<li><p><a class="reference internal" href="#example-nimble-projects" id="id4">Example NimBLE projects</a></p></li>
</ul>
</div>
<p>Note that BLE is not compatible with standard Bluetooth.</p>
<div class="section" id="features">
<h2><a class="toc-backref" href="#id1">Features</a><a class="headerlink" href="#features" title="Permalink to this headline">¶</a></h2>
<p>NimBLE complies with Bluetooth Core Specification 5.0 which makes it an
ideal wireless technology for the Internet of Things (IoT).</p>
<ul class="simple">
<li><p>LE Advertising Extensions</p></li>
<li><p>2Msym/s PHY for higher throughput</p></li>
<li><p>Coded PHY for LE Long Range</p></li>
<li><p>High Duty Cycle Non-Connectable Advertising</p></li>
<li><p>Channel Selection Algorithm #2 to utilize channels in more efficient
way.</p></li>
<li><p>LE Privacy 1.2 for frequent changes to the device address to make it
difficult to track for outsiders</p></li>
<li><p>LE Secure Connections featuring FIPS-compliant algorithms.</p></li>
<li><p>LE Data Length Extension for higher throughput</p></li>
<li><p><strong>Coming Soon</strong>: Assigning an Internet Protocol (IP) address
(complaint with the IPv6 or 6LoWPAN standard) to a Bluetooth device
through Internet Protocol Support Profile (IPSP)</p></li>
</ul>
<p>The Bluetooth 5 is backward compatible with previous Bluetooth version
4.2 which is also supported by Apache Mynewt.</p>
</div>
<div class="section" id="bluetooth-mesh-features">
<h2><a class="toc-backref" href="#id2">Bluetooth Mesh features</a><a class="headerlink" href="#bluetooth-mesh-features" title="Permalink to this headline">¶</a></h2>
<p>Bluetooth Mesh is a great addition to and opens a wide range of new
possibilities for the IoT connectivity space. NimBLE fully supports the
following Bluetooth Mesh features:</p>
<ul class="simple">
<li><p>Advertising and GATT bearers</p></li>
<li><p>PB-GATT and PB-ADV provisioning</p></li>
<li><p>Foundation Models (server role)</p></li>
<li><p>Relay support</p></li>
<li><p>GATT Proxy</p></li>
</ul>
</div>
<div class="section" id="components">
<h2><a class="toc-backref" href="#id3">Components</a><a class="headerlink" href="#components" title="Permalink to this headline">¶</a></h2>
<p>A Bluetooth low energy stack (NimBLE included) consists of two
components with several subcomponents:</p>
<ul class="simple">
<li><p><strong>Controller</strong></p>
<ul>
<li><p><strong>Physical Layer</strong>: adaptive frequency-hopping Gaussian Frequency
Shift Keying (GFSK) radio using 40 RF channels (0-39), with 2 MHz
spacing.</p></li>
<li><p><strong>Link Layer</strong>: with one of five states (Standby, Advertising,
Scanning, Initiating, Connection states) active at any time</p></li>
</ul>
</li>
<li><p><strong>Host</strong></p>
<ul>
<li><p><strong>Logical Link Control and Adaptation Protocol (L2CAP)</strong>: provides
logical channels, named L2CAP channels, which are multiplexed over
one or more logical links to provide packet segmentation and
reassembly, flow control, error control, streaming, QoS etc.</p></li>
<li><p><strong>Security Manager (SM)</strong>: uses Security Manager Protocol (SMP)
for pairing and transport specific key distribution for securing
radio communication</p></li>
<li><p><strong>Attribute protocol (ATT)</strong>: allows a device (<em>Server</em>) to expose
certain pieces of data, known as <em>Attributes</em>, to another device
(<em>Client</em>)</p></li>
<li><p><strong>Generic Attribute Profile (GATT)</strong>: a framework for using the
ATT protocol to exchange attributes encapsulated as
<em>Characteristics</em> or <em>Services</em></p></li>
<li><p><strong>Generic Access Profile (GAP)</strong>: a base profile which all
Bluetooth devices implement, which in the case of LE, defines the
Physical Layer, Link Layer, L2CAP, Security Manager, Attribute
Protocol and Generic Attribute Profile.</p></li>
<li><p><strong>Host Controller Interface (HCI)</strong>: the interface between the
host and controller either through software API or by a hardware
interface such as SPI, UART or USB.</p></li>
</ul>
</li>
</ul>
<p>Subsequent chapters in this manual will go into the details of the
implementation of each component, APIs available, and things to consider
while designing a NimBLE app.</p>
</div>
<div class="section" id="example-nimble-projects">
<h2><a class="toc-backref" href="#id4">Example NimBLE projects</a><a class="headerlink" href="#example-nimble-projects" title="Permalink to this headline">¶</a></h2>
<p>Mynewt comes with two built-in projects that allow users to play with
NimBLE, try the tutorials out with, and see how to use available
services.</p>
<ol class="arabic simple">
<li><p><strong>btshell</strong> : A simple shell application which provides a basic
interface to the host-side of the BLE stack.</p></li>
<li><p><strong>bleprph</strong>: A basic peripheral device with no user interface. It
advertises automatically on startup, and resumes advertising whenever
a connection is terminated. It supports a maximum of one connection.</p></li>
<li><p><strong>blemesh</strong>: A sample application for Bluetooth Mesh Node using
on/off model.</p></li>
</ol>
</div>
</div>


                   </div>
                  </div>
                  
    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
      
        <a href="ble_sec.html" class="btn btn-neutral float-right" title="NimBLE Security" accesskey="n">Next: NimBLE Security <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="../os/modules/json/json.html" class="btn btn-neutral" title="JSON" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: JSON</a>
      
    </div>

                </div>
              </div>
            </div>
            <!-- ENDS CONTENT SECTION -->
          </div>
          <!-- ENDS .content -->
        </div>
      </div>
      <footer>
  <div class="container">
    <div class="row">
      <div class="col-xs-12">
          
              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
          
      </div>
      <div class="col-xs-12">
          <div class="logos">
              <img src="../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
              <small class="footnote">
                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
              </small>
              <a href="">
                <img src="../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
              </a>
          </div>
      </div>
    </div>
  </div>
</footer>
    </div>
    <!-- ENDS #wrapper -->

  

    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'../',
            VERSION:'latest',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true,
            SOURCELINK_SUFFIX: '.txt',
            LINK_SUFFIX: '.html'
        };
    </script>
      <script type="text/javascript" src="../_static/jquery.js"></script>
      <script type="text/javascript" src="../_static/underscore.js"></script>
      <script type="text/javascript" src="../_static/doctools.js"></script>
      <script type="text/javascript" src="../_static/js/bootstrap-3.0.3.min.js"></script>
      <script type="text/javascript" src="../_static/js/affix.js"></script>
      <script type="text/javascript" src="../_static/js/main.js"></script>

   

  </body>
</html>