Written by Adam Dunkels,
Tuesday, 16 February 2010
The Contiki team is proud to announce the release of version 2.4 of the Contiki operating system! Contiki 2.4 brings a number of new improvements over previous versions, several bugfixes, and an overall improved stability of the system. The low-power wireless MAC protocols have gotten an overhaul, improving power-efficiency and improved collision and interference handling. The COOJA/MSPsim simulation environment has received a significant speedup. Two new experimental platforms are included: the Crossbow MicaZ and the Sensinode CC2430/8051 platform. Many improvements and bugfixes has been made to the uIP code as well as the SICSlowpan implementaion of 6lowpan IPv6-over-802.15.4. See the changelog for full details and go to the download section to download the 2.4 release!
Written by Adam Dunkels,
Tuesday, 09 February 2010
Two upcoming conferences on wireless sensor network research, which should be of interest to many working on Contiki-related projects: the 6th ACM workshop on hot topics on embedded networked sensors (HotEmNets 2010) and the 8th ACM conference on embedded networked sensor systems (SenSys 2010). HotEmNets is a high-caliber workshop for discussing the future of sensor networks research, in light of novel research results. Those interested in participating should submit a five-page paper before February 22 - deadline extended to 1 March 2010 - see the website for information on what to submit. SenSys is a top-tier, highly selective conference for presenting research results on sensor networks. Papers should be submitted by April 8.
A lot of people are using Contiki, developing software for Contiki, testing new protocols or mechanisms with Contiki, porting Contiki to new platforms, and extending Contiki with new functionality. To allow such Contiki-based projects to be accessible to all Contiki users, we have set up a new SourceForge project for new Contiki-based open source projects, dubbed the Contiki projects community
Written by Adam Dunkels,
Saturday, 30 January 2010
With the help of the Gource source code visualiation tool, here is another nice visualization of the Contiki source code development, from March 2003 to January 2010. For best results, click the full screen button, or watch the YouTube HD version.
One of the characteristic and influential features of Contiki is the use of IP in low-power radio sensor networks and smart object networks. IP-based smart objects are today being standardized through the IETF and made accessible through the IPSO Alliance. As part of this general development, JP Vasseur and me have written a book on IP-based smart object networks with the title Interconnecting Smart Objects with IP - The Next Internet.
The book covers IP-based sensor networks from the link layer and up, and covers network architecture (IPv6, transport, web services, etc), the underlying technology (RPL routing, the 6lowpan IPv6-over-802.15.4 adaptation layer, hardware, software, etc), and applications of IP-based smart objects (the smart grid, industrial automation, home automation, smart cities, etc). The book is scheduled to be available in June 2010, but is already available for preorder from Amazon.com. We have set up a website for the book here.
Written by Adam Dunkels,
Thursday, 05 November 2009
The Cooja/MSPsim simulator is now ten times faster than before. Cooja/MSPsim allows Contiki software to be accurately emulated at the cycle level, with detailed emulation of the radio transceiver. With the Timeline view, the radio transceivers of all nodes in the entire network can be simultaneously inspected, providing insights into both the network behavior and network power consumption. The simulation speed is now ten times faster thanks to a recent patch to the part of the Cooja/MSPsim code that integrates the two pieces of software.
Written by Adam Dunkels,
Tuesday, 15 September 2009
The fourth IPSO white paper has been published. The white paper, which is authored by Samita Chakrabarti, IP Infusion and Zach Shelby, Sensinode, is titled "6LoWPAN Neighbor Discovery: A High-level Overview" and is about neighbor discovery in IPv6-over-802.15.4 networks. The white paper can be downloaded here.
Written by Adam Dunkels,
Wednesday, 09 September 2009
As of yesterday, we have two new Contiki targets in the development code: one port for the Crossbow MicaZ, a popular prototyping and research platform in wireless sensor networks, and one port for the Sensinode CC2430-based system-on-a-chip N100/N600/N601/N710/N711 platforms. The MicaZ port was developed by Kasun Hewage from the University of Colombo School of Computing, Sri Lanka, and the Sensinode port by Zach Shelby, head of research at Sensinode.
During the summer, we have uncovered a small bug in Instant Contiki 2.3 that affects Tmote Sky / Sentilla JCreate users: we forgot to set execute permissions for the program that is used to upload code to the Tmote Sky board. The symptom is that Tmote Sky boards cannot be reprogrammed with Instant Contiki 2.3. To fix this problem, run the the following commands in a terminal window:
The Contiki team is happy to announce the release of Contiki 2.3! Contiki 2.3 brings a new IPv6 routing layer, IPv6/6lowpan for the Tmote Sky platform, the Cooja TimeLine, a set of new shell commands, improvements to the LPP and X-MAC power-saving radio protocols, a new port to the MSB430 platform, and a Twitter client. The release also includes an updated version of Instant Contiki, the Contiki development environment. See the changelog for full details, go to the download page to download the new release, and join the mailing list to discuss Contiki and the new release!
Zach Shelby, head of research at Sensinode, and Carsten Bormann, co-chair of the 6lowpan IETF working group, has announced that their book on IPv6 over 802.15.4 (6lowpan) will be available during the fall of 2009. The book is aimed at experts in the field, engineering students, and lecturers. Everyone interested in the Contiki project will be pleased to hear that along with the book, there will be a web site containing course material for the book and Contiki programming exercises.
Tracking the development of Contiki has typically been an intensive task: the volume of the contiki-commits mailing list can sometimes be large. To make it easier to follow the Contiki development, we have started the Contiki development microblog. The microblog runs on Twitter, the on-line microblog service where users post short messages and follow messages posted by others. Messages are limited to 140 characters each. We intend to post short messages about new features and development in Contiki, and have also set up automatic posting of news from this website and changes to the Wikipedia pages about Contiki and protothreads. If you are a Twitter user, you can click the "Follow" link to start following the microblog. For non-Twitter users, we have set up a widget to the right on this page that shows the latest posts.
The Contiki team is proud to announce the release of Contiki 2.2.3! This release provides a set of new features, new ports to the Sentilla JCreate and the Meshnetics ZigBit module, a set of new shell commands, as well as several improvements and bugfixes. See the changelog for full details and download the source code and binary packages for the Atmel Raven and Tmote Sky / TelosB / Sentilla JCreate.
Will you be going to ACM/IEEE IPSN 2009, one of the premier conference in sensor networks, in San Francisco on April 13-16, 2009? Are you interested in the rapidly emerging area of IP-based sensor networks, an area which originated from Contiki? Then you should come to our tutorial! We are arranging a two-hour hands-on tutorial on IP-based sensor networks on Thursday the 16 April, 3 PM to 5 PM. Feel free to contact us with any questions you may have! See the IPSN website for registration information and more.
Written by Ward Van Heddeghem,
Saturday, 07 March 2009
The aim of this tutorial is to get you started with running small programs on your Sentilla JCreate nodes. It explains how to install all the required binaries (i.e. a suitable compiler and bootstrap loader), how to upload an example program to a node, how to reset your node if you can't upload to it anymore, and how to interact with the Contiki shell. The tutorial is deliberately quite extensive, since it tries to explain why you are doing what you are doing.
Written by Adam Dunkels,
Tuesday, 24 February 2009
The third IPSO Alliance white paper has been published: 6LoWPAN: Incorporating IEEE 802.15.4 into the IP architecture, authored by Jonathan Hui from Arch Rock, David Culler from UC Berkeley, and Samita Chakrabarti from IP Infusion. The white paper discusses how RFC4944 IPv6 header compression and fragmentation (aka 6lowpan) makes IPv6 viable for 802.15.4 low-power radio links.
Ward Van Heddeghem from Vrije Universiteit Brussel, Belgium, has written a tutorial that shows how to install Contiki and Cooja on Ubuntu 8.10, for those not using Instant Contiki. Read on for the tutorial and contact Ward for questions or comments.
Written by Adam Dunkels,
Tuesday, 03 February 2009
In Ocober 2008, we arranged a course in Contiki programming at the Royal Institute of Technology (KTH) for a group of talented masters and PhD students from the Stockholm area. The participants did course projects, based on Contiki, and wrote two-page papers to present the project results. The papers are now available as a single PDF file: get it here.
Written by Nicolas Tsiftes,
Tuesday, 27 January 2009
One of the recently added Contiki features is the Coffee flash-based file system. Coffee makes it possible to store data as files on flash-based memories such as on the on-board flash ROM on the TelosB/Tmote Sky. C programmers can use Coffee through the Contiki file system interface. In the Contiki shell, Coffee interaction is done with the commands ls, read, write, and append.
As of today, the Contiki website provides the latest headlines from the world of wireless sensor networks. The headlines are syndicated from four blogs that have a rapid eye on the latest and greatest in the sensornet world: FreakLabs, WSNBlog, WSNBuzz, and the ESNA Newsflashes. The headlines can be found in the rightmost column on the Contiki website.
Have you or one of your colleagues defended a top-notch PhD or masters thesis in sensor networks, ubiquitous computing, smart objects, or a similar area at a European university during 2008? If so, consider nominating the thesis to the CONET 2009 thesis award. The winners will receive their awards at a dinner event at the annual EWSN conference. Deadline for nominations is Friday the 23rd of January 2009. See this PDF file for details.
We are happy to announce the release of Contiki 2.2.2! This is the first Contiki release that contains uIPv6, the world's smallest IPv6 stack, and SICSlowpan 802.15.4-over-IPv6 compression. Contiki 2.2.2 also contains a port to the Atmel AVR Raven board and an important bugfix to the TCP protosocket code.
Download: source code, binary packages for the Tmote Sky/TelosB and the Atmel AVR Raven.
Written by Julien Abeille,
Monday, 20 October 2008
Last week we announced uIPv6 and that Contiki is IPv6 Ready. This tutorial explains how to run Contiki with IPv6 and 6lowpan support on Atmel RAVEN evaluation kit (ATAVRRZRAVEN) hardware. We present basic example system architecture and application scenarios, as well as instructions to run more advanced demos.
Cisco, Atmel, and SICS today announced uIPv6, the world's smallest open source compliant IPv6 stack, for Contiki. uIPv6 passes all the tests required for an IPv6 stack to be called IPv6 Ready and we therefore can use the IPv6 Ready logo on the Contiki web site. uIPv6 has been tested on the Atmel AVR Raven platform and on the x86. We have committed the code to the Contiki CVS and will release the code as part of the upcoming 2.3 release, as well as a snapshot release of the current code planned for tomorrow.
Together with uIPv6, we include an 802.15.4 MAC layer for the Raven platform as well as SICSlowpan, an implementation of the 6lowpan header compression mechanism for IPv6 over 802.15.4.
Written by Adam Dunkels,
Tuesday, 16 September 2008
Cisco, SAP and Sun Among 25 Charter Members of the IPSO Alliance
Offering Education, Interoperability Testing for Embedded IP Applications
SAN FRANCISCO, Calif., Sept. 16, 2008 – A group of leading technology vendors and users have formed the IP for Smart Objects (IPSO) Alliance, whose goal is promoting the Internet Protocol (IP) as the networking technology best suited for connecting sensor- and actuator-equipped or "smart" objects and delivering information gathered by those objects.
Written by Adam Dunkels,
Saturday, 06 September 2008
After the release of Contiki 2.2.1, we take a look at the history of Contiki. The origins of Contiki can be traced to a project I was involved in 2000: The Arena Project, a cooperation between Ericsson, Telia, and Luleå University of Technology. The Arena Project equipped the ice hockey players in Luleå Hockey (famous for Mikael Renberg and others) with wireless sensors that sent pulse and breath rate data to the audience, and an on-helmet camera with wireless access. I developed the IP stack that we ran on the wireless sensors: the lightweight lwIP stack, subsequently used in thousands of embedded devices all over the world.
A promotional video created for the Arena project was recently uploaded to youtube: see it here and read on for details.
Written by Adam Dunkels,
Saturday, 06 September 2008
We are happy to announce the release of Contiki 2.2.1! The focus of this release is to fix bugs found in the 2.2 version. The changes are: significant bugfixes and performance improvements to the data collection protocol; improved data presentation in the Contiki collect program; reduction in power consumption for the X-MAC radio mechanism; performance improvements and bugfixes to the Coffee flash file system; workaround for a problem with the CC2420 radio.
One of the nice things with protothreads is that they can be implemented in pure ANSI C. But what if your C compiler does not adhere to the ANSI C standard? This is a problem for developers using the Microchip PIC platform, a microcontroller architecture notorious for its lack of ANSI C compilers. Fortunately, it is possible to overcome this problem by implementing a tailored version of the local continuation primitive. This is what Igor Lesik has done to get protothreads running on the PIC with the CCS compiler.
Written by Adam Dunkels,
Wednesday, 20 August 2008
Christopher Wang is developing an open source ZigBee stack based on Contiki. He also maintains a great newsfeed of interesting news from the wireless industry. See his website for his development blog and and newsfeed!
Ben Hoyt over at microBlog have written a piece on protothreads in C++. From the post: "What protothreads give you is the ability to write procedural, thread-style code, but without the overhead of real threads. The kind of thing embedded programmers normally use switch state machines for." He has implemented protothreads as a C++ class that is easy to use: take a look at the nice examples.
With protothreads in C++, protothread-local state is easily kept in instance variables instead of stack local variables and there is no need to explicitly store the state across blocking wait statements.
The existing tutorial on how to install Contiki 2.2 along with the MSP430 tools and a Tmote Sky / TelosB development environment for the Intel-based Mac is a little old by now. Andrew Pullin from UC Berkeley have contributed a new tutorial, complete with an installer! Read on for details.
One of the new features in Contiki 2.2 is the Contiki-collect program that collects sensor data from a network of Tmote Sky or TelosB boards running Contiki. Contiki-collect is a small Java program that interacts with the Contiki shell to retreive temperature, humidity, light, and power profile readings from the nodes and displays the data graphically. The system can also upload a Contiki system image to all connected Tmote Sky / TelosB boards. Watch the video for full details.
The Contiki project is happy to announce the release of version 2.2 of the Contiki operating system! Contiki 2.2 brings a set of new features: the shell has been much improved and now supports network-level commands, low-power radio networking, sensor data collection, and power profiling; Coffee, a new flash ROM-based file system; contiki-collect: a program for collecting and displaying sensor data from the network; a network time synchronization mechanism; the Chameleon architecture that separates protocol headers from protocol logic; the LPP experimental power-saving MAC protocol.
Just a quick video this time. This video shows the newly committed AJAX-style web server for the Tmote Sky / TelosB boards that shows a continuously updated web page with the sensor data from the on-board sensors as well as the power profile of the current application.
Contiki has supported multi-hop IP networking for low-power wireless sensor networks since the first port to the ESB board in 2003, but it has never been easier than now to get IP networking up and running. This video shows how to use Instant Contiki to turn a TelosB/Tmote Sky into an IP-enabled, multi-hop web server. Read on for details.
To increase the accessibility of the results of all the exciting research we are doing with Contiki, I have created a new page for the publications and talks about Contiki. The papers are structured after their main topic: general Contiki papers, papers on IP in sensor networks, papers on sensor network simulation, and general sensor networking papers.
The Contiki project presents the 1.0a version of the Instant Contiki development environment: a complete virtual machine with all Contiki software development tools installed. All that is needed to start using and developing Contiki software is the free VMWare Player software, 4 Gb free hard drive space, and the Instant Contiki development environment. Download here (either the .zip or the .7z file - watch out for a fairly large download!) and read on for details.
We will be starting a new joint project at SICS and the Royal Institute of Technology (KTH) in June called reSENSE: ultra-reliable high-throughput wireless sensor networks. We intend to make sensor networks both more reliable and have higher throughput than today. As you know, we have already started pushing the limits of throughput. The Royal Institute of Technology are now looking for one highly skilled post-doc researcher for the project. The full announcement is below.
The cover story of the May 2008 issue of Embedded Systems Design is on building instant operating systems with protothreads. An instant operating system requires only a C compiler and minimal hardware resources. The author shows how to develop a cooperative scheduler, "add protothreads and stir", and the instant OS is up and running! Read the article here.
Eigenclass has a posting on protothreads that compares the run-time performance of protothreads with the performance of a set of thread packages such as the GCC POSIX thread implementation and the threading implementations of several language runtimes. As expected, the memory consumption of protothreads is significantly smaller than for stackful threads. The comparison also shows that the execution of the protothreads-based code is much faster than the thread-based code, but that the choice of scheduling mechanism has a profound impact on the performance. Of course, any quantitative comparison between protothreads and threads is a little unfair because of the qualitative differences (protothreads are not threads, but proto-threads) - but it still is an interesting read. Read more here.
CRL Sweden, one of the companies that are using Contiki in their products, is one of top 15 high-tech startups that have been nominated to the Metro Tech Challenge. CRL Sweden, founded in 2005, assists product companies, OEM-vendors and system integrators with software cornerstones for the emerging technology market of wireless sensor networks, wireless broadband networks, industrial automation and surveillance applications.
Contiki 1.0 was released on the 10th of March, 2003 and therefore just turned 5 years old! Congratulations Contiki! Read more about the history of Contiki here.
Many have asked for it, and here it is: the code for the Chameleon architecture of the Rime stack, Contiki's communication stack for low-power radios. The purpose of Chameleon is to separate the header processing from the Rime protocol logic. This makes it possible to have packet headers that are independent of the specific protocols and the protocol layering. The Chameleon code is a rewrite of the code for our SenSys 2007 paper and as I committed it only last night, it currently (a few hours after the commit) is not particularly well-tested.
Written by Adam Dunkels,
Tuesday, 12 February 2008
A deeply honored awardee.
Last week, I was awarded the Chester Carlson prize at a surprise ceremony in Stockholm, Sweden, for my work on Contiki, uIP, and lwIP. The Chester Carlson prize, awarded every two-three years by the Royal Swedish Academy of Engineering Sciences, is the most prestigious prize in the information sciences in Sweden and previous awardees include Sture Allén (Chair number 3 in the Swedish Academy), Mikael Degermark (founder of the IP header compression scheme used in 3G mobile telephony networks), and Richard Berthilsson (inventor of the first multi-language handwriting recognition method, today used in the Nintendo DS and other places).
This prize is not just a recognition of low-power wireless embedded networking as a timely and highly important area, but also shows that everyone who are involved in Contiki are on the right track: developers, users, and enthusiasts. We're truly pushing the envelope at the forefront of technical development of the early 2000s!
Written by Adam Dunkels,
Thursday, 13 December 2007
Chris Woods have developed a protothreads library for the Symbian operating system. Because Symbian is written in C++, one of the nice things is that protothreads can use C++ instance variables instead of stack variables to avoid having to manually store and restore state across blocking waits. The full post is available here.
Written by Adam Dunkels,
Wednesday, 12 December 2007
Embedded.com has a three-part article series on "Choosing the best system software architecture for your wireless smart sensor design" that covers Contiki:
"The benefit of being able to change the application code while preserving the relatively static RTOS kernel is attractive, especially when precious energy needs to be spared while transmitting only the bytes of the changed application or part of the application to the device. A good example in this area is the Contiki RTOS. The curious reader is advised to take a look at [6], which is an excellent paper."
Written by Adam Dunkels,
Tuesday, 13 November 2007
The Contiki-based demonstration called "Programming Wireless Sensor Networks with Logical Neighborhoods: A Road Tunnel Use Case" won the
best demo award at the ACM SenSys 2007 conference in Sydney, Australia, in November 2007!
Written by Adam Dunkels,
Tuesday, 06 November 2007
A pioneering recent addition to Contiki is its ability to estimate the total energy consumption of the system on which Contiki is running. Knowing the current power consumption is very important in wireless battery-powered systems.
We will demonstrate this mechanism at the SenSys 2007 conference in Sydney, Australia on the 7th of November, but you can now try it out yourselves. All you need is a few Tmote Sky boards, Java, and Cygwin! Read on for download and installation instructions.
Written by Adam Dunkels,
Tuesday, 06 November 2007
The Tmote Sky is a popular hardware platform for research into wireless sensor networks. It is also one of the primary development platforms for Contiki. This tutorial shows how to get your first Contiki program running on the Tmote Sky.
Written by Joakim Eriksson,
Thursday, 25 October 2007
Emulating the Tmote Sky
The Java-based MSP430 and sensor network node emulator MSPsim is now available on SourceForge. MSPsim has been developed as a tool for debugging and testing Contiki-based MSP430-based sensor network applications. The current version comes with emulation of Scatterweb ESB and Tmote Sky sensor nodes.
Written by Adam Dunkels,
Sunday, 30 September 2007
Shane Wood has connected his good old Commodore 64 (1 MHz 6510 CPU, 64 k RAM) to the Internet and is running Contiki 1.2 and its webserver on it! Check it out here: http://www.c64web.com/
Will Backman of bsdtalk called me up yesterday evening and did a phone interview about Contiki in general, the 2.0 release, and the history of Contiki. The 27 minutes long interview is available as mp3 or ogg podcast files here.
A cooperation project between SICS and Umeå Marine Sciences Centre is deploying sensor-equipped buoys, running Contiki, to measure water quality in the Baltic Sea. The photograph shows one of the buoys as it is ready to be shipped out to sea. The small black boxes and the big gray box both contain a modified version of the ESB nodes. The gray box also contains a GPRS modem that sends the sensed data back to shore. Contiki was ported to this system by Thiemo Voigt.
Today Contiki is mostly known as an operating system for networked embedded systems. A few years ago, however, Contiki's primary claim to fame was its Commodore 64 port. With the help of JAC64, a Java-based C64 emulator developed by my colleague and fellow Contiki developer Joakim Eriksson, you can now experience the C64 port of Contiki 1.2-devel1 again, directly in your web browser! Click here to enjoy it - unfortunately without networking support at present.
The following tutorial shows how to install Contiki for the TelosB/Tmote Sky on the Intel-based Mac OS X, and compile and run the example "Hello World" program. It was written by Markus Anwander from the University of Bern, Switzerland. Read on for details.
The Contiki 2.0 release contains a number of example programs that shows how to use the Rime communications stack in Contiki. Read on for a video showing the Rime examples from 2.0 in the netsim network simulation environment and for instructions on how to compile and run the examples in netsim under Ubuntu Linux.
The first release from the Contiki 2.x series is out! The 2.0 release offers a wide range of features not found in any previous version of Contiki such as dynamic loading of ELF files, the Cooja network simulator, and the Rime communication stack. Ports for the Tmote Sky and the ESB are included in the release. Read on for details or download directly.
27 participants from seven countries attended the Contiki hands-on workshop 2007 and had a great time programming, porting, and extending Contiki and Cooja, the Contiki network simulator. Read more for the workshop material, presentation slides, exercises, and photos from the event!
The Tmote Sky platform is a wireless sensor board that was sold by Sentilla (formerly Moteiv). The TelosB is the same design but sold by Crossbow. It is an MSP430-based board with an 802.15.4-compatible CC2420 radio chip, a 1 megabyte external serial flash memory, and two light sensors. Contiki was ported to the Tmote Sky by Björn Grönvall as part of the RUNES project and has since evolved to one of the main platforms for Contiki. The Tmote Sky port was integrated into the Contiki build system in March 2007.
The MSP430 ports of Contiki all use the GCC C cross-compiler and the associated tool chain. This post describes how to install the necessary tools under Windows, Linux, and FreeBSD for developing Contiki software for the ESB and the Tmote Sky.
Written by Adam Dunkels,
Wednesday, 28 February 2007
Protothreads are a type of extremely lightweight almost-threads that are used throughout Contiki and uIP. A while ago I wrote a piece on how protothreads actually work, under the hood. Read it here.
(A bug in the content management system seems to make it impossible for anyone to view this post in full, so I had to shorten it to fit into the intro text...)
Written by Adam Dunkels,
Tuesday, 27 February 2007
Some great news regarding the Contiki workshop on 26-27 of March 2007: thanks to the generous support from the RUNES and ESNA projects, we are able to provide complimentary coffee, lunch, and dinner to workshop participants! Also, thanks to Ericsson we can offer a reduced price at the Accome hotel in Kista, very close to the workshop. Finally, it is now possible to register for the workshop. The number of participants is limited, so register as soon as possible! Read on for details.
This is the skeleton code I always use when writing Contiki processes. I can myself produce this code in a few seconds without looking, but that's just because I'm so used to Contiki programming. Everyone else may simply copy and paste the following code:
Written by Richard Gold,
Wednesday, 14 February 2007
The RUNES Project
In the RUNES project, Contiki is being used as the basis for a sensor network that measures light values and communicates this information to a number of recipients via a publish/subscribe mechanism. The goal of the RUNES project is the creation of large-scale, widely distributed, heterogeneous networked embedded systems. To this end, we have created a middleware which runs on a variety of platforms, including Contiki running on the TMote Invent motes.
Are you coming by subway to my PhD thesis defense on the 15th of February 2007 at 10:00? If so, read on for how to find the Electrum building in Kista, Stockholm, Sweden.
Written by Adam Dunkels,
Wednesday, 07 February 2007
Discussing the posters.
A group from the Networked Embedded Systems group of SICS were present at the European conference on Wireless Sensor Networks (EWSN 2007) in Delft, The Netherlands, on January 29-31 2007. We presented three posters on topics related to Contiki: the COOJA Contiki network simulator, the extensible MSP430 simulator MSPSim, and a layered communication stack for Contiki called Rime. Read on for links to the poster abstracts and a video from the event.
Simon Williams have written a set of web pages explaining how to optimize HTML for the Contiki web browser. Read more on his web page (which of course is optimized for the Contiki browser!).
The Contiki source code is documented using a tool called Doxygen. Doxygen reads specially tagged comments in the source code and produces documentation in both HTML and PDF format.
We are happy to announce the first international Contiki workshop in Kista, Stockholm, Sweden on the 26-27 March 2007! All Contiki developers, researchers, users, programmers, and interested persons are hereby invited to attend.
Unlike other embedded operating systems, Contiki supports both an event-driven execution model and multi-threading. (And protothreads, of course.) Using multi-threading in Contiki is easy, but it requires you to be explicit about it: read on for the details.
The uIP embedded TCP/IP stack is not only used in Contiki but also in hundreds of embedded devices on earth, in space, and on the seven seas. But it all started with a Lego brick.
I have written two very well-known TCP/IP stacks for embedded devices, lwIP and uIP. People often ask about their differences. The primary differences between lwIP and uIP are memory footprint and network performance. lwIP has higher performance but a larger footprint while uIP has lower performance and a smaller memory footprint. My Mobisys 2003 paper entitled Full TCP/IP for 8-bit Architectures contains more detailed information about the differences, including measured throughput of the two stacks.
ACM SenSys is a highly selective single-track forum for academic research in the area of wireless sensor networks. I presented two papers on Contiki and protothreads at Sensys 2006 and my colleague Thiemo Voigt is on the technical program committee this year. The paper deadline is 17 April 2007 and an abstract must be registered on the 10th. See the ACM SenSys 2007 website for details.
Written by Adam Dunkels,
Wednesday, 03 January 2007
Contiki is designed to be easily portable across platforms. In general, no modifications to the core C source code files are necessary. Here is a quick guide for getting started with porting Contiki.
The Contiki memb memory manager provides a very simple yet quite powerful way to dynamically allocate memory from a fixed set of pre-defined memory blocks. Today we take a quick look at how it is used.
Written by Fredrik Österlind,
Saturday, 16 December 2006
As some of you may already have discovered, a new radio medium for the COOJA simulator was added to the CVS last week. The new radio medium is a multi-path ray-tracing based propagation model with support for attenuating obstacles. It is highly configurable, allowing users to create their own radio surroundings.
Written by Adam Dunkels,
Tuesday, 05 December 2006
A lot of people know about Contiki and today it may be mostly known as an operating system for networked embedded systems. But did you know it all started with the world's smallest web browser?
Written by Adam Dunkels,
Tuesday, 28 November 2006
Over 200 people have died in Europe as result of tunnel fires in the last decade. Can networked embedded systems assist fire fighters when a traffic accident causes a fire inferno inside a road tunnel? The RUNES project is building technology that helps locate both the burning veichles and people trapped inside the tunnel. The system is composed of small wireless networked sensors running Contiki.
Keeping the look of the source code in a software project consistent is very important. Does the Contiki source code have a default look? Yes. This code style is the one to follow if you want your code included in the Contiki code base.
Two years ago Glenn Jones made an Ethernet card for the 1984 compuer Apple II and Oliver Schmidt ported Contiki to it. Tim Haynes captured a video of an Apple II running Contiki and browsing the web that made the news back then. Here it is again.
Written by Adam Dunkels,
Saturday, 25 November 2006
EWSN, the European conference on Wireless Sensor Networks, is the primary European conference on wireless sensor networks. EWSN 2007 is to be held at Delft University of Technology, Delft, The Netherlands, on January 29-31, 2007. My colleague Thiemo Voigt is co-chair of the program committee for EWSN this year. The EWSN organizers are soliciting two-page abstracts for posters and demonstrations to be presented at the conference. The deadline is 3 December 2006. Read on for details.
ESB stands for Embedded Sensor Board and is a prototype device that was originally developed at the Free University of Berlin. It is one of the platforms we use to test and develop Contiki.
Written by Adam Dunkels,
Wednesday, 22 November 2006
Welcome to the new Contiki web site! The old Contiki web site consisted of static information and a "Latest news" section that was updated only occasionally. This led to a quite boring site.
The purpose of the new web site is to change all this: the new site consists of a dynamic front page where articles pertaining to Contiki are to be regularly posted. My plan is to have about one new article per week. Does it sound too little for your taste? Read on...
Written by Adam Dunkels,
Tuesday, 21 November 2006
I presented two papers at the ACM SenSys conference in Boulder, Colorado three weeks ago: one paper on protothreads and one on the dynamic ELF object code linking feature in Contiki. At this level it is very uncommon that two papers by the same author are accepted at the same conference and I am of course very proud of this achievement. Read on for the PowerPoint slides.