[Tinyos-help] TinyOS vs Contiki

Roger Larsson roger.larsson at ltu.se
Tue Nov 16 04:01:29 PST 2010

Asking on a TinyOS list, what response do you expect to get? :-)

I am currently examining options to TinyOS.
Yesterday was my first day really evaluating Contiki.

This is my first impressions.

- TinyOS community feels bigger, but there are mostly questions on the list
   with few answers (or reactions).
   "everyone that I know is using TinyOS"
    - valid, as help from colleagues and friends is priceless.
- Contiki, my first message/patch was immediately reacted on, commented,
   and committed.

- TinyOS documentation is better, but it also needs to be as TinyOS is
   really using a new programming language.
   (remember first C++ compilers were implemented as preprocessor to C)
- Contiki dokumentation, online source code documentation - not good
  Publications and Talks, Articles including Tutorials - good
  what Contiki has that TinyOS does not have is explaining videos.
  (My feeling is that I actually will get a grip of the Contiki faster!)

Build system
- TinyOS, very nice when you have understood it
   (platforms, sensorboards, chips, ...) - chips is a very good abstraction!
- Contiki, buildsystem that can be invoked from simulator
   have not seen enough to judge it fully yet... (platform, cpu)
- TinyOS, Subversion can do some things CVS can't (but some doc. still refers to CVS)
- Contiki, might have a painful transition in future... (but CVS works)
Code quality
- TinyOS, I am not convinced...
   It is quite difficult to write source that makes good use of existing interfaces,
   while avoiding taking shortcuts to platform modules.
- Contiki, have not seen enough to judge it yet...
  (but what I have seen is a bit below my expectations)

Developer Tools
- TinyOS, on two foots - is its main tools Java or Python? 
   (my guess: was java, now moving towards Python - or?)
- Contiki, Cooja simulator is really great - once you understand that you
   should use it. Have not seen enough to judge other parts yet...   

Resulting system
- TinyOS, I really recommend turning up optimization at least on platforms
   with more program flash. The preprocessed source is a file full of small
   C functions and _with_ inlining the resulting code can become quite effective.
   Remember: faster code = fewer CPU cycles = lower energy consumption
   (if total memory accesses is kept in contol)
   i.e. -O3 might be a better option than -Os...
- Contiki, have not built anything for actual hardware yet


Roger Larsson, Research Engineer
Division of Mobile Networking and Computing
Luleå University of Technology
SE-931 87 Skellefteå
Från: tinyos-help-bounces at millennium.berkeley.edu [tinyos-help-bounces at millennium.berkeley.edu] för Pablo Marcos Oltra [pablo.marcos.oltra at gmail.com]
Skickat: den 15 november 2010 17:58
Till: Wahid; tinyos-help
Ämne: Re: [Tinyos-help] TinyOS vs Contiki

Hi Wahid,

I ended up using TinyOS because of the documentation and the community. I found that Contiki's documentation was awful compared with TinyOS's one. Furthermore, everyone that I know is using TinyOS, and for what I needed to do (implementing and changing the 802.15.4 standard) it was perfect cause it had the TKN154 implementation inside the mac layer of the OS.


2010/11/14 Wahid <hamishagi at yahoo.com<mailto:hamishagi at yahoo.com>>
Hi pablo
I was gogling on the same tpoic as you did last month: is contiki better or tinyos?
I didn't see anybody answering your question. Did you reach any conclusion?
I'm going to start a project on 6lowpan and I'd like to know which OS to use. I'll be needing both OS its respective simulator. I need to know which one is better so that i dont run into troubles later. If you have reached any conclusion, please shoot.

Thank you

More information about the Tinyos-help mailing list