Wednesday, October 8, 2014

A big step for Contiki: built-in encryption

Contiki finally got built-in encryption support.

Contiki is a great platform for wireless products, but has been lacking in one respect: there was no built-in encryption. This has forced a lot of people, including us at Thingsquare, to develop their own encryption layers on top of Contiki.

Encryption is essential for wireless systems. Because wireless communication is so easy to eaves drop – all you need is a nearby antenna – every byte sent over a wireless channel must be encrypted. Adding encryption is one of the goals for the upcoming Contiki 3.x release.

For months, Contiki contributor kkrentz and a group of others have been working on a contribution that adds link-layer encryption for IEEE 802.15.4 radios. The code follows the IEEE 802.15.4 radio standard for encryption and supports the mandatory AES128 Counter with CBC-MAC (CCM) mode.

Yesterday, the pull request that contained this contributions was accepted into the mainline Contiki code. Now everyone using Contiki can simply switch on encryption and protect themselves and their users from prying antennas.

Tuesday, June 10, 2014

Contiki in WIRED Magazine

For those of you who missed it, WIRED Magazine ran a story on Contiki last week:
Out in the Open: The Little-Known Open Source OS That Rules the Internet of Things
You can connect almost anything to a computer network. Light bulbs. Thermostats. Coffee makers. Even badgers. Yes, badgers.

Discussion on Hacker News.

Monday, February 17, 2014

Thingsquare's Contiki IoT workshop slides posted

The first set of slides from the Thingsquare Contiki IoT workshop series have been posted.

The slides show how to connect a Contiki system to the Internet and make it interact with web services, how to build an IoT cloud service with node.js and Javascript, some of the next steps for Contiki 3.x, and some of the trade-offs in choosing a communication technology for your next IoT system. Slides for the three remaining days will be posted during the week.

The slides from day 1 are below:

Monday, January 20, 2014

Thingsquare IoT and Contiki courses - now online too

For spring 2014, the Thingsquare IoT development and Contiki programming course program has been expanded with both a new on-site workshop on advanced Contiki programming and a new set of online courses.

Check out the Thingsquare online courses here and the two-day workshop training courses here.

The courses are intended for developers and decision makers who want to hit the ground running when planning or developing their connected products. If you want to build the next Nest, these courses are for you!

The online courses are intended to broaden the amount of people who can attend the Thingsquare courses, to get more people up and running.

The two-day workshop courses are running as usual in Stockholm, Sweden. Register quickly to get the early-bird discount!

Tuesday, January 14, 2014

Contiki-based Products at CES 2014

Held in January every year in Las Vegas and with some 160000 attendees, the Consumer Electronics Show, CES, is by far the largest event in the consumer electronics industry. Products are launched, announcements are made, and the press goes wild.

At CES 2014, a number of products and systems based on Contiki were shown:


WigWag is a system for building intelligent environments that had a successful Kickstarter funding campaign in 2013.


Thingsquare was there to show the Contiki-based Thingsquare cloud IoT system. Check out this video where Texas Instruments demonstrates the Thingsquare system:



The LIFX WiFi bulbs were also repressented.


tado° is an app that lets you set the comfort of your home directly from your smartphone. Read more about tado° at CES 2014 here.

Monday, November 18, 2013

Instant Contiki 2.7 Available

Following the Contiki 2.7 release, version 2.7 of the Instant Contiki development environment is now available:

Instant Contiki is a single-file download that contains everything needed to work with Contiki: compilers, toolsets, editors. For information on how to get started, see this link.

Friday, November 15, 2013

Contiki 2.7 Released!

After a long wait, Contiki 2.7 is finally released!

Contiki 2.7 is a massive improvement over previous versions. A lot of effort has gone into making the system really stable, particularly the wireless IPv6 mesh networking. We now have a regression testing framework that kicks in on every commit and runs the system on 9 different emulated hardware platforms with 4 different CPUs and on more than 1000 emulated wireless network nodes. We have found several hard-to-find bugs deep in the network stack that show up as we push the envelope on system performance. Several parts of the IPv6 stack has also been rewritten to make the code easier to follow and for everything to work better.

The Contiki 2.7 release also adds new platforms, such as the TI CC2538 802.15.4 System-on-a-Chip and the PIC32, as well as updates to many of the other platforms.

The full source code can be downloaded from
An updated version of Instant Contiki will follow shortly.

Contiki 3.x Roadmap

Update: Discussion about the roadmap for Contiki 3.x here and here.


New features and mechanisms:

  • Regression test framework
  • Travis integration
  • New code style script
  • mDNS
  • Trickle timer library
  • Compiler output less verbose

Critical bugfixes in:

  • CSMA
  • 802.15.4 framer
  • Nullrdc
  • ContikiMAC
  • 6lowpan fragmentation handling
  • IPv6
  • RPL routing

IPv6 stack:

  • IPv6 neighbor table refactorization
  • IPv6 routing table refactorization
  • RPL rewrite
  • RPL auto-repair of failed routes
  • IPv6 stack monitor if neighbor fails
  • Callbacks on routing table changes
  • 6lowpan: allow the maximum radio frame size to be configured


  • New TI CC2538 802.15.4 System-on-a-Chip platform
  • New PIC32 / SeedEye platform
  • STM32w updated
  • CC2430 updated
  • MC1322x updated


  • Support for link-layer ACKs
  • Improved stack monitoring and stack overflow triggering
  • Improved radiologger: duplicate packets now collapsed
  • Improved Timeline handling
  • Save radio bitrate in .csc file
  • Support for CC1101, CC1120, and ENC28J60 emulation
  • MSPsim support for MSP430x instruction set, verified against hardware