HopeRF Radio Transceiver Message Library for Arduino

This is the Arduino HopeRF library for operating with HopeRF HM-TR transceivers (see http://www.hoperf.com) It should also work with other 'transparent' serial transceivers. See http://www.airspayce.com/mikem/arduino/HopeRF/HopeRF.pdf for package download details, electrical details and documentation for connecting to HM-TR transceivers.

The latest version of this documentation can be downloaded from http://www.airspayce.com/mikem/arduino/HopeRF

The version of the package that this documentation refers to can be downloaded from http://www.airspayce.com/mikem/arduino/HopeRF/HopeRF-1.5.zip

The HopeRF HM-TR transceiver is an inexpensive 433MHz 'transparent' serial transceiver. It handles internally all the issues of preamble, synchronisation etc (which is the bulk of the work in my other Arduino library, VirtualWire). Although the HM-TR is more expensive than the bare 433 MHz transceivers supported by VirtualWire, it requires much fewer compute resources from the Arduino (in fact the HM-TR has an ATMega on it specifically to do the serial-433MHz translation). However the HM-TR does not have any error detection built in. That is provided by this library.

This library provides classes for

The Library has been tested on Arduino Mega, which has several serial ports besides the USB connection to the host PC. However, it would be expected to work with any Arduino with a serial port. The only connection required between the Arduino and the HM-TR module is power, received and transmit. The library is wrtten in C++, and compiles on Linux. With only a little work it could be expected to run on Linux with a suitable HardwareSerial impoentation, and using HM-TR with RS-232 connections.

This software is Copyright (C) 2009 Mike McCauley. Use is subject to license conditions. The main licensing options available are GPL V2 or Commercial:

Open Source Licensing GPL V2
This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it. If you wish to use this software under Open Source Licensing, you must contribute all your source code to the open source community in accordance with the GPL Version 2 when your application is distributed. See http://www.gnu.org/copyleft/gpl.html
Commercial Licensing
This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application. Contact info@.nosp@m.airs.nosp@m.payce.nosp@m..com for details.
Revision History
1.4 Compiles on Arduino 1.0
1.5 HRFReliableDatagram sendToWait() incorrectly could wait forever. Reported by Nick Maddock.
1.6 Updated author and distribution location details to airspayce.com
Mike McCauley (mikem.nosp@m.@air.nosp@m.spayc.nosp@m.e.co.nosp@m.m)