Production


Electronic
Minimodules
Programmers
Adapters SMD/DIL
Contiki OS
Contiki Instant IDE
Downloads

Glass blocks
Hand painted
Illuminated with LED
Clocks
Lamps

Contiki OS

Screenshot of the VNC server running on the Atmel AVR port of Contiki.

Screenshot of the VNC server running on the Atmel AVR port of Contiki.

Contiki is an open source, highly portable, multi-tasking operating system for memory-constrained networked embedded systems and wireless sensor networks.

 

Despite providing multitasking and a built-in TCP/IP stack, Contiki only needs a few kilobytes of code and a few hundred bytes of RAM. A full system, complete with a graphical user interface, needs about 30 kilobytes of RAM.

The basic kernel and most of the core functions were developed by Adam Dunkels at the Networked Embedded Systems group at the Swedish Institute of Computer Science.

 

Contiki runs on a variety of platforms ranging from embedded microcontrollers such as the TI MSP430 and the Atmel AVR to old home computers. Code footprint is on the order of kilobytes and memory usage can be configured to be as low as tens of bytes.

Source code for system core and most of platform are available at sourceforge. There is also preinstalled graphical IDE for C-language development ( based on Eclipse and Ubuntu Linux ) - Contiki Instant IDE.

Source code with support for MB-128/MB-128-USBCAN boards are available here.

 

Features

Screenshot of the www server running on the Atmel AVR port of Contiki ( MB-128 board )

Screenshot of the www server running on the Atmel AVR port of Contiki ( MB-128 board )

Contiki supports per-process optional preemptive multi-threading, inter-process communication using message passing through events, as well as an optional GUI subsystem with either direct graphic support for locally connected terminals or networked virtual display with VNC or over Telnet.

 

  • Multitasking kernel
  • Optional per-application pre-emptive multithreading
  • Protothreads
  • TCP/IP networking, including IPv6
  • Windowing system and GUI
  • Networked remote display using Virtual Network Computing
  • A web browser (claimed to be the world's smallest)
  • Personal web server
  • Simple telnet client
  • Screensaver

 

 


Example application ( Java applet ) running from webserver inside MB-128 module