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 <[email protected]>
Authored: Thu Aug 4 14:40:19 2016 -0700
Committer: aditihilbert <[email protected]>
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


Reply via email to