This ZigBee ready communication turret was designed by Xavier Raemy in the Swarm-Intelligent Systems (SWIS) group lab of Alcherio Martinoli . It consists of a MSP430 microcontroller running TinyOS and a Chipcon CC2420 2.4Ghz transceiver. The turret communicates with the robot using the I2C bus. An accompanying board allows the module to be programed via USB.
In the event that you find the information presented here useful, or use a communication module based on this design for obtaining experimental results, we kindly request that you cite the following paper as the official reference:
Cianci C., Raemy X., Pugh J., and Martinoli A., “Communication in a Swarm of Miniature Robots: The e-Puck as an Educational Tool for Swarm Robotics”. Proc. of the SAB 2006 Workshop on Swarm Robotics, September-October 2006, Rome, Italy. To appear in Lecture Notes in Computer Science (2007).
This module is a re-designed custom version of the MoteIV TmoteSky.
The principal goal was to reduce the RF range to as low as several centimeters; such that interesting experiments could be performed in a space-limited laboratory setting (on a table, for instance). In order to achieve this, we have added an RF attenuator of ~25dB between the antenna and the CC2420 transceiver. Using this, combined with the ability of the CC2420 to reduce its transmission power at runtime, we have a software-adjustable range of approximately 15 centimeters to 5 meters.
The module also includes the following hardware features:
- Software controlled bypass of the added hardware attenuation.
- 4Mbit of flash memory connected via SPI to the MCU
- An I2C decoder allows users to put the MCU in "bootloader programming mode" using an I2C command.
- The serial lines used for programming the MCU are connected to the Bluetooth UART lines from the e-puck. It is therefore theoretically possible to ask the DsPic to put the MCU in programming mode using an I2C command, and then reprogram the turret using the Bluetooth connexion of the robot. (not yet tested).
- 3 Leds (Red, Yellow, & Green)
Currently, the MCU runs TinyOS 1.x, but it can run TinyOS 2.x.
Because the harware is not identical the the TmoteSky one, we had to create a new "platform" within TinyOS, a module for controlling the hardware atternuator, and a I2C slave layer (by default, TinyOS doen't support I2C operating in "slave" or "multi-master" modes). These modifications will eventually need to be ported to TinyOS 2.x.
Range of communication :
Power consumption (3.3V):
- MCU only : 1.4mW
- MCU and radio module enabled (receiving) : 76.2mW