This application is the simplest one to utilize our mesh networking stack. It just joins your device to the unsecure 6LoWPAN-ND network. The canonical source for this example lives at

Example mesh application for Mbed OS

With this application, you can use our mesh networking stack. This application joins your device to the unsecure 6LoWPAN-ND network.


Building with Mbed CLI

If you'd like to use Mbed CLI to build this offline, then you should refer to the Mbed CLI documentation. The instructions here relate to using the Mbed Online Compiler

  1. Click `Import this application` button.
  2. Change the channel settings: See the file `mbed_app.json` for an example of defining an IEEE 802.15.4 channel to use.
  3. Compile the application

A binary is generated at the end of the build process.

Connect the RF shield to the board

By default, we are using the Atmel AT86RF233, which you can purchase. Place the shield on top of your board, and power it on.

Program the target

Drag and drop the binary to the target to program the application.

Update the firmware of the border router.

You can read the instructions on updating the firmware of your board working as 6LoWPAN border router here.

Please remember to connect the Ethernet cable between the border router and your router. Then, power up the board.


As soon as both the border router and the target are up and running, you can verify the correct behavior. Open a serial console, and see the IP address obtained by the device.

Note: This application uses a baud rate of 115200.


connected. IP = 2001:db8:a0b:12f0::1

You can use this IP address to ping from your PC and verify that the connection is working correctly.

Changing the radio driver (optional)

To run a 6LoWPAN-ND network, you need a working RF driver for Nanostack. This example uses the Atmel AT86RF233 by default.

To change the RF driver:

  1. Uninstall the Atmel RF driver.
  2. Install the new driver. (For example, for the FRDM-CR20A radio shield based on the MCR20A device.)
  3. Recompile your application.

Files at this revision

API Documentation at this revision

Mon Mar 04 15:00:41 2019 +0000
Commit message:
Update Jenkinsfile (#245)

Commit copied from

Changed in this revision

Jenkinsfile Show annotated file Show diff for this revision Revisions of this file
--- a/Jenkinsfile	Mon Mar 04 09:00:38 2019 +0000
+++ b/Jenkinsfile	Mon Mar 04 15:00:41 2019 +0000
@@ -142,8 +142,8 @@
           if ("${meshInterface}" == "ws") {
             config_file = "./configs/mesh_wisun${config_suffix}.json"
-            // Possibly in future use systest Wi-SUN Border Router for testing (Network name = "ARM-WS-TESTING")
-            execute("sed -i 's/\"mbed-mesh-api.wisun-network-name\": \"\\\"Wi-SUN Network\\\"\"/\"mbed-mesh-api.wisun-network-name\": \"\\\"ARM-WS-LAB-NWK\\\"\"/' ${config_file}")
+            // Possibly in future use systest Wi-SUN Border Router for testing (Network name = "ARM-WS-LAB-NWK")
+            execute("sed -i 's/Wi-SUN Network/ARM-WS-LAB-NWK/' ${config_file}")
           // For KW24D, we need to optimize for low memory
@@ -161,6 +161,8 @@
           // Activate traces
           execute("sed -i 's/\"mbed-trace.enable\": false/\"mbed-trace.enable\": true/' ${config_file}")
+          execute("cat ${config_file}")
           // Set mbed-os to revision received as parameter
           execute ("mbed deploy --protocol ssh")
           if (params.mbed_os_revision != '') {