maniacbug edited this page Aug 16, 2011 · 7 revisions

Navigation: Home | Scenarios | Installing | Using | Future

Contiki on Zigduino

Contiki on Zigduino. This page explains what that is, why you'd want to do it, and how to go about it.

Contiki considers itself the "The Operating System for Connecting the Next Billion Devices - the Internet of Things." It's an Internet-connected multi-tasking OS for low-end platforms, like Microcontrollers. Contiki is great for the amazing level of connected functionality it will squeeze out of a $5 chip. It runs on a vast array of platforms and CPU's.

It does have a few problems, though. It's massively multi-platform, so not all code works on all platforms, and it's hard to tell which will work. Another problem is that its primary purpose seems to be wireless research, not application implementation, so it can be maddeningly long on theory and short on details. Too many examples revolve around the simulator and hand-wave the details for real hardware. Finally, it is optimized around the Tmote Sky platform, which is not even available anymore.

Zigduino is an Atmega128rfa1 board in an Arduino form factor with 5V-tolerant inputs.

The avr-zigduino platform sets Contiki up so you can run it on it the Zigduno board, using the right chipset, UART, LED's, etc. Beyond that, it seeks to separate what works on Zigduino from what does not, and provide tests to ensure that future Contiki revisions continue to work on Zigduino. It also intends to provide real-life usable examples on real hardware for all functionality that's claimed to be working.

Whenever I get something working with Contiki in Zigduino, my goal is to write a test for it to ensure the code continues to work AND an example showing how someone would use it for a real-life project. Right now, I'm just building up the tests, and the examples will come in time.

Ultimately, I would like to get the avr-zigduino platform folded into Contiki. The biggest challenge is likely to be the small set of changes needed elsewhere in the OS which are needed for the platform to work right. This may not happen quickly, so I am hosting a complete fork on github.

Read More

  • Scenarios. What you might want to use it for.
  • Installing. How to get it, and get it working.
  • Using. All the functionality that's currently proven and tested.
  • Future. What's coming next.