Radio-Frequency Data-Transfer-Projects AV/Rf


AVR Data-Link with RFM22 transceivers

This project demonstrates wireless data-transfer between microcontrollers with transceiver-modules for ISM-bands (868MHz, 433MHz, 915MHz). RFM22B modules from HopeRF have been used. To the best of my knowledge the RFM22B modules are equipped with Si4432 Rev B1 transceiver-ICs from the Silicon Laboratories's EZRadioPRO RF-transceiver series. At least all available technical information from HopeRF for the RFM22B module and from Silabs for the Si4432 IC matches. RFM22/Si4432 are interfaced with micrcontrollers through SPI so the hardware-connection is rather easy and just a few microcontroller pins are needed.

There is example-code available from the HopeRF web-page but Silabs's EZLink and EZMacPRO code offers much more configuration-options and features. Scilabs's code has been made for their MCS-51 family of controllers and ist written in the C programming language. Since I do not have access to such controllers I have ported the EZLink code and EZMacPro code to avr-gcc/avr-libc (GNU toolchain and free libc) so both codes can be used to develop applicaitons where RFM22/SI4432 is connected to an on Atmel AVR controllers.

So far I have done a few tests with two boards. Each one is are equipped with a RFM22B transceiver-module (Si4432 IC) and an Atmel ATmega324PV microcontroller. The modules are matched for 434MHz (RFM22B-S1-433 Rev 2.0) but the codes offer support for other bands and revisions too (compile time options by using defines). For the intial tests just simple wire-antennas (and very poor RF-grounding) have been used but the data-transfer using the EZLink code-base has been very reliable even with several walls and ceilings of reinforced concrete between the boards. Initial tests with the EZMacPro-code also show promissing results. Listen-before-talk, frequency-search ("scanning") and acknowledge mostly work but package forwarding has not been tested yet (need to build a third device first).

Photos and results of a few range-tests will be available soon. The AVR code maybe too.



AVR Data-Link with cheap 433MHz Transmitter/Receivers

A data-link between two Atmel AVR Controllers. Two ATmega16 and a very cheap transmitter/receiver combination available from Conrad (www.conrad.com, Order-Code 130428) have been used to test the firmware. The link operates on 433MHz. The data is "Manchester-encoded" and every paket includes a checksum (CRC16-CCITT). The transfer is based on packets with the following structure:

PreamblePreamblePremableFramestartDataCRC Byte1CRC Byte2
0x550x550x551 Byte1..n Bytes1 Byte1 Byte

Pictures of the Test-Setup

Receiver Pict1 Receiver Pict1
The transmitter-module is the small PCB in the foreground.

Transmitter (Click on Images to Enlarge)



Receiver Pict1 Receiver Pict1
The receiver-module is the small PCB at the right.

Receiver (Click on Images to Enlarge)

The software (AVR-firmware) is not yet available.


back to my AVR projects page


Martin Thomas


29653 hits since July 15, 2005
Last mod.: Saturday, 23-Oct-2010 02:43:15 CEST