Wednesday, January 11, 2017

Build 6lbr running on CC2650DK, CC1310DK, LAUNCHXL-CC2650 or LAUNCHXL-CC1310

The following steps show how to build 6lbr running CC2650DK or CC1310DK

1. Refer to which shows you how to connect ENC28J60 to SmartRF06EB.

2. git clone --recursive

3. Change "#define CETIC_6LBR_NVM_DEFAULT_CHANNEL 26" in \6lbr\examples\6lbr\6lbrnvm-data.h to "#define CETIC_6LBR_NVM_DEFAULT_CHANNEL 25"

4.  Add "#define RF_CORE_CONF_CHANNEL 25" into common configuration in \6lbr\examples\6lbr\project-conf.h

5. Change directory to \6lbr\examples\6lbr

6. Change the macro CETIC_6LBR_NVM_SIZE from 2048 to 4096 in file cc26xx-int-nvm.c (p.s. this is not necessary if you use LAUNCHXL-CC2650 or LAUNCHXL-CC1310)
          #define CETIC_6LBR_NVM_SIZE 4096//2048

7a. Run "make TARGET=srf06-cc26xx BOARD=srf06/cc26xx all" for CC2650DK or
7b. Run "make TARGET=srf06-cc26xx BOARD=srf06/cc13xx all" for CC1310DK or
7c. Run "make CC26XX_NVM=ext TARGET=srf06-cc26xx BOARD=launchpad/cc2650 all" for LAUNCHXL-CC2650 or
7d. Run "make CC26XX_NVM=ext TARGET=srf06-cc26xx BOARD=launchpad/cc1310 all" for LAUNCHXL-CC1310

8. Download cetic_6lbr_router.bin under \6lbr\examples\6lbr\bin_srf06-cc26xx to CC2650DK , CC1310DK, LAUNCHXL-CC2650, or LAUNCHXL-CC1310 with Flash Programmer 2.

9. You should see the following outputs on UART of CC2650DK , CC1310DK, LAUNCHXL-CC2650, or LAUNCHXL-CC1310.

9. You can access to [bbbb::100] now.


  1. Hi,
    Thanks for you detailed blog on 6lbr

    I am working on 6lopwan with the following goals in mind

    1. multiple CC2650 nodes running contiki
    2. run 6lbr in rpi3 but I dont want to run a webserver rather a custom client
    basically the data from WSN will be received in RPi3 and we will be running a custom client application to communicate with our custom server.

    How can I make my custom client to communicate with 6lbr to access data from WSN?

    I appreciate your inputs

  2. I'm using a fresh copy of instant contiki 2.7 and I've run into several problems with your steps:
    3) It took me a while to figure out that \6lbr\examples\6lbr\6lbrnvm-data.h is actually \6lbr\examples\6lbr\6lbr\nvm-data.h
    6) that file is under /6lbr/examples/6lbr/platform/srf06-cc26xx/cc26xx-int-nvm.c
    7) both 7a and 7d produce innumerable warnings and end up with errors and do not produce a .bin file. The last several lines read:
    make[2]: srec_cat: Command not found
    make[2]: *** [cetic-6lbr.hex] Error 127
    rm obj_srf06-cc26xx/sicslow-ethernet.o obj_srf06-cc26xx/packet-filter.o cetic-6lbr.i16hex obj_srf06-cc26xx/log-6lbr.o obj_srf06-cc26xx/startup_gcc.o obj_srf06-cc26xx/cc26xx-init.o obj_srf06-cc26xx/nvm-config.o obj_srf06-cc26xx/mac-wrapper.o obj_srf06-cc26xx/rio.o obj_srf06-cc26xx/fault-handlers.o obj_srf06-cc26xx/enc28j60-arch-gpio.o obj_srf06-cc26xx/cc26xx-ext-nvm.o obj_srf06-cc26xx/enc28j60-drv.o obj_srf06-cc26xx/enc28j60.o
    make[2]: Leaving directory `/home/user/6lbr/examples/6lbr'
    make[1]: *** [bin_srf06-cc26xx/cetic_6lbr_smart_bridge.bin] Error 2
    make[1]: Leaving directory `/home/user/6lbr/examples/6lbr'
    make: *** [all] Error 2

    1. Try to build it in InstantContiki 3.0 instead of 2.7.

  3. Thanks, it worked on Instant Contiki 3.0.

    I had previously tried other examples on 3.0 but had trouble when setting BOARD to the CC1310 launchpad, and since other posts and even the Instant Contiki download page said that despite there being a 3.0 version, the 2.7 was more up-to-date, I had moved to 2.7 and restarted trying to compile examples for the CC1310 launchpad.

    I thought step 2 would be enough to get support for CC1310 launchpad on IC 2.7?

    ENC28J60 should arrive early next week so I can start messing with the code.