In a previous article (which you really should read before going any further), I detailed how one could use a particular transmitter, the Adafruit Feather LoRa 433MHz transmitter, to produce all manner of signaling types. To round out the experience, I’ve bought the other 3 ISM band transmitters Adafruit has on offer. I’ve updated and modified the previous code to work with these other transmitters. Below are the requisite details.
Hardware
Adafruit currently has 4 different Feather based transmitters on offer that are not Bluetooth, WiFi, or cellular in nature:
- Feather 32u4 RFM96 LoRa Radio – 433MHz https://www.adafruit.com/product/3079
- Feather 32u4 RFM69HCW – 433MHz https://www.adafruit.com/product/3077
- Feather 32u4 RFM96 LoRa Radio – 900MHz https://www.adafruit.com/product/3078
- Feather 32u4 RFM69HCW – 900MHz https://www.adafruit.com/product/3076
For each transmission frequency, there is a LoRa version and a conventional version (RFM69HCW). The LoRa version is narrow band and long range. The conventional version has a bandwidth of about 1MHz and is short range.
For each transmitters, the available frequency range is different. These ranges are as follows:
- LoRa 433MHz | 363MHz – 569MHz
- RFM69HCW 433 MHz | 405MHz – 510MHz
- LoRa 900MHz | 718MHz – 1024MHz
- RFM69HCQ 900MHz | 809MHz – 1023MHz
Software
Before loading any code please read the previous article to setup all the software and libraries that are need for the LoRa transmitter. For the RFM69HCW be sure to solder on your antenna according the frequency of the transmitter. The antenna recommendations are the same as in the last tutorial: https://learn.adafruit.com/adafruit-feather-32u4-radio-with-rfm69hcw-module/antenna-options
In addition, you’ll need to add a new folder to the Arduino libraries. Follow the instructions here: https://learn.adafruit.com/adafruit-feather-32u4-radio-with-rfm69hcw-module/using-the-rfm69-radio
After downloading the Radiohead zip file, the tutorial suggests renaming the folder and them dropping it into the library. I did not bother to rename the folder and it seemed to work just fine anyway.
Code
The code for each transmitter can be found at the Skinny R&D github page: https://github.com/skinnyrad/Training-Fruit-Feather-Transmitters
Each file is a *.ino file. The file name will let you know which code block was made for which transmitter. As before all the easily changeable characteristics can be found between the ++++++++ sign comments of the code.
If you look closely at the code, you will find that the RFM69HCW code is a bit different from the LoRa code. Different libraries are called, different numbers are used to specify amplitude, and different frequency ranges are available. The main thing is to know that the LoRa code does not directly translate over to the conventional transmitters.
Questions
If you have any questions or ideas, just let me know.