Thursday, September 3, 2015

Contiki SubG Hz 6LowPAN on CC1350

To test on Contiki SubG Hz 6LowPAN on CC1350, I use SmartRF06EB+CC1350EM with FT232 USB-to-Serial dongle to act as Slip Radio which is connected to Raspberry Pi (It also works on BeagleBone Black too).

1. Git the latest Contiki source code by using "git clone --recursive".

2. Open /examples/ipv6/slip-radio/project-conf.h. Comment out the QUEUEBUF_CONF_NUM and UIP_CONF_BUFFER_SIZE and add "#define RF_CORE_CONF_CHANNEL 25"

 #define QUEUEBUF_CONF_NUM          4

 #define UIP_CONF_BUFFER_SIZE    140

#define RF_CORE_CONF_CHANNEL                 25
#define UIP_CONF_ROUTER                 0

3. Bulid slip-radio.bin using the following steps.
cd examples/ipv6/slip-radio
make clean
make TARGET=srf06-cc26xx BOARD=srf06/cc13xx slip-radio.bin

4. Flash slip-radio.bin to SmartRF06EB+CC1350EM using SmartRF Flash programmer 2.0.

5. Connect FT232 USB-to-Serial dongle to UART pins on SmartRF06EB and plug FT232 USB dongle to Raspberry Pi. You should see "ttyUSB0" get listed under /dev.

6. Refer to "Setup 6lbr to run 6LowPAN with CC2531 USB dongle on Raspberry Pi 2B" and revise "DEV_RADIO=/dev/ttyACM0" to "DEV_RADIO=/dev/ttyUSB0" in /etc/6lbr/6lbr.conf.

7. Use "sudo service 6lbr start" to start 6lbr and you can use Firefox to access to 6lbr web page ([bbbb:100]).

Then, I use anther SmartRF06EB+CC1350EM and a CC1350 SensorTag to act as Contiki SubG Hz 6LowPAN devices.

1. Build cc26xx-web-demo.bin for SmartRF06EB+CC1350EM and CC1350 SensorTag.
cd ../examples/cc26xx/cc26xx-web-demo
make clean
make TARGET=srf06-cc26xx BOARD=srf06/cc13xx cc26xx-web-demo.bin

2. Flash cc26xx-web-demo.bin to SmartRF06EB+CC1350EM and CC1350 SensorTag using SmartRF Flash programmer 2.0.

3. Check 6lbr Sensors web page and you will see these two device on it.


  1. Hi, I have a CC1310EM, does the above steps work on CC1310EM? thanks.

    1. Yes, it supposes to work no CC1310EM.

  2. Hi, during my attempt to use the FT232 USB to serial TTL to connect to the SmartRF06, wasn't able to see anything when I issue minicom on my linux computer (ubuntu). My setting is ttyUSB1 on my ubuntu and i put 115k baud rate using 8N1... my connection is from FT232 RTS to the board's CTS, CTS to the board's RTS, TXD to the board's RXD and RXD to the board's TXD. Any clue on this? The software in SmartRF and CC1130 is using TI's collector and node example.

  3. Hi, thanks for your tutorial. Great work!
    I have a (hopefully not too stupid) question:
    Wouldn't it be much cheaper and easier to use the CC1350 Launch Pad instead of the FT232 USB-to-Serial dongle, SmartRF06EB and FT232 USB dongle you used?
    And did you use a packet sniffer and if yes which one?
    Thank you very much

    1. When I write this post, there was no LAUNCHXL-CC1350. I agree LAUNCHXL-CC1350 is cheaper. I use sensniff as Packet sniffer.

  4. If I use LAUNCHXL-CC1310 instead of SmartRF06EB and FT232 USB dongle what will be the line below?

    make TARGET=srf06-cc26xx BOARD=srf06/cc13xx slip-radio.bin

    Appreciate your response.

  5. Use "make TARGET=srf06-cc26xx BOARD=launchpad/cc1310 slip-radio.bin"

  6. How can I move 'slip-radio.bin' file created using above procedure from "instant-contiki" Virtual Machine to windows machine so that it can be flashed onto CC1310 Launchpad using TI SmartRF flash programmer?
    I tried WinSCP tool, but instant-contiki does not let me connect for the transfer.
    Please help.

    I think this is a dumb question but some of the beginners might find the answer helpful.

  7. You can send the binary using gmail.

  8. what size is the .bin file? is it possible to use the smallest foot print with the 32k memory?

    1. Bin file is 128K bytes and it won’t fit into 32K flash.

  9. This comment has been removed by the author.

  10. I am using TelosB mote CC2420 as slip radio and saker gateway(by weptech)(CC2538+ CC1200) as native-border-router;but I am unable to make them communicate.On opening the web browser page of native border router(with it's IPv6 address) I am unable to see the any neighbours or routes.Can you tell me why?