The RFM96 radio

The RFM96 is a radio for 433 MHz ISM band, which is free to use and perfect for Cansat use. The radio uses a proprietary protocol called LoRa (short for long range), patented by Semtech, that is perfect for low data rate, but long range and relatively low transmission power (+20 dBm, 100 mW maximum). You can read more about the protocol, with its advantages and disadvantages here.

Figure 1: RFM96 radio for the 433 MHz band

NAROM has used this radio in other activities than Cansats also, and actually we routinely use this radio in weather balloons which go up to 25 km altitude with a total distance between the ground station and the transmitter of 60 km. We do this, however, at a lower data rate that you will use, since you do not need 60 km of range!

The black IC/chip you can see on the board (with an H on it) are actually made for a very wide range of frequencies, and the passives on the board (most of what is not the black chip) are filters that limits it to 433 MHz frequencies. The communication between the radio and the microcontroller uses SPI, which is super fast. Your Cansat will use a 8 MHz SPI clock. The radio sends a large frame where the data that you as a user sends is a (large) part of it, but it sends also other things, so the data rate is not that straight forward to calculate. You will probably send approx. two frames each second, depending on the frame size. Frames is a whole data packet that you choose to send (most often one «line» that you can see in Arduino’s Serial Monitor). Sending less data means that you can send more often, so limit the data to what you need, and not more.

One of the advantages with this radio compared to the previous Cansat radio is that you can check when the radio is ready to send more data, so you can make better use of the time when you send, because you can send a new data packet directly after the previous one has been sent. You will see how you can do this in a later article.

It is important that you do not use the same frequency as another Cansat team, and at the Cansat operation, use at least 100 kHz difference in frequencies. Another advantage of this radio compared to the previous radio is that the frequency used is set in software at runtime of your current sketch, so it does not need to be programmed before using it. NAROM has written a custom library for this radio, which also includes writing to the local SD card at the same time, and it is good to know a little bit of how this library works. You as a user set the frequency, and the first two bytes of each package (hidden to the user) is a sync word. This sync word is unique for the frequency that you use. If another Cansat team sets approximately the same frequency as you have chosen, it might interfere with your transmission, but the library will only handle packets with the same sync word as you. So the library will discard anything that it received that has not exactly the same frequency as you, but it cannot do anything with interference, which is a physical phenomenon which software has nothing to do with.