You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2016/08/04 21:40:35 UTC

[2/2] incubator-mynewt-site git commit: Added a tutorial on enabling Wi-Fi on Arduino Zero

Added a tutorial on enabling Wi-Fi on Arduino Zero


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/commit/8d619f64
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/tree/8d619f64
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/diff/8d619f64

Branch: refs/heads/asf-site
Commit: 8d619f64811a676b99bbf2e1f3e26861e505b9c8
Parents: cfa84f8
Author: aditihilbert <ad...@runtime.io>
Authored: Thu Aug 4 14:40:19 2016 -0700
Committer: aditihilbert <ad...@runtime.io>
Committed: Thu Aug 4 14:40:19 2016 -0700

----------------------------------------------------------------------
 develop/mkdocs/search_index.json                |  74 +-
 develop/os/tutorials/STM32F303/index.html       |   8 +
 develop/os/tutorials/add_newtmgr/index.html     |   8 +
 .../os/tutorials/air_quality_sensor/index.html  |   8 +
 develop/os/tutorials/arduino_zero/index.html    |   8 +
 develop/os/tutorials/blehci_project/index.html  |   8 +
 .../os/tutorials/bleprph/bleprph-adv/index.html |   8 +
 .../bleprph/bleprph-chr-access/index.html       |   8 +
 .../tutorials/bleprph/bleprph-conn/index.html   |   8 +
 .../tutorials/bleprph/bleprph-intro/index.html  |   8 +
 .../bleprph/bleprph-svc-reg/index.html          |   8 +
 develop/os/tutorials/bletiny_project/index.html |   8 +
 develop/os/tutorials/blinky_primo/index.html    |   8 +
 .../os/tutorials/blinky_sram_olimex/index.html  |   8 +
 develop/os/tutorials/event_queue/index.html     |   8 +
 develop/os/tutorials/ibeacon/index.html         |   8 +
 develop/os/tutorials/nRF52/index.html           |   8 +
 develop/os/tutorials/olimex/index.html          |   8 +
 develop/os/tutorials/pics/arduino_wifi.png      | Bin 0 -> 944943 bytes
 develop/os/tutorials/pin-wheel-mods/index.html  |   8 +
 develop/os/tutorials/project-slinky/index.html  |   8 +
 .../tutorials/project-target-slinky/index.html  |   8 +
 develop/os/tutorials/repo/add_repos/index.html  |   8 +
 .../os/tutorials/repo/create_repo/index.html    |   8 +
 .../os/tutorials/repo/upgrade_repo/index.html   |   8 +
 develop/os/tutorials/tasks_lesson/index.html    |  12 +-
 develop/os/tutorials/tutorials/index.html       |  14 +
 develop/os/tutorials/unit_test/index.html       |  12 +-
 .../os/tutorials/wi-fi_on_arduino/index.html    | 737 +++++++++++++++++++
 develop/sitemap.xml                             |  20 +-
 latest/sitemap.xml                              |  20 +-
 sitemap.xml                                     |  20 +-
 v0_9_0/sitemap.xml                              |  20 +-
 33 files changed, 1067 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/mkdocs/search_index.json
