Dresden Elektronik Radio Modules
Contents
Hardware
The hardware used Dresden Elektronik radio communication platform described on this page consists of three types of components:
- Radio/microcontroller modules
- Development boards (can also be replaced with a custom board)
- Sniffer (for analyzing communication between the nodes)
Radio/Microcontroller Modules
The Dresden Elektronik radio/MCU modules are small modules consisting of a AVR or ARM based microcontroller with integrated radio. List of all available modules can be seen here.
As of July 2015, three types of Dresden Elektronik Radio/microcontroller modules were available in the institute:
- deRFmega128
- deRFmega256
- deRFarm
deRFmega128 | deRFmega256 | deRFarm | |
Chip | ATmega128RFA1 | ATmega256RFR2 | AT91SAM7X512 |
Datasheet | Link | Link | Link |
Platform | AVR | AVR | ARM |
MCU bit width | 8-bit | 8-bit | 32-bit |
Flash size | 128 kb | 256 kb | 512 kb |
SRAM size | 16 kb | 32 kb | 128 kb |
Operating frequency | 16 MHz | 16 MHz | 48 MHz |
Voltage range | 1.8 - 3.6 V | 1.8 - 3.6 V | 1.8 - 3.6 V |
Radio transceiver | Integrated | Integrated | AT86RF231 |
Radio frequency | 2.4 GHz | 2.4 GHz | 2.4 GHz |
Interfaces | JTAG, UART, I2C, ADC, SPI, GPIO | JTAG, UART, I2C, ADC, SPI, GPIO | JTAG, DBGU, I2C, SPI, UART, USB, RMII, GPIO, ADC |
Power consumption (TX) | 18 mA | 18 mA | 45 mA |
Power consumption (RX) | 16 mA | 16 mA | 45 mA |
Power consumption (Sleep) | < 1 µA | < 1 µA | < 250 µA |
The 2.4 GHz transceivers that are used in all modules supports the IEEE 802.15.4 MAC standard. This standard has support for additional network layers like 6LoWPAN and ZigBee. However, it should be noted, that although the ZigBee protocol is theoretically supported by the hardware, it is not supported the Dresden Elektronik's communication stack and thus 6LoWPAN should be used.
Development Boards
Two different development boards are available for the platform:
- deRFnode: Used for network nodes, supports both AVR and ARM based microcontrollers
- deRFgateway: Used for network gateways between IEEE 802.15.4/6LoWPAN and Ethernet networks. In addition to deRFnode functionality, it includes also an Ethernet connector. Supports only ARM based microcontrollers
The boards have following features:
- Measures: 70 x 68 x 33 mm
- Power options: 5V DC / USB / 3 x AA batteries
- Sensors: Temperature / light / acceleration
- I/O: 2 Buttons and 3 LEDs
- On-board storage: 4Mbit flash for firmware updates / user data
- Programming interfaces: Standard JTAG connectors
- Communication interfaces: I2C, SPI, GPIO, ADC, debug interface and UART
- GPIO: 46-pin, almost all chip functions available, including the ones used on the development board
- Networking: Ethernet (deRFgateway ONLY)
A more detailed description of the development boards (including pinouts for different headers) can be found in deRFnode and deRFgateway user manual
Setting up Working Environment
Dresden Elektronik radio modules are designed to work with a special software stack developed by Dresden Elektronik and Atmel. In order to use this stack, the working environment and the toolchain need to be configured properly.
This section tries to provide some information on how to set up the environment in order to work with the modules.
Setting up Toolchain
In order to work with the modules, two toolchains are needed - one for compiling and flashing AVR modules and one for ARM modules.
AVR
The AVR toolchain consists of following components:
- avr-binutils: linker, assembler, etc for the AVR platform
- avr-gcc: the GNU C cross-compiler for the AVR platform
- avr-libc: C libraries and header files for the AVR platform
- avrdude: for uploading the code to the chip
Microsoft Windows
In Windows installing of the AVR toolchain is quite easy. All that is needed is to download and install WinAVR (or Atmel Studio).
Note: Atmel stopped developing WinAVR as a separate entity in 2010 and it is now distributed as a component of the Atmel Studio package. Although the last (2010) seperate version is still available for download, it does not support the newer ATmega256RFR2 controller. For users who do not want to download and install the entire Atmel Studio package, a newer, seperate WinAVR, extracted from the Atmel Studio package is available here.
Setting up IDE
The recommended IDE for usage with the Dresden Elektronik software stack is Eclipse for C/C++ Developers. It can be downloaded for free from here.
After installing Eclipse, a new project containing the Dresden Elektronik communication stack can be created by following the next steps:
- File -> New -> Makefile Project with Existing Code
- For Existing Code Location, select the path to the toplevel folder of the stack, leave other settings to default and click Finish.