<div class="row v2-landing">

    <div class="col-xs-12 highlights">

       <div class="highlight">
            <img src="/img/FWdist.png">

            <h2>Designed to manage</h2>

            <p>Ready your IoT network of billions for remote monitoring, troubleshooting, management, and upgrade.</p>

            <ul>
	      <li> Image management module to enable efficient, failure-aware, and reliable remote firmware updates </li>
              <li> Logging modules that can be invoked at various levels of granularity, including specialized reboot logs </li>
              <li> Richly instrumented statistics modules for OS components and network interfaces </li>
              <li> Modularity for selective, optimized composition to extract the best performance from the hardware platform </li>
              <li> <a href="../os/os_user_guide/"> More on managment utilities...</a></li>
            </ul>

            </p>
        </div>

        <div class="highlight">
            <div class="img" style="background-image: url(/img/secure_img.png); background-size: cover; height: 200px;">
                &nbsp;
            </div>

            <h2>Security from the start</h2>

            <p> Ensure security is built into the code as well as lifecycle management for your product. </p>
            <ul>
              <li>Secure bootloader to verify firmware integrity and authenticity  </li>
              <li>Device identity for secure provisioning  </li>
              <li>Authenticated, authorized, and encrypted data transfers  </li>
              <li>Abstracted interface to leverage hardware security </li>
              <li> <a href="pages/securitybullets/">More on Mynewt OS security...</a> </li>
            </ul>


        </div>

        <div class="highlight">
            <img src="/img/concurrent_conn.png">

            <h2>Built for wireless</h2>

            <p> Meet your application’s demands with open source networking stacks e.g. Bluetooth Low Energy 4.2. </p>

            <ul>
              <li> Flexible, powerful BLE implementation (NimBLE)</li>
		<ul>
		  <li> Full stack, host only, or controller only - your choice </li>
		  <li> 10x throughput of Nordic Softdevice </li>
		  <li> 2x as many concurrent connections as Nordic Softdevice </li>
		  <li> 4x as many active connections in simulatenous central and peripheral roles as Intel Zephyr and Nordic Softdevice </li>
                  <li> <a href="/pages/ble/">More on NimBLE...</a> </li>
                </ul>
              <li> Additional connectivity options include WiFi </li>
              <li> Native support for TCP/IP, UDP </li>
              <li> Supports protocols for constrained networks e.g. CoAP and 6LoWPAN </li>
            </ul>

        </div>

        <div class="highlight">
            <img src="/img/cross-platform.png">

            <h2>Cross platforms</h2>

            <p> Pick one MCU now. Migrate to another later. </p>

            <ul>
              <li> Designed to be hardware agnostic - Cortex M0-M4 micro controllers, MIPS, RISC-V </li>
              <li> Hardware Abstraction Layer (HAL) to provide a uniform interface for peripherals across various micro controllers </li>
              <li> Board specific configurations are abstracted in Board Support Packages (BSP) </li>
            </ul>

        </div>

        <div class="highlight">
            <img src="/img/newt-img.png">
            <h2>Easy to use</h2>
            <p> Compose, fine-tune, and build your image within hours or even minutes. </p>

            <ul>
	      <li> Hardware initialization in single configuration file for the chosen BSP </li>
              <li> Initialization of service parameters in a single configuration file for the chosen module e.g. BLE controller </li>
              <li> Smart package management and build using Newt Tool </li>
              <li> Automatic configuration audits using Newt Tool </li>
              <li> <a href="../newt/newt_intro/">More on Newt...</a> </li>
            </ul>
        </div>

        <div class="updates">

          <div class="row">
            <div class="col-xs-12">

              <h2>Supported Boards</h2>

              <ul>
                  <li>
                      <a href="https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52832/"> nRF52 DK </a> from Nordic Semiconductor (Cortex-M4)
                  </li>
                  <li>
                      <a href="http://ruuvitag.com"> RuuviTag </a> Sensor beacon platform (Nordic nRF52832 based)
                  </li>
                  <li>
                      <a href="https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF51822"> nRF51 DK </a> from Nordic Semiconductor (Cortex-M0)
                  </li>
                  <li>
                      <a href="http://redbearlab.com/blenano/"> BLE Nano </a> from RedBearLabs (Nordic nRF51822 SoC based)
                  </li>
                  <li>
                      <a href="https://www.rigado.com/products/bmd-300-eval-kit/"> BMD-300-EVAL-ES </a> from Rigado (Cortex-M4)
                  </li>
                  <li>
                      <a href="http://www.st.com/en/evaluation-tools/stm32f3discovery.html"> STM32F3DISCOVERY </a> from ST Micro (Cortex-M4)
                  </li>
                  <li>
                      <a href=" https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware"> STM32-E407 </a> from Olimex (Cortex-M4)
                  </li>
                  <li>
                      <a href="https://www.arduino.cc/en/Main/ArduinoBoardZero"> Arduino Zero </a> (Cortex-M0)
                  </li>
                  <li>
                      <a href="http://www.arduino.org/products/previous-version-boards/11-previous-version-boards/arduino-zero-pro"> Arduino Zero Pro </a> (Cortex-M0)
                  </li>
                  <li>
                      <a href="http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0-pro"> Arduino M0 Pro </a> (Cortex-M0)
                  </li>
              </ul>

            </div>
          </div>
        </div>

    </div>

</div>