----------------------------------------------------------------------
diff --git a/develop/mkdocs/search_index.json b/develop/mkdocs/search_index.json
index ea45382..606acad 100644
--- a/develop/mkdocs/search_index.json
+++ b/develop/mkdocs/search_index.json
@@ -407,7 +407,7 @@
         }, 
         {
             "location": "/os/tutorials/tutorials/", 
-            "text": "Tutorials\n\n\nIf 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. \n\n\nThe 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.\n\n\n\n\nPrerequisites:\n\n\n\n\nYou have installed Docker container of Newt tool and toolchains or you have installed them natively on your machine\n\n\nYou 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 \nCreating Your First Project\n.\n\n\nYou have at least one of the supported development boards: \n\n\nSTM32F3 discovery kit from ST Micro\n\n\nArduino Zero hardware\n\n\nOlimex/STM32F407ZGT6 Cortex-M4 hardware\n\n\nnRF52 Development Kit from Nordic Semiconductor\n\n\n\n\n\n\n\n\nThe Nordic nrf
 52 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 \nhere\n to get started.\n\n\n\n\nTutorial categories:\n\n\nThe tutorials fall into a few broad categories. Some examples in each category are listed below.\n\n\n\n\n\n\nMaking an LED blink (the \"Hello World\" equivalent in the electronics world)\n\n\n\n\nBlinky on Arduino Zero hardware\n\n\nBlinky on Olimex/STM32F407ZGT6 Cortex-M4 hardware\n\n\nBlinky on STM32F3 discovery kit from ST Micro\n\n\nBlinky on nRF52 Development Kit from Nordic Semiconductor\n \nNote:\n This supports BLE.\n\n\n\n\n\n\n\n\n\n\nTweaking available apps to customize behavior e.g. making a more exciting LED blink pattern\n\n\n\n\nPinwheel Blinky on STM32F3 discovery board\n\n\n\n\n\n\n\n\n\n\nNavigating the code and adding functionality  \n\n\n\n\nAdding more repositories t
 o your project\n\n\nAdding a unit test for a package\n\n\nAdding task to manage multiple events\n\n\n\n\n\n\n\n\n\n\n\n\nBluetooth Low Energy\n\n\nRunning the example BLE app included in the repo\n\n\nWorking with another example BLE app for a peripheral device\n\n\n\n\n\n\n\n\n\n\n\n\nUsing NewtMgr \n\n\nEnabling remote communication with a device running Mynewt OS\n\n\n\n\n\n\n\n\n\n\nSend us an email on the dev@ mailing list if you have comments or suggestions!\n If you haven't joined the mailing list, you will find the links \nhere\n.", 
+            "text": "Tutorials\n\n\nIf 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. \n\n\nThe 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.\n\n\n\n\nPrerequisites:\n\n\n\n\nYou have installed Docker container of Newt tool and toolchains or you have installed them natively on your machine\n\n\nYou 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 \nCreating Your First Project\n.\n\n\nYou have at least one of the supported development boards: \n\n\nSTM32F3 discovery kit from ST Micro\n\n\nArduino Zero hardware\n\n\nOlimex/STM32F407ZGT6 Cortex-M4 hardware\n\n\nnRF52 Development Kit from Nordic Semiconductor\n\n\n\n\n\n\n\n\nThe Nordic nrf
 52 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 \nhere\n to get started.\n\n\n\n\nTutorial categories:\n\n\nThe tutorials fall into a few broad categories. Some examples in each category are listed below.\n\n\n\n\n\n\nMaking an LED blink (the \"Hello World\" equivalent in the electronics world)\n\n\n\n\nBlinky on Arduino Zero hardware\n\n\nBlinky on Olimex/STM32F407ZGT6 Cortex-M4 hardware\n\n\nBlinky on STM32F3 discovery kit from ST Micro\n\n\nBlinky on nRF52 Development Kit from Nordic Semiconductor\n \nNote:\n This supports BLE.\n\n\n\n\n\n\n\n\n\n\nTweaking available apps to customize behavior e.g. making a more exciting LED blink pattern\n\n\n\n\nPinwheel Blinky on STM32F3 discovery board\n\n\n\n\n\n\n\n\n\n\nNavigating the code and adding functionality  \n\n\n\n\nAdding more repositories t
 o your project\n\n\nAdding a unit test for a package\n\n\nAdding task to manage multiple events\n\n\n\n\n\n\n\n\n\n\n\n\nBluetooth Low Energy\n\n\nRunning the example BLE app included in the repo\n\n\nWorking with another example BLE app for a peripheral device\n\n\n\n\n\n\n\n\n\n\n\n\nUsing NewtMgr \n\n\nEnabling remote communication with a device running Mynewt OS\n\n\n\n\n\n\n\n\n\n\n\n\nAdditional network connectivity\n\n\nConnect Arduino to a Wi-Fi network\n\n\n\n\n\n\n\n\nSend us an email on the dev@ mailing list if you have comments or suggestions!\n If you haven't joined the mailing list, you will find the links \nhere\n.", 
             "title": "toc"
         }, 
         {
@@ -422,7 +422,7 @@
         }, 
         {
             "location": "/os/tutorials/tutorials/#tutorial-categories", 
-            "text": "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)   Blinky on Arduino Zero hardware  Blinky on Olimex/STM32F407ZGT6 Cortex-M4 hardware  Blinky on STM32F3 discovery kit from ST Micro  Blinky on nRF52 Development Kit from Nordic Semiconductor   Note:  This supports BLE.      Tweaking available apps to customize behavior e.g. making a more exciting LED blink pattern   Pinwheel Blinky on STM32F3 discovery board      Navigating the code and adding functionality     Adding more repositories to your project  Adding a unit test for a package  Adding task to manage multiple events       Bluetooth Low Energy  Running the example BLE app included in the repo  Working with another example BLE app for a peripheral device       Using NewtMgr   Enabling remote communication with a device running Mynewt OS      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 .", 
+            "text": "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)   Blinky on Arduino Zero hardware  Blinky on Olimex/STM32F407ZGT6 Cortex-M4 hardware  Blinky on STM32F3 discovery kit from ST Micro  Blinky on nRF52 Development Kit from Nordic Semiconductor   Note:  This supports BLE.      Tweaking available apps to customize behavior e.g. making a more exciting LED blink pattern   Pinwheel Blinky on STM32F3 discovery board      Navigating the code and adding functionality     Adding more repositories to your project  Adding a unit test for a package  Adding task to manage multiple events       Bluetooth Low Energy  Running the example BLE app included in the repo  Working with another example BLE app for a peripheral device       Using NewtMgr   Enabling remote communication with a device running Mynewt OS       Additional network connectivity  Connect
  Arduino to a Wi-Fi network     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 .", 
             "title": "Tutorial categories:"
         }, 
         {
@@ -1026,6 +1026,76 @@
             "title": "Conclusion"
         }, 
         {
+            "location": "/os/tutorials/wi-fi_on_arduino/", 
+            "text": "Start Wi-Fi on Arduino Zero\n\n\nThis tutorial walks you through the steps to get your Arduino board on a Wi-Fi network. \n\n\nNote:\n Wi-Fi support is currently available in the \ndevelop\n branch of Mynewt only. It will be merged into \nmaster\n branch when version 0.10 is released.\n\n\nPrerequisites\n\n\nBefore tackling this tutorial, it's best to read about Mynewt in the \nIntroduction\n section of this documentation.\n\n\nEquipment\n\n\nYou will need the following equipment\n\n\n\n\nAn Arduino Zero, Zero Pro or M0 Pro.\n\n\nNote:\n Mynewt has not been tested on Arduino M0 which has no internal debugger support.\n\n\nAn Arduino Wi-Fi Shield 101\n\n\nA computer that can connect to the Arduino board over USB\n\n\nA local Wi-Fi network that the computer is connected to and which the Arduino board can join.\n\n\nA USB cable (Type A to micro B) that can connect the computer to the Arduino (or a USB hub between the computer and the Arduino board)\n\n\nThe Mynewt 
 Release\n\n\n\n\nInstall Mynewt and Newt\n\n\n\n\nIf you have not already done so, install Newt as shown in the \nNewt install tutorial\n. \n\n\nIf you installed Newt previously but need to update it, go to the newt git repo directory, pull the latest code from \ndevelop\n branch, and install the updated code.\n\n\n\n\n   user@~/dev$ cd $GOPATH/src/mynewt.apache.org/newt\n   user@~/dev/go/src/mynewt.apache.org/newt$ git remote -v\n   origin   https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git (fetch)\n   origin   https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git (push)\n   user@~/dev/go/src/mynewt.apache.org/newt$ git pull origin develop\n   remote: Counting objects: 59, done.\n   \nsnip\n\n   user@~/dev/go/src/mynewt.apache.org/newt$ cd newt\n   user@~/dev/go/src/mynewt.apache.org/newt/newt$ go install\n   user@~/dev$ cd ~/dev\n\n\n\n\n\n\n\nIf you have not already done so, create a project as shown in the Quick Start guide on how to \nCreate Your Fir
 st Project\n. Skip the testing and building the project steps in that tutorial since you will be defining a target for your Arduino board in this tutorial.\n\n\n\n\nLet's say your new project is named \narduinowifi\n. You will henceforth be working in that project directory.\n\n\n\n\nFetch External Packages, Set correct version to download\n\n\nMynewt uses source code provided directly from the chip manufacturer for \nlow level operations. Sometimes this code is licensed only for the specific manufacturer of the chipset and cannot live in the Apache Mynewt repository. That happens to be the case for the Arduino Zero board which uses Atmel SAMD21. Runtime's github repository hosts such external third-party packages and the Newt tool can fetch them.\n\n\nTo fetch the package with MCU support for Atmel SAMD21 for Arduino Zero from the Runtime git repository, you need to add \nthe repository to the \nproject.yml\n file in your base project directory (\narduinowifi\n).\n\n\nuser@~/dev/ar
 duinowifi$ vi project.yml\n\n\n\n\n\nHere is an example \nproject.yml\n file with the Arduino Zero repository\nadded. The sections with \nmynewt_arduino_zero\n that need to be added to \nyour project file are highlighted. \n\n\nAlso highlighted is the \n0-dev\n version for both the repositories to ensure code is downloaded from the \ndevelop\n branch.\n\n\n$ more project.yml \nproject.name: \nmy_project\n\n\nproject.repositories:\n    - apache-mynewt-core\n\n    - mynewt_arduino_zero\n\n\nrepository.apache-mynewt-core:\n    type: github\n\n    vers: 0-dev\n\n    user: apache\n    repo: incubator-mynewt-core\n\n\nrepository.mynewt_arduino_zero:\n\n    type: github\n\n    vers: 0-dev\n\n    user: runtimeinc\n\n    repo: mynewt_arduino_zero\n\n$ \n\n\n\n\n\n\n\nOnce you've edited your \nproject.yml\n file, the next step is to install the \nproject dependencies, this can be done with the \nnewt install\n command \n(to see more output, provide the \n-v\n verbose option.): \n\n\n$ newt in
 stall \napache-mynewt-core\nmynewt_arduino_zero\n$\n\n\n\n\n\n\n\nCreate your bootloader target\n\n\nNext, you need to tell Newt what to build.  For the Arduino Zero, we are going to \ngenerate both a bootloader, and an image target.\n\n\nTo generate the bootloader target, you need to specify the following options. The output of the commands (indicating success) have been suppressed for easier readability. \n\n\n$ newt target create arduino_boot \n$ newt target set arduino_boot bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero \n$ newt target set arduino_boot app=@apache-mynewt-core/apps/boot \n$ newt target set arduino_boot build_profile=optimized\n\n\n\n\n\n\n\nIf you have an Arduino Zero Pro or M0 Pro, you have to set the following next:\n\n\n$ newt target set arduino_boot features=arduino_zero_pro \n\n\n\n\n\nIf you have an Arduino Zero, you have to set the following instead:\n\n\n$ newt target set arduino_boot features=arduino_zero \n\n\n\n\n\n\n\nBuild your bootloader\n\n\nOnce you
 've configured the bootloader target, the next step is to build the bootloader for your Arduino. You can do this by using the \nnewt build\n command:\n\n\n$ newt build arduino_boot \nCompiling boot.c\nArchiving boot.a\nCompiling fs_cli.c\nCompiling fs_dirent.c\nCompiling fs_file.c\nCompiling fs_mkdir.c\n\nsnip\n\nApp successfully built: ~/dev/arduinowifi/bin/arduino_boot/apps/boot/boot.elf\n\n\n\n\n\nIf this command finishes successfully, you have successfully built the Arduino \nbootloader, and the next step is to build your application for the Arduino \nboard.\n\n\n\n\nBuild your blinky app\n\n\nTo create and download your application, you create another target, this one pointing to the application you want to download to the Arduino board.  In this tutorial,  we will use the Wi-Fi application that comes in the arduino repository, \napps/winc1500_wifi\n:\n\n\nNote\n: Remember to set features to \narduino_zero\n if your board is Arduino Zero and not a Pro!\n\n\n$ newt target create
  arduino_wifi \n$ newt target set arduino_wifi app=@mynewt_arduino_zero/apps/winc1500_wifi\n$ newt target set arduino_wifi bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero\n$ newt target set arduino_wifi build_profile=debug \n\n$ newt target set arduino_wifi features=arduino_zero_pro \n\n\n\n\n\n\n\nYou can now build the target, with \nnewt build\n: \n\n\n$ newt build arduino_wifi \nBuilding target targets/arduino_wifi\nCompiling main.c\nArchiving winc1500_wifi.a\nCompiling fs_cli.c\nCompiling fs_dirent.c\nCompiling fs_file.c\nCompiling fs_mkdir.c\n\nsnip\n\nLinking winc1500_wifi.elf\nApp successfully built: ~/dev/arduinowifi/bin/arduino_wifi/apps/winc1500_wifi/winc1500_wifi.elf\n\n\n\n\n\n Congratulations! \n You have successfully built your Wi-Fi application. Now it's time to load both the bootloader and application onto the target.\n\n\n\n\nConnect the Target\n\n\nPlace the Wi-Fi shield on top of the Arduino board and push it in place, making sure the pins and pinholes are properly a
 ligned. Connect your computer to the Arduino board with the Micro-USB cable through the Programming Port as shown below. Mynewt will download and debug the target through this port. You should see a little green LED come on. That means the board has power.\n\n\nNo external debugger is required.  The Arduino boards listed in this tutorial come with an internal debugger that can be accessed by Mynewt.\n\n\nThe picture below shows the setup.\n\n\n\n\n\n\nDownload the Bootloader\n\n\nExecute the command to download the bootloader. \n\n\n    \n$\n \nnewt\n \nload\n \narduino_boot\n\n\n\n\n\n\nIf the newt tool finishes without error, that means the bootloader has been \nsuccessfully loaded onto the target.\n\n\n\n\n Reminder if you are using Docker: \n When working with actual hardware, remember that each board has an ID. If you swap boards and do not refresh the USB Device Filter on the VirtualBox UI, the ID might be stale and the Docker instance may not be able to see the board correctl
 y. For example, you may see an error message like \nError: unable to find CMSIS-DAP device\n when you try to load or run an image on the board. In that case, you need to click on the USB link in VirtualBox UI, remove the existing USB Device Filter (e.g. \"Atmel Corp. EDBG CMSIS-DAP[0101]\") by clicking on the \"Removes selected USB filter\" button, and add a new filter by clicking on the \"Adds new USB filter\" button.\n\n\n\n\nLoad the Application Image\n\n\nNow that the bootloader is downloaded to the target, the next steps are to create an image and load it onto the target device.\n\n\n$ newt create-image arduino_wifi 1.0.0\nApp image succesfully generated: ~/dev/arduinowifi/bin/arduino_wifi/apps/winc1500_wifi/winc1500_wifi.img\nBuild manifest: ~/dev/arduinowifi/bin/arduino_wifi/apps/winc1500_wifi/manifest.json\n$ newt load arduino_wifi\nLoading image\n$\n\n\n\n\n\n\n\nStart Wi-Fi via console\n\n\nUse a terminal emulation program to communicate with the board over the serial port
 . This tutorial shows a Minicom set up. You will have to find out what the usbserial port number is on your computer/laptop (\nls /dev\n) and specify it as the -D flag value. Type \nwifi start\n to start Wi-Fi.\n\n\n$ minicom -D /dev/tty.usbmodem141122 -b 115200\n\n\nWelcome to minicom 2.7\n\nOPTIONS: \nCompiled on Nov 24 2015, 16:14:21.\nPort /dev/tty.usbmodem141122, 10:11:40\n\nPress Meta-Z for help on special keys\n\n\nwifi start\n\n119470:(APP)(INFO)Chip ID 1502b1\n(APP)(INFO)Firmware ver   : 19.4.4\n(APP)(INFO)Min driver ver : 19.3.0\n(APP)(INFO)Curr driver ver: 19.3.0                                              \nwifi_init : 0                        \n\n\n\n\n\nConnect to the local Wi-Fi network. Then start network services. The commands to be issued are highlighted below. In the example below, the network interface on the Arduino board gets an IP address of \n192.168.0.117\n.\n\n\nwifi connect \nWi-Fi network name\n \npassword\n \n\n16906:wifi_request_scan : 0\n17805:scan_re
 sults 16: 0\n17816:wifi_connect : 0\n18813:connect_done : 0\n18821:dhcp done 192.168.0.117\n18932:get sys time response 2016.8.2-18.4.43\n\nnet service\n\n\n\n\n\nEstablish TCP connection and talk!\n\n\nFrom a terminal on your computer/laptop, try telneting to ports 7, 9, or 19 using the IP address your board has been assigned. Type something on this terminal and see the console output (on minicom). Can you see the difference in the behaviors?\n\n\n$ telnet 192.168.0.117 7\nTrying 192.168.0.117...\nConnected to 192.168.0.117.\nEscape character is \n^]\n.\nhello\nhello\n^]\ntelnet\n q\n$\n\n\n\n\n\nOne port echoes whatever is typed, one discards everything it gets, and the third spews out bits constantly. Type \nwifi stop\n to disable WiFi on the Arduino board.\n\n\nHope you had fun!", 
+            "title": "Enable Wi-Fi on Arduino Zero"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#start-wi-fi-on-arduino-zero", 
+            "text": "This tutorial walks you through the steps to get your Arduino board on a Wi-Fi network.   Note:  Wi-Fi support is currently available in the  develop  branch of Mynewt only. It will be merged into  master  branch when version 0.10 is released.", 
+            "title": "Start Wi-Fi on Arduino Zero"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#prerequisites", 
+            "text": "Before tackling this tutorial, it's best to read about Mynewt in the  Introduction  section of this documentation.", 
+            "title": "Prerequisites"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#equipment", 
+            "text": "You will need the following equipment   An Arduino Zero, Zero Pro or M0 Pro.  Note:  Mynewt has not been tested on Arduino M0 which has no internal debugger support.  An Arduino Wi-Fi Shield 101  A computer that can connect to the Arduino board over USB  A local Wi-Fi network that the computer is connected to and which the Arduino board can join.  A USB cable (Type A to micro B) that can connect the computer to the Arduino (or a USB hub between the computer and the Arduino board)  The Mynewt Release", 
+            "title": "Equipment"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#install-mynewt-and-newt", 
+            "text": "If you have not already done so, install Newt as shown in the  Newt install tutorial .   If you installed Newt previously but need to update it, go to the newt git repo directory, pull the latest code from  develop  branch, and install the updated code.      user@~/dev$ cd $GOPATH/src/mynewt.apache.org/newt\n   user@~/dev/go/src/mynewt.apache.org/newt$ git remote -v\n   origin   https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git (fetch)\n   origin   https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git (push)\n   user@~/dev/go/src/mynewt.apache.org/newt$ git pull origin develop\n   remote: Counting objects: 59, done.\n    snip \n   user@~/dev/go/src/mynewt.apache.org/newt$ cd newt\n   user@~/dev/go/src/mynewt.apache.org/newt/newt$ go install\n   user@~/dev$ cd ~/dev   If you have not already done so, create a project as shown in the Quick Start guide on how to  Create Your First Project . Skip the testing and building the project steps
  in that tutorial since you will be defining a target for your Arduino board in this tutorial.   Let's say your new project is named  arduinowifi . You will henceforth be working in that project directory.", 
+            "title": "Install Mynewt and Newt"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#fetch-external-packages-set-correct-version-to-download", 
+            "text": "Mynewt uses source code provided directly from the chip manufacturer for \nlow level operations. Sometimes this code is licensed only for the specific manufacturer of the chipset and cannot live in the Apache Mynewt repository. That happens to be the case for the Arduino Zero board which uses Atmel SAMD21. Runtime's github repository hosts such external third-party packages and the Newt tool can fetch them.  To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero from the Runtime git repository, you need to add \nthe repository to the  project.yml  file in your base project directory ( arduinowifi ).  user@~/dev/arduinowifi$ vi project.yml  Here is an example  project.yml  file with the Arduino Zero repository\nadded. The sections with  mynewt_arduino_zero  that need to be added to \nyour project file are highlighted.   Also highlighted is the  0-dev  version for both the repositories to ensure code is downloaded from the  develop  branch.  $ mor
 e project.yml \nproject.name:  my_project \n\nproject.repositories:\n    - apache-mynewt-core     - mynewt_arduino_zero \nrepository.apache-mynewt-core:\n    type: github     vers: 0-dev     user: apache\n    repo: incubator-mynewt-core repository.mynewt_arduino_zero:     type: github     vers: 0-dev     user: runtimeinc     repo: mynewt_arduino_zero $    Once you've edited your  project.yml  file, the next step is to install the \nproject dependencies, this can be done with the  newt install  command \n(to see more output, provide the  -v  verbose option.):   $ newt install \napache-mynewt-core\nmynewt_arduino_zero\n$", 
+            "title": "Fetch External Packages, Set correct version to download"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#create-your-bootloader-target", 
+            "text": "Next, you need to tell Newt what to build.  For the Arduino Zero, we are going to \ngenerate both a bootloader, and an image target.  To generate the bootloader target, you need to specify the following options. The output of the commands (indicating success) have been suppressed for easier readability.   $ newt target create arduino_boot \n$ newt target set arduino_boot bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero \n$ newt target set arduino_boot app=@apache-mynewt-core/apps/boot \n$ newt target set arduino_boot build_profile=optimized   If you have an Arduino Zero Pro or M0 Pro, you have to set the following next:  $ newt target set arduino_boot features=arduino_zero_pro   If you have an Arduino Zero, you have to set the following instead:  $ newt target set arduino_boot features=arduino_zero", 
+            "title": "Create your bootloader target"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#build-your-bootloader", 
+            "text": "Once you've configured the bootloader target, the next step is to build the bootloader for your Arduino. You can do this by using the  newt build  command:  $ newt build arduino_boot \nCompiling boot.c\nArchiving boot.a\nCompiling fs_cli.c\nCompiling fs_dirent.c\nCompiling fs_file.c\nCompiling fs_mkdir.c snip \nApp successfully built: ~/dev/arduinowifi/bin/arduino_boot/apps/boot/boot.elf  If this command finishes successfully, you have successfully built the Arduino \nbootloader, and the next step is to build your application for the Arduino \nboard.", 
+            "title": "Build your bootloader"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#build-your-blinky-app", 
+            "text": "To create and download your application, you create another target, this one pointing to the application you want to download to the Arduino board.  In this tutorial,  we will use the Wi-Fi application that comes in the arduino repository,  apps/winc1500_wifi :  Note : Remember to set features to  arduino_zero  if your board is Arduino Zero and not a Pro!  $ newt target create arduino_wifi \n$ newt target set arduino_wifi app=@mynewt_arduino_zero/apps/winc1500_wifi\n$ newt target set arduino_wifi bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero\n$ newt target set arduino_wifi build_profile=debug  $ newt target set arduino_wifi features=arduino_zero_pro    You can now build the target, with  newt build :   $ newt build arduino_wifi \nBuilding target targets/arduino_wifi\nCompiling main.c\nArchiving winc1500_wifi.a\nCompiling fs_cli.c\nCompiling fs_dirent.c\nCompiling fs_file.c\nCompiling fs_mkdir.c snip \nLinking winc1500_wifi.elf\nApp successfully built: ~/dev/ardui
 nowifi/bin/arduino_wifi/apps/winc1500_wifi/winc1500_wifi.elf   Congratulations!   You have successfully built your Wi-Fi application. Now it's time to load both the bootloader and application onto the target.", 
+            "title": "Build your blinky app"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#connect-the-target", 
+            "text": "Place the Wi-Fi shield on top of the Arduino board and push it in place, making sure the pins and pinholes are properly aligned. Connect your computer to the Arduino board with the Micro-USB cable through the Programming Port as shown below. Mynewt will download and debug the target through this port. You should see a little green LED come on. That means the board has power.  No external debugger is required.  The Arduino boards listed in this tutorial come with an internal debugger that can be accessed by Mynewt.  The picture below shows the setup.", 
+            "title": "Connect the Target"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#download-the-bootloader", 
+            "text": "Execute the command to download the bootloader.        $   newt   load   arduino_boot   If the newt tool finishes without error, that means the bootloader has been \nsuccessfully loaded onto the target.    Reminder if you are using Docker:   When working with actual hardware, remember that each board has an ID. If you swap boards and do not refresh the USB Device Filter on the VirtualBox UI, the ID might be stale and the Docker instance may not be able to see the board correctly. For example, you may see an error message like  Error: unable to find CMSIS-DAP device  when you try to load or run an image on the board. In that case, you need to click on the USB link in VirtualBox UI, remove the existing USB Device Filter (e.g. \"Atmel Corp. EDBG CMSIS-DAP[0101]\") by clicking on the \"Removes selected USB filter\" button, and add a new filter by clicking on the \"Adds new USB filter\" button.", 
+            "title": "Download the Bootloader"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#load-the-application-image", 
+            "text": "Now that the bootloader is downloaded to the target, the next steps are to create an image and load it onto the target device.  $ newt create-image arduino_wifi 1.0.0\nApp image succesfully generated: ~/dev/arduinowifi/bin/arduino_wifi/apps/winc1500_wifi/winc1500_wifi.img\nBuild manifest: ~/dev/arduinowifi/bin/arduino_wifi/apps/winc1500_wifi/manifest.json\n$ newt load arduino_wifi\nLoading image\n$", 
+            "title": "Load the Application Image"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#start-wi-fi-via-console", 
+            "text": "Use a terminal emulation program to communicate with the board over the serial port. This tutorial shows a Minicom set up. You will have to find out what the usbserial port number is on your computer/laptop ( ls /dev ) and specify it as the -D flag value. Type  wifi start  to start Wi-Fi.  $ minicom -D /dev/tty.usbmodem141122 -b 115200\n\n\nWelcome to minicom 2.7\n\nOPTIONS: \nCompiled on Nov 24 2015, 16:14:21.\nPort /dev/tty.usbmodem141122, 10:11:40\n\nPress Meta-Z for help on special keys wifi start 119470:(APP)(INFO)Chip ID 1502b1\n(APP)(INFO)Firmware ver   : 19.4.4\n(APP)(INFO)Min driver ver : 19.3.0\n(APP)(INFO)Curr driver ver: 19.3.0                                              \nwifi_init : 0                          Connect to the local Wi-Fi network. Then start network services. The commands to be issued are highlighted below. In the example below, the network interface on the Arduino board gets an IP address of  192.168.0.117 .  wifi connect  Wi-Fi net
 work name   password   16906:wifi_request_scan : 0\n17805:scan_results 16: 0\n17816:wifi_connect : 0\n18813:connect_done : 0\n18821:dhcp done 192.168.0.117\n18932:get sys time response 2016.8.2-18.4.43 net service", 
+            "title": "Start Wi-Fi via console"
+        }, 
+        {
+            "location": "/os/tutorials/wi-fi_on_arduino/#establish-tcp-connection-and-talk", 
+            "text": "From a terminal on your computer/laptop, try telneting to ports 7, 9, or 19 using the IP address your board has been assigned. Type something on this terminal and see the console output (on minicom). Can you see the difference in the behaviors?  $ telnet 192.168.0.117 7\nTrying 192.168.0.117...\nConnected to 192.168.0.117.\nEscape character is  ^] .\nhello\nhello\n^]\ntelnet  q\n$  One port echoes whatever is typed, one discards everything it gets, and the third spews out bits constantly. Type  wifi stop  to disable WiFi on the Arduino board.  Hope you had fun!", 
+            "title": "Establish TCP connection and talk!"
+        }, 
+        {
             "location": "/os/tutorials/unit_test/", 
             "text": "Write a Test Suite for a Package\n\n\nThis document presents a tutorial which guides the reader through writing\na test suite for a Mynewt package (new or existing).\n\n\nIntroduction\n\n\nWriting a test suite involves using the \nlibs/testutil\n\n package within Mynewt core os. The \ntestutil\n library provides the interface to \nthe \nnewt\n command tool and also provides the compile time hooks to include\ntest suites into your code.  Review the \n[\ntestutil\n introduction page ] (../modules/testutil/testutil.md)\nto learn about how the library works.\n\n\nIdentify Your Package\n\n\nIdentify the package for which you are writing a test suite.  For this example\nwe will use \nlibs/json\n.  To create a new package, see \nthis Tutorial\n.\n\n\nModify Pkg.yml\n\n\nEdit the package (\npkg.yml\n) file for your package and add the test dependency\nfor the Mynewt core OS \nlibs/testutil\n.\n\n\npkg\n.\ndeps\n.\nTEST\n:\n   \n-\n \nlibs/testutil\n\n\n\n\n\n\nCreate Yo
 ur Test Suite Template\n\n\nCreate a subdirectory \ntest\n under your package main directory. \nCreate a file pair for your test code and header files within the \ntest\n\ndirectory created above.  Below shows the \nlibs/json\n directory within the \nMynewt core, including the test directory. In this example, we used the \nconvention \ntest_xxx.c/h\n (in this case \ntest_json\n).\n\n\n\u251c\u2500\u2500\n \nMSJSON_COPYING\n\n\n\u251c\u2500\u2500\n \ninclude\n\n\n\u2502\u00a0\u00a0\n \n\u2514\u2500\u2500\n \njson\n\n\n\u2502\u00a0\u00a0\n     \n\u2514\u2500\u2500\n \njson\n.\nh\n\n\n\u251c\u2500\u2500\n \npkg\n.\nyml\n\n\n\u2514\u2500\u2500\n \nsrc\n\n    \n\u251c\u2500\u2500\n \njson_decode\n.\nc\n\n    \n\u251c\u2500\u2500\n \njson_encode\n.\nc\n\n    \n\u2514\u2500\u2500\n \ntest\n\n        \n\u251c\u2500\u2500\n \ntest_json\n.\nc\n\n        \n\u2514\u2500\u2500\n \ntest_json\n.\nh\n\n\n\n\n\n\nCreate Your Test Suite Code\n\n\nEdit the \ntest_json.c\n file and add your test suite 
 definition.  NOTE that \nthe test suite code requires \n#include \ntestutil/testutil.h\n to get the \nMynewt testutil definitions.\n\n\nYour test suite \ntest_json.c\n file contains at a minimum two functions:\n\n\n\n\nA test Suite which is empty for now, but will contain calls to your test\ncases.  \n\n\nA main function which must be \n#ifdef\n'd using \nMYNEWT_SELFTEST\n to ensure\nthat is does not get compiled in when this test suite is run with \ntest suites from other packages \n\n\n\n\nBelow shows the contents of the \ntest_json.c\n file.\n\n\n#include \ntestutil/testutil.h\n\n\n\nTEST_SUITE\n(\ntest_json_suite\n) {\n    \n/* empty for now, add test cases later */\n\n}\n\n\n#ifdef MYNEWT_SELFTEST\n\n\nint\n\n\nmain\n(\nint\n \nargc\n, \nchar\n \n**argv\n)\n{\n    \ntu_config\n.\ntc_print_results\n \n=\n \n1\n;\n    \ntu_init\n();\n    \ntest_json_suite\n();\n    \nreturn\n \ntu_any_failed\n;\n}\n\n#endif\n\n\n\n\n\n\nTry It Out\n\n\nAt this point, you have a working test suite
  with \nno\n tests.\n\nThis will by default pass the test.  Your output will look\nsomething like this.\n\n\nYou can use the \nnewt test\n command to run the unit tests for any package.\n\nJust include the package name.  These unit tests run via the project \n\nunittest\n which is a native project automatically included in the core\nos package.  Below shows some of the test output of this command.\n\n\n$\n \nnewt\n \ntest\n \nlibs/json\n\n\nArchiving\n \nutil\n.\na\n\n\nLinking\n \ntest_json\n\n\nTesting\n \npackage\n \nlibs/json\n\n\nTest\n ...\n/bin/unittest/libs/json/test_json\n \nok!\n\n\n\n\n\n\nCreate a Test\n\n\nTo create a test within your test suite, there are two things to do.\n\n\n\n\nAdd the functions to your test suite\n\n\nImplement the function using the \ntestutil\n macros\n\n\n\n\nFor this tutorial we will create two functions: one to test a simple json\nencode and one to test the decode of this simple message to ensure its \ncoherent.\n\n\nFollow These steps;\n\n\n
 1. Create function prototypes in \ntest_json.h\n for your test functions. \nA macro in \ntestutil.h\n hides the actual prototype, but as of this writing\nthe prototype is \nint test_func(void);\n.  \n\n\n#ifndef TEST_JSON_H\n\n\n#define TEST_JSON_H\n\n\n\nTEST_CASE_DECL\n(\ntest_json_simple_encode\n);\n\nTEST_CASE_DECL\n(\ntest_json_simple_decode\n);\n\n\n#endif /* TEST_JSON_H \n\n\n\n\n\n\n2. create a new file \ntest_json_simple.c\n to define these two functions.  For\nnow you can stub these functions. Below shows the contents of this file. \nThe functions are defined using macros which reference back to the \n\ntestutil\n library so the test can be enumerated and recorded automatically.\n\n\n#include \ntestutil/testutil.h\n\n\n#include \ntest_json.h\n\n\n\nTEST_CASE\n(\ntest_json_simple_encode\n) {\n}\n\n\nTEST_CASE\n(\ntest_json_simple_decode\n) {\n}\n\n#endif /* TEST_JSON_H \n\n\n\n\n\n\n3. Add the tests to your test suite in \ntest_json.c\n as shown below.\n\n\nTEST_SUITE\n(\nt
 est_json_suite\n) {\n    \ntest_json_simple_encode\n();\n    \ntest_json_simple_decode\n();\n}\n\n\n\n\n\nYour test suite should still pass as shown below\n\n\n$newt\n \ntest\n \nlibs/json\n\n\nTesting\n \npackage\n \nlibs/json\n\n\nTest\n ...\n/bin/unittest/libs/json/test_json\n \nok!\n\n\n\n\n\n\nAdd Contents to your Tests\n\n\nAt this point, you can add contents to your test and verify that \nthe test suites pass.  For now, lets just add a simple failure to show\nwhat it would look like when running from Newt.\n\n\n\n\nEdit \ntest_json_simple.c\n and add a \nTEST_ASSERT\n to a test function. The\ntest assert will fail if its argument is \nfalse\n.\n\n\n\n\nTEST_CASE\n(\ntest_json_simple_encode\n) {\n    \nTEST_ASSERT\n(\n0\n);\n}\n\n\n\n\n\nWhen running newt, you will see the test suite fails with something like\nthe message shown below.\n\n\nTesting\n \npackage\n \nlibs/json\n\n[\nFAIL\n] \ntest_json_suite/\n(\nnull\n) \n|test_json_simple\n.\nc\n:\n24\n|\n \nfailed\n \nassertion
 \n: \n0\n\n\nError\n: \nTest\n \ncrashed\n: ..\n/bin/unittest/libs/json/test_json\n\n\nexit\n \nstatus\n \n1\n\n\n\n\n\n\nCongratulations\n\n\nNow you can begin the work of adding your test cases and test.\n\n\nTesting on your target", 
             "title": "Write a Test Suite for a Package"

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/STM32F303/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/STM32F303/index.html b/develop/os/tutorials/STM32F303/index.html
index 5a6d2c3..db05928 100644
--- a/develop/os/tutorials/STM32F303/index.html
+++ b/develop/os/tutorials/STM32F303/index.html
@@ -313,6 +313,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/add_newtmgr/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/add_newtmgr/index.html b/develop/os/tutorials/add_newtmgr/index.html
index 216e752..82d8293 100644
--- a/develop/os/tutorials/add_newtmgr/index.html
+++ b/develop/os/tutorials/add_newtmgr/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/air_quality_sensor/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/air_quality_sensor/index.html b/develop/os/tutorials/air_quality_sensor/index.html
index 286ffd0..e898918 100644
--- a/develop/os/tutorials/air_quality_sensor/index.html
+++ b/develop/os/tutorials/air_quality_sensor/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/arduino_zero/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/arduino_zero/index.html b/develop/os/tutorials/arduino_zero/index.html
index cae1931..78cf3f2 100644
--- a/develop/os/tutorials/arduino_zero/index.html
+++ b/develop/os/tutorials/arduino_zero/index.html
@@ -299,6 +299,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/blehci_project/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/blehci_project/index.html b/develop/os/tutorials/blehci_project/index.html
index 7dcdc40..b202f5c 100644
--- a/develop/os/tutorials/blehci_project/index.html
+++ b/develop/os/tutorials/blehci_project/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/bleprph/bleprph-adv/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-adv/index.html b/develop/os/tutorials/bleprph/bleprph-adv/index.html
index ec31f3f..fa97e6e 100644
--- a/develop/os/tutorials/bleprph/bleprph-adv/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-adv/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/bleprph/bleprph-chr-access/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-chr-access/index.html b/develop/os/tutorials/bleprph/bleprph-chr-access/index.html
index d934678..1a24b5a 100644
--- a/develop/os/tutorials/bleprph/bleprph-chr-access/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-chr-access/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/bleprph/bleprph-conn/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-conn/index.html b/develop/os/tutorials/bleprph/bleprph-conn/index.html
index d7c983c..acb38a3 100644
--- a/develop/os/tutorials/bleprph/bleprph-conn/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-conn/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/bleprph/bleprph-intro/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-intro/index.html b/develop/os/tutorials/bleprph/bleprph-intro/index.html
index 5ddd34b..f883e2a 100644
--- a/develop/os/tutorials/bleprph/bleprph-intro/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-intro/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html b/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html
index 61dac3a..be1a101 100644
--- a/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html
+++ b/develop/os/tutorials/bleprph/bleprph-svc-reg/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/bletiny_project/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/bletiny_project/index.html b/develop/os/tutorials/bletiny_project/index.html
index 16a1992..3a4e72a 100644
--- a/develop/os/tutorials/bletiny_project/index.html
+++ b/develop/os/tutorials/bletiny_project/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/blinky_primo/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/blinky_primo/index.html b/develop/os/tutorials/blinky_primo/index.html
index d78874c..cfd3892 100644
--- a/develop/os/tutorials/blinky_primo/index.html
+++ b/develop/os/tutorials/blinky_primo/index.html
@@ -299,6 +299,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/blinky_sram_olimex/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/blinky_sram_olimex/index.html b/develop/os/tutorials/blinky_sram_olimex/index.html
index 2379f22..8571d71 100644
--- a/develop/os/tutorials/blinky_sram_olimex/index.html
+++ b/develop/os/tutorials/blinky_sram_olimex/index.html
@@ -299,6 +299,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/event_queue/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/event_queue/index.html b/develop/os/tutorials/event_queue/index.html
index 0195bc7..244a38f 100644
--- a/develop/os/tutorials/event_queue/index.html
+++ b/develop/os/tutorials/event_queue/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/ibeacon/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/ibeacon/index.html b/develop/os/tutorials/ibeacon/index.html
index ff8ebaf..6cc5332 100644
--- a/develop/os/tutorials/ibeacon/index.html
+++ b/develop/os/tutorials/ibeacon/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/nRF52/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/nRF52/index.html b/develop/os/tutorials/nRF52/index.html
index 7de007a..ac737fd 100644
--- a/develop/os/tutorials/nRF52/index.html
+++ b/develop/os/tutorials/nRF52/index.html
@@ -299,6 +299,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/olimex/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/olimex/index.html b/develop/os/tutorials/olimex/index.html
index 2dcfa12..307bf02 100644
--- a/develop/os/tutorials/olimex/index.html
+++ b/develop/os/tutorials/olimex/index.html
@@ -299,6 +299,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/pics/arduino_wifi.png
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/pics/arduino_wifi.png b/develop/os/tutorials/pics/arduino_wifi.png
new file mode 100644
index 0000000..8129686
Binary files /dev/null and b/develop/os/tutorials/pics/arduino_wifi.png differ

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/pin-wheel-mods/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/pin-wheel-mods/index.html b/develop/os/tutorials/pin-wheel-mods/index.html
index 27b015b..9074916 100644
--- a/develop/os/tutorials/pin-wheel-mods/index.html
+++ b/develop/os/tutorials/pin-wheel-mods/index.html
@@ -313,6 +313,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/project-slinky/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/project-slinky/index.html b/develop/os/tutorials/project-slinky/index.html
index 8c747a9..7ecbb36 100644
--- a/develop/os/tutorials/project-slinky/index.html
+++ b/develop/os/tutorials/project-slinky/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/project-target-slinky/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/project-target-slinky/index.html b/develop/os/tutorials/project-target-slinky/index.html
index 3cb94cb..128f8cc 100644
--- a/develop/os/tutorials/project-target-slinky/index.html
+++ b/develop/os/tutorials/project-target-slinky/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/repo/add_repos/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/repo/add_repos/index.html b/develop/os/tutorials/repo/add_repos/index.html
index 07846c4..d18af2d 100644
--- a/develop/os/tutorials/repo/add_repos/index.html
+++ b/develop/os/tutorials/repo/add_repos/index.html
@@ -266,6 +266,14 @@
               
                 
     <li >
+      <a href="../../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/repo/create_repo/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/repo/create_repo/index.html b/develop/os/tutorials/repo/create_repo/index.html
index c144410..6eb5c82 100644
--- a/develop/os/tutorials/repo/create_repo/index.html
+++ b/develop/os/tutorials/repo/create_repo/index.html
@@ -266,6 +266,14 @@
               
                 
     <li >
+      <a href="../../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/repo/upgrade_repo/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/repo/upgrade_repo/index.html b/develop/os/tutorials/repo/upgrade_repo/index.html
index a20104c..a1720df 100644
--- a/develop/os/tutorials/repo/upgrade_repo/index.html
+++ b/develop/os/tutorials/repo/upgrade_repo/index.html
@@ -266,6 +266,14 @@
               
                 
     <li >
+      <a href="../../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../../unit_test/">Write a Test Suite for a Package</a>
     </li>
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/tasks_lesson/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/tasks_lesson/index.html b/develop/os/tutorials/tasks_lesson/index.html
index 8f78998..bd7f4f7 100644
--- a/develop/os/tutorials/tasks_lesson/index.html
+++ b/develop/os/tutorials/tasks_lesson/index.html
@@ -256,6 +256,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 
@@ -751,8 +759,8 @@ $ git checkout develop
     </li>
     <li class="pull-right">
     
-    <a href=../unit_test/>
-        Next: Write a Test Suite for a Package
+    <a href=../wi-fi_on_arduino/>
+        Next: Enable Wi-Fi on Arduino Zero
         <span class="fa fa-arrow-right"></span>
     </a>
     

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/tutorials/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/tutorials/index.html b/develop/os/tutorials/tutorials/index.html
index 62e0f93..06821bf 100644
--- a/develop/os/tutorials/tutorials/index.html
+++ b/develop/os/tutorials/tutorials/index.html
@@ -244,6 +244,14 @@
               
                 
     <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
       <a href="../unit_test/">Write a Test Suite for a Package</a>
     </li>
 
@@ -486,6 +494,12 @@
 </li>
 </ul>
 <p><br></p>
+<ul>
+<li>Additional network connectivity<ul>
+<li><a href="../wi-fi_on_arduino/">Connect Arduino to a Wi-Fi network</a></li>
+</ul>
+</li>
+</ul>
 <p><strong>Send us an email on the dev@ mailing list if you have comments or suggestions!</strong> If you haven't joined the mailing list, you will find the links <a href="../../../community/">here</a>.</p>
 <p><br></p>
                         

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/unit_test/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/unit_test/index.html b/develop/os/tutorials/unit_test/index.html
index 76970d9..c9b9f2a 100644
--- a/develop/os/tutorials/unit_test/index.html
+++ b/develop/os/tutorials/unit_test/index.html
@@ -243,6 +243,14 @@
           
               
                 
+    <li >
+      <a href="../wi-fi_on_arduino/">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
     <li class="active">
       <a href="./">Write a Test Suite for a Package</a>
     </li>
@@ -603,9 +611,9 @@ the message shown below.</p>
 <ul class="nav nav-pills" style="margin-bottom: 10px">
     <li>
     
-    <a href=../tasks_lesson/>
+    <a href=../wi-fi_on_arduino/>
         <span class="fa fa-arrow-left"></span>
-        Previous: Lesson Unit on Tasks and Priority Management
+        Previous: Enable Wi-Fi on Arduino Zero
     </a>
     
     </li>

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/8d619f64/develop/os/tutorials/wi-fi_on_arduino/index.html
----------------------------------------------------------------------
diff --git a/develop/os/tutorials/wi-fi_on_arduino/index.html b/develop/os/tutorials/wi-fi_on_arduino/index.html
new file mode 100644
index 0000000..54431d2
--- /dev/null
+++ b/develop/os/tutorials/wi-fi_on_arduino/index.html
@@ -0,0 +1,737 @@
+<!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">
+        
+        
+        <link rel="canonical" href="http://mynewt.apache.org/os/tutorials/wi-fi_on_arduino/">
+        <link rel="shortcut icon" href="../../../img/favicon.ico">
+
+	<title>Enable Wi-Fi on Arduino Zero - Apache Mynewt</title>
+
+        <link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
+        <link href="../../../css/font-awesome-4.0.3.css" rel="stylesheet">
+        <link rel="stylesheet" href="../../../css/highlight.css">
+        <link href="../../../css/base.css" rel="stylesheet">
+        <link href="../../../css/custom.css" rel="stylesheet">
+        <link href="../../../css/v2.css" rel="stylesheet">
+        <link href='https://fonts.googleapis.com/css?family=Roboto:400,500,700,900,300,100' rel='stylesheet' type='text/css'>
+        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
+        <link href="../../../extra.css" rel="stylesheet">
+
+        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+        <!--[if lt IE 9]>
+            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+        <![endif]-->
+
+        
+            <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="Enable Wi-Fi on Arduino Zero">
+
+
+        
+
+
+
+
+
+
+<nav id="navbar" class="navbar navbar-inverse navbar-fixed-top" 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 
+  class=""
+>
+                    <a href="/">Home</a>
+                </li>
+                <li 
+  class="important"
+>
+                    <a href="/quick-start/">Quick Start</a>
+                </li>
+                <li 
+  class=""
+>
+                    <a href="/about/">About</a>
+                </li>
+                <li 
+  class="active"
+>
+                    <a href="/latest/os/introduction">Documentation</a>
+                </li>
+                <li 
+  class=""
+>
+                    <a href="/download/">Download</a>
+                </li>
+                <li 
+  class=""
+>
+                    <a href="/community/">Community</a>
+                </li>
+                <li 
+  class=""
+>
+                    <a href="/events/">Events</a>
+                </li>
+            </ul>
+
+            <!-- Search, Navigation and Repo links -->
+            <ul class="nav navbar-nav navbar-right">
+                
+            </ul>
+        </div>
+    </div>
+</nav>
+
+        
+
+        <div class="container">
+            
+                <div class="row">
+                    <div class="col-md-3 v2-sidebar"><div id="docSidebar" class="hidden-print" role="complementary">
+    <div class="top">
+        <img class="hidden-xs hidden-sm logo-small" src="/img/logo.svg" alt="MyNewt" title="MyNewt">
+        <div role="search">
+            <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+                <div class="form-group">
+                    <input type="text" name="q" class="form-control" placeholder="Search documentation" />
+                </div>
+            </form>
+        </div>
+    </div>
+    <ul class="toc-nav">
+      <li class="doc-version">
+<select class="form-control" onchange="if (this.value) window.location.href=this.value">
+    
+    <option
+      value="/develop/os/introduction"
+      selected="selected"
+    >
+      Version: develop
+    </option>
+    
+    <option
+      value="/v0_9_0/os/introduction"
+      
+    >
+      Version: 0.9.0 (latest)
+    </option>
+    
+</select>
+</li>
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+      
+        
+          
+  
+  
+    <li ><a href="../../introduction/">Mynewt Documentation</a>
+  
+  
+    <ul>
+          
+              
+          
+              
+                
+  
+  
+    <li ><a href="../../get_started/get_started/">Basic Setup</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../../get_started/vocabulary/">Concepts</a>
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../tutorials/">Tutorials</a>
+  
+  
+    <ul>
+          
+              
+          
+              
+                
+  
+  
+    <li><a href="
+  ../arduino_zero/
+">Project Blinky</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../repo/add_repos/">Work with repositories</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li><a href="
+  ../tasks_lesson/
+">A Sample Lesson</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+    <li class="active">
+      <a href="./">Enable Wi-Fi on Arduino Zero</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../unit_test/">Write a Test Suite for a Package</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../air_quality_sensor/">Air-quality Sensor project</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../event_queue/">Add task to manage multiple events</a>
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li><a href="
+  ../project-slinky/
+">Project Slinky for remote comms</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../add_newtmgr/">Enable newtmgr in any app</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../bletiny_project/">BLE app to check stats via console</a>
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../bleprph/bleprph-intro/">BLE peripheral project</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../ibeacon/">BLE iBeacon</a>
+    </li>
+
+              
+          
+              
+                
+    <li >
+      <a href="../blehci_project/">BLE HCI interface</a>
+    </li>
+
+              
+          
+    </ul>
+  
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../../os_user_guide/">OS User Guide</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li><a href="
+  ../../../network/ble/ble_intro/
+">BLE User Guide</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../../../newt/newt_intro/">Newt Tool Guide</a>
+  
+  
+    </li>
+
+              
+          
+              
+                
+  
+  
+    <li ><a href="../../../newtmgr/overview/">Newt Manager Guide</a>
+  
+  
+    </li>
+
+              
+          
+    </ul>
+  
+    </li>
+
+        
+      
+        
+          
+  
+  
+    <li><a href="
+  ../../../faq/how_to_edit_docs/
+">Appendix</a>
+  
+  
+    </li>
+
+        
+      
+    </ul>
+</div></div>
+
+                    <div class="show-sidebar-container">
+                        <button class="show-sidebar">Docs Menu</button>
+                    </div>
+
+                    <div class="col-md-9" role="main">
+                        <div class="row doc-header">
+                            <div class="col-sm-12">
+                                <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs pull-right">
+    <li><a href="/develop/os/introduction">Docs</a></li>
+    
+    
+        
+          <li>&raquo; <a href="../../introduction/">Mynewt Documentation</a></li>
+        
+      
+        
+          <li>&raquo; <a href="../tutorials/">Tutorials</a></li>
+        
+      
+      
+        <li>&raquo; Enable Wi-Fi on Arduino Zero</li>
+      
+    
+    
+  </ul>
+</div>
+                            </div>
+                        </div>
+                        
+                            <h2 id="start-wi-fi-on-arduino-zero">Start Wi-Fi on Arduino Zero</h2>
+<p>This tutorial walks you through the steps to get your Arduino board on a Wi-Fi network. </p>
+<p><strong>Note:</strong> Wi-Fi support is currently available in the <code>develop</code> branch of Mynewt only. It will be merged into <code>master</code> branch when version 0.10 is released.</p>
+<h3 id="prerequisites">Prerequisites</h3>
+<p>Before tackling this tutorial, it's best to read about Mynewt in the <a href="../../get_started/introduction">Introduction</a> section of this documentation.</p>
+<h3 id="equipment">Equipment</h3>
+<p>You will need the following equipment</p>
+<ul>
+<li>An Arduino Zero, Zero Pro or M0 Pro.<br />
+<strong>Note:</strong> Mynewt has not been tested on Arduino M0 which has no internal debugger support.</li>
+<li>An Arduino Wi-Fi Shield 101</li>
+<li>A computer that can connect to the Arduino board over USB</li>
+<li>A local Wi-Fi network that the computer is connected to and which the Arduino board can join.</li>
+<li>A USB cable (Type A to micro B) that can connect the computer to the Arduino (or a USB hub between the computer and the Arduino board)</li>
+<li>The Mynewt Release</li>
+</ul>
+<h3 id="install-mynewt-and-newt">Install Mynewt and Newt</h3>
+<ul>
+<li>If you have not already done so, install Newt as shown in the <a href="../../../newt/install/newt_mac/">Newt install tutorial</a>. </li>
+<li>If you installed Newt previously but need to update it, go to the newt git repo directory, pull the latest code from <code>develop</code> branch, and install the updated code.</li>
+</ul>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">   user@~/dev$ cd $GOPATH/src/mynewt.apache.org/newt
+   user@~/dev/go/src/mynewt.apache.org/newt$ git remote -v
+   origin   https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git (fetch)
+   origin   https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git (push)
+   user@~/dev/go/src/mynewt.apache.org/newt$ git pull origin develop
+   remote: Counting objects: 59, done.
+   &lt;snip&gt;
+   user@~/dev/go/src/mynewt.apache.org/newt$ cd newt
+   user@~/dev/go/src/mynewt.apache.org/newt/newt$ go install
+   user@~/dev$ cd ~/dev
+</pre></div>
+
+
+<ul>
+<li>If you have not already done so, create a project as shown in the Quick Start guide on how to <a href="../../get_started/project_create/">Create Your First Project</a>. Skip the testing and building the project steps in that tutorial since you will be defining a target for your Arduino board in this tutorial.</li>
+</ul>
+<p>Let's say your new project is named <code>arduinowifi</code>. You will henceforth be working in that project directory.</p>
+<p><br></p>
+<h3 id="fetch-external-packages-set-correct-version-to-download">Fetch External Packages, Set correct version to download</h3>
+<p>Mynewt uses source code provided directly from the chip manufacturer for 
+low level operations. Sometimes this code is licensed only for the specific manufacturer of the chipset and cannot live in the Apache Mynewt repository. That happens to be the case for the Arduino Zero board which uses Atmel SAMD21. Runtime's github repository hosts such external third-party packages and the Newt tool can fetch them.</p>
+<p>To fetch the package with MCU support for Atmel SAMD21 for Arduino Zero from the Runtime git repository, you need to add 
+the repository to the <code>project.yml</code> file in your base project directory (<code>arduinowifi</code>).</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">user@~/dev/arduinowifi$ vi project.yml
+</pre></div>
+
+
+<p>Here is an example <code>project.yml</code> file with the Arduino Zero repository
+added. The sections with <code>mynewt_arduino_zero</code> that need to be added to 
+your project file are highlighted. </p>
+<p>Also highlighted is the <code>0-dev</code> version for both the repositories to ensure code is downloaded from the <code>develop</code> branch.</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ more project.yml 
+project.name: &quot;my_project&quot;
+
+project.repositories:
+    - apache-mynewt-core
+<span style="background-color: #ffffcc">    - mynewt_arduino_zero
+</span>
+repository.apache-mynewt-core:
+    type: github
+<span style="background-color: #ffffcc">    vers: 0-dev
+</span>    user: apache
+    repo: incubator-mynewt-core
+
+<span style="background-color: #ffffcc">repository.mynewt_arduino_zero:
+</span><span style="background-color: #ffffcc">    type: github
+</span><span style="background-color: #ffffcc">    vers: 0-dev
+</span><span style="background-color: #ffffcc">    user: runtimeinc
+</span><span style="background-color: #ffffcc">    repo: mynewt_arduino_zero
+</span>$ 
+</pre></div>
+
+
+<p><br></p>
+<p>Once you've edited your <code>project.yml</code> file, the next step is to install the 
+project dependencies, this can be done with the <code>newt install</code> command 
+(to see more output, provide the <code>-v</code> verbose option.): </p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt install 
+apache-mynewt-core
+mynewt_arduino_zero
+$
+</pre></div>
+
+
+<p><br></p>
+<h3 id="create-your-bootloader-target">Create your bootloader target</h3>
+<p>Next, you need to tell Newt what to build.  For the Arduino Zero, we are going to 
+generate both a bootloader, and an image target.</p>
+<p>To generate the bootloader target, you need to specify the following options. The output of the commands (indicating success) have been suppressed for easier readability. </p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt target create arduino_boot 
+$ newt target set arduino_boot bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero 
+$ newt target set arduino_boot app=@apache-mynewt-core/apps/boot 
+$ newt target set arduino_boot build_profile=optimized
+</pre></div>
+
+
+<p><br></p>
+<p>If you have an Arduino Zero Pro or M0 Pro, you have to set the following next:</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt target set arduino_boot features=arduino_zero_pro 
+</pre></div>
+
+
+<p>If you have an Arduino Zero, you have to set the following instead:</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt target set arduino_boot features=arduino_zero 
+</pre></div>
+
+
+<p><br></p>
+<h3 id="build-your-bootloader">Build your bootloader</h3>
+<p>Once you've configured the bootloader target, the next step is to build the bootloader for your Arduino. You can do this by using the <code>newt build</code> command:</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt build arduino_boot 
+Compiling boot.c
+Archiving boot.a
+Compiling fs_cli.c
+Compiling fs_dirent.c
+Compiling fs_file.c
+Compiling fs_mkdir.c
+&lt;snip&gt;
+App successfully built: ~/dev/arduinowifi/bin/arduino_boot/apps/boot/boot.elf
+</pre></div>
+
+
+<p>If this command finishes successfully, you have successfully built the Arduino 
+bootloader, and the next step is to build your application for the Arduino 
+board.</p>
+<p><br></p>
+<h3 id="build-your-blinky-app">Build your blinky app</h3>
+<p>To create and download your application, you create another target, this one pointing to the application you want to download to the Arduino board.  In this tutorial,  we will use the Wi-Fi application that comes in the arduino repository, <code>apps/winc1500_wifi</code>:</p>
+<p><strong>Note</strong>: Remember to set features to <code>arduino_zero</code> if your board is Arduino Zero and not a Pro!</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt target create arduino_wifi 
+$ newt target set arduino_wifi app=@mynewt_arduino_zero/apps/winc1500_wifi
+$ newt target set arduino_wifi bsp=@mynewt_arduino_zero/hw/bsp/arduino_zero
+$ newt target set arduino_wifi build_profile=debug 
+<span style="background-color: #ffffcc">$ newt target set arduino_wifi features=arduino_zero_pro 
+</span></pre></div>
+
+
+<p><br></p>
+<p>You can now build the target, with <code>newt build</code>: </p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt build arduino_wifi 
+Building target targets/arduino_wifi
+Compiling main.c
+Archiving winc1500_wifi.a
+Compiling fs_cli.c
+Compiling fs_dirent.c
+Compiling fs_file.c
+Compiling fs_mkdir.c
+&lt;snip&gt;
+Linking winc1500_wifi.elf
+App successfully built: ~/dev/arduinowifi/bin/arduino_wifi/apps/winc1500_wifi/winc1500_wifi.elf
+</pre></div>
+
+
+<p><font color="#FF0000"> Congratulations! </font> You have successfully built your Wi-Fi application. Now it's time to load both the bootloader and application onto the target.</p>
+<p><br></p>
+<h3 id="connect-the-target">Connect the Target</h3>
+<p>Place the Wi-Fi shield on top of the Arduino board and push it in place, making sure the pins and pinholes are properly aligned. Connect your computer to the Arduino board with the Micro-USB cable through the Programming Port as shown below. Mynewt will download and debug the target through this port. You should see a little green LED come on. That means the board has power.</p>
+<p>No external debugger is required.  The Arduino boards listed in this tutorial come with an internal debugger that can be accessed by Mynewt.</p>
+<p>The picture below shows the setup.</p>
+<p><img alt="Arduino with Wi-Fi shield" src="../pics/arduino_wifi.png" title="WifiShield" /></p>
+<p><br></p>
+<h3 id="download-the-bootloader">Download the Bootloader</h3>
+<p>Execute the command to download the bootloader. </p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">    <span style="color: #000000">$</span> <span style="color: #000000">newt</span> <span style="color: #000000">load</span> <span style="color: #000000">arduino_boot</span>
+</pre></div>
+
+
+<p>If the newt tool finishes without error, that means the bootloader has been 
+successfully loaded onto the target.</p>
+<p><br></p>
+<p><font color="#FF0000"> Reminder if you are using Docker: </font> When working with actual hardware, remember that each board has an ID. If you swap boards and do not refresh the USB Device Filter on the VirtualBox UI, the ID might be stale and the Docker instance may not be able to see the board correctly. For example, you may see an error message like <code>Error: unable to find CMSIS-DAP device</code> when you try to load or run an image on the board. In that case, you need to click on the USB link in VirtualBox UI, remove the existing USB Device Filter (e.g. "Atmel Corp. EDBG CMSIS-DAP[0101]") by clicking on the "Removes selected USB filter" button, and add a new filter by clicking on the "Adds new USB filter" button.</p>
+<p><br></p>
+<h3 id="load-the-application-image">Load the Application Image</h3>
+<p>Now that the bootloader is downloaded to the target, the next steps are to create an image and load it onto the target device.</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ newt create-image arduino_wifi 1.0.0
+App image succesfully generated: ~/dev/arduinowifi/bin/arduino_wifi/apps/winc1500_wifi/winc1500_wifi.img
+Build manifest: ~/dev/arduinowifi/bin/arduino_wifi/apps/winc1500_wifi/manifest.json
+$ newt load arduino_wifi
+Loading image
+$
+</pre></div>
+
+
+<p><br></p>
+<h3 id="start-wi-fi-via-console">Start Wi-Fi via console</h3>
+<p>Use a terminal emulation program to communicate with the board over the serial port. This tutorial shows a Minicom set up. You will have to find out what the usbserial port number is on your computer/laptop (<code>ls /dev</code>) and specify it as the -D flag value. Type <code>wifi start</code> to start Wi-Fi.</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ minicom -D /dev/tty.usbmodem141122 -b 115200
+
+
+Welcome to minicom 2.7
+
+OPTIONS: 
+Compiled on Nov 24 2015, 16:14:21.
+Port /dev/tty.usbmodem141122, 10:11:40
+
+Press Meta-Z for help on special keys
+
+<span style="background-color: #ffffcc">wifi start
+</span>119470:(APP)(INFO)Chip ID 1502b1
+(APP)(INFO)Firmware ver   : 19.4.4
+(APP)(INFO)Min driver ver : 19.3.0
+(APP)(INFO)Curr driver ver: 19.3.0                                              
+wifi_init : 0                        
+</pre></div>
+
+
+<p>Connect to the local Wi-Fi network. Then start network services. The commands to be issued are highlighted below. In the example below, the network interface on the Arduino board gets an IP address of <code>192.168.0.117</code>.</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span style="background-color: #ffffcc">wifi connect &lt;Wi-Fi network name&gt; &lt;password&gt; 
+</span>16906:wifi_request_scan : 0
+17805:scan_results 16: 0
+17816:wifi_connect : 0
+18813:connect_done : 0
+18821:dhcp done 192.168.0.117
+18932:get sys time response 2016.8.2-18.4.43
+<span style="background-color: #ffffcc">net service
+</span></pre></div>
+
+
+<h3 id="establish-tcp-connection-and-talk">Establish TCP connection and talk!</h3>
+<p>From a terminal on your computer/laptop, try telneting to ports 7, 9, or 19 using the IP address your board has been assigned. Type something on this terminal and see the console output (on minicom). Can you see the difference in the behaviors?</p>
+<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%">$ telnet 192.168.0.117 7
+Trying 192.168.0.117...
+Connected to 192.168.0.117.
+Escape character is &#39;^]&#39;.
+hello
+hello
+^]
+telnet&gt; q
+$
+</pre></div>
+
+
+<p>One port echoes whatever is typed, one discards everything it gets, and the third spews out bits constantly. Type <code>wifi stop</code> to disable WiFi on the Arduino board.</p>
+<p>Hope you had fun!</p>
+                        
+                        <div class="row">
+                            
+
+
+
+<ul class="nav nav-pills" style="margin-bottom: 10px">
+    <li>
+    
+    <a href=../tasks_lesson/>
+        <span class="fa fa-arrow-left"></span>
+        Previous: Lesson Unit on Tasks and Priority Management
+    </a>
+    
+    </li>
+    <li class="pull-right">
+    
+    <a href=../unit_test/>
+        Next: Write a Test Suite for a Package
+        <span class="fa fa-arrow-right"></span>
+    </a>
+    
+    </li>
+</ul>
+                        </div>
+                        <div class="row">
+                            <footer>
+    <div class="row">
+        <div class="col-md-12">
+            
+                <p class="copyright">Copyright &copy; 2015 The Apache Software Foundation, Licensed under the Apache License, Version 2.0 Apache and the Apache feather logo are trademarks of The Apache Software Foundation.<br>The Apache Software Foundation Apache Incubator</p>
+            
+        </div>
+    </div>
+    <div class="copyright-logos">
+        <div class="row">
+            <div class="col-xs-6 text-right">
+                <img src="/img/apache-feather.png" alt="Apache" title="Apache">
+            </div>
+            <div class="col-xs-6 text-left">
+                <img src="/img/apache-logo.png" alt="Apache Incubator" title="Apache Incubator">
+            </div>
+        </div>
+    </div>
+    <div class="row">
+        <div class="col-md-12">
+            <small class="footnote">
+                MyNewt is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+            </small>
+        </div>
+    </div>
+</footer>
+                        </div>
+                    </div>
+                </div>
+            
+            
+        </div>
+
+        <script src="../../../js/jquery-1.10.2.min.js"></script>
+        <script src="../../../js/bootstrap-3.0.3.min.js"></script>
+        <script src="../../../js/highlight.pack.js"></script>
+        <script src="../../../js/base.js"></script>
+        <script src="../../../js/custom.js"></script>
+
+    </body>
+</html>
\ No newline at end of file