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.

Revisions of mbed_app.json

Revision Date Message Actions
120:fe68bb7d2462 7 months ago Updating mbed-os to mbed-os-5.11.4 File  Diff  Annotate
119:9974bf303a9c 8 months ago Add support for KW41Z (#238) File  Diff  Annotate
105:0b691b27144a 11 months ago Merge branch 'mbed-os-5.10.0-oob' File  Diff  Annotate
90:0d8804fe2ce2 15 months ago Add a configuration option for button mode File  Diff  Annotate
68:2330fbeb4926 21 months ago Merge branch 'mbed-os-5.7.0-oob' File  Diff  Annotate
63:335c8d658420 22 months ago Update application configs (#145) File  Diff  Annotate
52:27692043e962 24 months ago Initial commit. File  Diff  Annotate
49:425a1889434d 2017-03-09 Merge branch 'oob_test_mbed-os-5.4' File  Diff  Annotate
44:253c7094c7e9 2017-02-17 Merge pull request #48 from ARMmbed/6lowpan_filt_traces File  Diff  Annotate
43:92c3c89d5bb2 2017-02-15 Don't use minized config by default File  Diff  Annotate
42:a5006817fa19 2017-02-15 Add minimized mbedTLS config file. File  Diff  Annotate
40:e0b9755ae4f1 2017-02-07 Use mbed configuration system to configure baudrates. File  Diff  Annotate
38:ea6124437f88 2017-02-01 Revert "test of NCS36510 as Thread Routing Node" File  Diff  Annotate
37:da3afe046413 2017-02-01 test of NCS36510 as Thread Routing Node File  Diff  Annotate
28:cba5aec18a00 2016-12-16 Merge branch 'mbed-os-5.3-rc' File  Diff  Annotate
19:f55c7983f8ab 2016-10-21 Updating mbed-os to mbed-os-5.2.0-rc4 File  Diff  Annotate
17:ee2610e1cb78 2016-10-02 Merge pull request #22 from ARMmbed/mbed-os-5.2-rc File  Diff  Annotate
16:22f072355a2c 2016-09-30 Merge pull request #21 from ARMmbed/atmel_rf_changes_incorporated File  Diff  Annotate
4:567d72fb3d84 2016-08-02 Merge pull request #12 from ARMmbed/add_tracing File  Diff  Annotate
3:2b08c6ae7415 2016-08-01 Merge pull request #11 from ARMmbed/channel_fix File  Diff  Annotate
1:24cff46332de 2016-07-28 Updating mbed-os pointer File  Diff  Annotate
0:bde1843b9885 2016-07-25 Update example home repo at File  Diff  Annotate