what is the rapidradio?
Isn’t it just beauty?
No, it’s not.
It is beauty and it works!
How cool is that?
rapidradio means the simplest wireless connectivity for your Raspberry Pi.
It’s a half-duplex 2.4GHz transceiver based on the RFM75 module (made by HopeRF). It’s a perfect solution for any kind of home automation, robotics, DIY projects, Arduino-to-Raspberry Pi projects etc.
You will be surprised how much you can reach using rapidradio. So much opportunities and so much fun, because it will work for you both ways – for your projects and for your taste. Enjoy!
|Dimensions (L x W x H):||27mm x 21mm x 12mm|
|Voltage:||1.9V – 3.6V, I/Os are 5V-tolerant|
|Interface:||SPI up to 8MHz|
|RF features:||RF power programmable: -35 .. +5dBm; 2.4000-2.4835 GHz ISM band (83 channels), 4-byte addresses|
|Speed:||max. 2Mbit, but practical usable up/down stream is lower when all CRC, ACK, auto-repeat, etc. options are enabled.|
|Open area range:||~70m; improved indoor range by rapidradio wire antenna in comparison to the RFM75’s pcb antenna|
Raspberry Pi setup
How to set up rapidradio? don’t worry, it’s a child’s play.
Just plug it in to your Raspberry Pi as shown on the pictures below – meaning into the inner pin column, starting from the 6th pin from bottom (true for all Raspberry Pi versions).
Do not forget to switch-off and unplug Raspberry Pi first (just in case).
Then get the rapidradio tool. You can download compiled binary here (Raspbian Wheezy) here:
or go to the downloads page
or you can build it from source on your own:
sudo apt-get install autoconf git clone https://github.com/micas-pro/rapidradio.git cd rapidradio/raspberrypi chmod 744 rapidradio_install.sh ./rapidradio_install.sh ./configure make sudo make install
now you are ready for a transmission!
start listening using address 0x12345678 and channel 50:
sudo ./rapidradio -l -a=0x12345678 -c=50 > received_file.txt
To stop listening just hit Ctrl+C.
Then on second Raspberry Pi use this command to send a ‚sample_file.txt’ to the listening rapidradio you’ve just set (address 0x12345678 and channel 50):
sudo ./rapidradio -a=0x12345678 -c=50 < sample_file.txt
You’ve just sent a file. A child’s play, wouldn’t you agree?
to see all available rapidradio tool options.
Yes, you can use the rapidradio with your Arduino board too! Detailed description and sketch source files can be found on this page.
frequently asked questions (FAQ)
- I plugged the rapidradio into a Raspberry Pi, I see the LED light but it does not work (init error).
Please double check whether you plug the rapidradio correctly. The LED is directly connected to the CE pin, so if accidentally on that pin there is a high state (+3.3V) then the LED will just shine, but it doesn’t mean the rapidradio works. Init error means that there were no correct communication through the SPI interface between Raspberry Pi and the rapidradio.
- I took just one rapidradio and tried to send some data but I’m getting only errors.
By default the ACK option is turned on, so the sender rapidradio expects to receive ACK packets for every sent packet. If nobody is listening (e.g. a second Raspberry Pi with a rapidradio in listening mode) then default sending will fail because of that.
The ACK option can be skipped by adding the -nack parameter to the rapidradio command-line tool.
- While sending I see ‚error 2′ or ‚error 3′ from time to time, but finally the file is transmitted correctly.
The air is getting crowded, so from time to time some packets get lost. To keep the whole transmission correct there are two levels of re-transmitting lost packets: hardware level and software level. Hardware level is provided by the RFM75 itself: there are up to 16 auto re-transmissions if no ACK packet is seen. Software level is implemented by the rapidradio library (used by the command-line tool). There is configurable amount of high-level re-transmissions with 100ms intervals, packet numbering to skip doubled packets and notice skipped packets. In short words: the errors are related to the hardware-level only and can be treated as a link quality indicator. If the devices are in range, then the whole transmission should be completed correctly, regardless of the low-level errors for some missing packets.
- Is the rapidradio designed to talk to the other rapidradios only?
No. You can send and receive packets to/from any device using the RFM7x transceiver (RFM70, RFM73, RFM75).
Apparently it’s even possible to communicate between RFM7x and nRF24L01 transceivers.