µracoli Manual  Version foo
µracoli Manual Documentation

µracoli stands for microcontroller radio communications library and is a package that demonstrates the capabilities and usage of Atmels IEEE-802.15.4 radio transceivers. Currently supported are

  • AT86RF230a, AT86RF230b
  • AT86RF231
  • AT86RF232
  • AT86RF233
  • AT86RF212
  • ATmega128RFA1
  • ATmega256RFR2, ATmega2564RFR2

in combination with Atmel AVR microcontrollers of the families ATmega, ATxmega and ATtiny.

The picture shows the software components of the µracoli project.

uracoli_modules.png
Software modules
The core component of µracoli is the library liburacoli_<board>.a. It contains the driver functions for the hardware components of the over 100 supported boards, e.g.

  • low and high level drivers for the supported radio transceivers,
  • drivers for several sensors with SPI-, one-wire- and I2C-interface,
  • drivers for host interface communication,
  • timer and rtc implementation and
  • GPIO handling (e.g. LEDs and KEYs).

Using a library means, that only code that is called from the application is linked into the firmware image. This results in small programm sizes, leaving as much memory as possible for the application.

On top of the library there exist examples and applications, which are microcontroller applications that make use of the library-functions.While the examples are very simple programs, that serve just as illustraion of the use of the library functions, the applications implement more complex programs, that can be of general use as utility or tool.

In some cases there are specialised PC-applications, that communicate via a serial port with the microcontroller board. These programs are refered as scripts. since they are primarily written in the Python programming language.

µracoli supports over 100 different PCBs with various combinations of microcontrollers, transceivers and sensors. Therefore a generic platform abstraction concept was developped, which allows the easy definition and integration of new PCBs into the project.