- All products
- Communication & IoT
- Wireless Lora RFM95 868MHz Ultra-long Range Transceiver
- Communication & IoT
Features:
- LoRa™ long-range spread spectrum communication
- Up to 168 dB link budget for extended range
- High receiver sensitivity down to -148 dBm
- +20 dBm high-power output (100 mW)
- Supports multiple modulation types (LoRa™, FSK, GFSK, MSK, GMSK, OOK)
- Programmable data rate up to 300 kbps
- Low power consumption (RX current ~10.3 mA)
- Built-in packet engine with CRC (up to 256 bytes)
- Automatic RF Sense and Channel Activity Detection (CAD)
- Integrated temperature sensor and low battery indicator
- Excellent interference immunity and blocking performance
- Compact 16 × 16 mm form factor
Specifications:
- Frequency: 868 MHz
- Modulation: LoRa™, FSK, GFSK, MSK, GMSK, OOK
- Max Output Power: +20 dBm
- Sensitivity: Up to -148 dBm
- Max Bit Rate: 300 kbps
- Link Budget: Up to 168 dB
- RX Current: ~10.3 mA
- Dynamic Range RSSI: 127 dB
- Frequency Resolution: 61 Hz
- Packet Size: Up to 256 bytes
- Operating Voltage: 1.8V – 3.7V
- Module Size: 16 mm × 16 mm
Pinout of the Module:





The RFM95 module uses an SPI interface for communication and exposes essential control pins.
- VCC: Power supply (1.8V – 3.7V)
- GND: Ground
- SCK: SPI Clock
- MISO: SPI Data Output
- MOSI: SPI Data Input
- NSS: Chip Select
- RESET: Module reset
- DIO0–DIO5: Interrupt pins
Applications:
- Long-range IoT communication systems
- Smart metering (AMR)
- Home and building automation
- Wireless alarm and security systems
- Industrial monitoring and control
- Agriculture and irrigation systems
Circuit:

Code Example Arduino UNO and RFM95 LoRa Transceiver with Inductor for Wireless Communication
#include "SPI.h"
#include "RH_RF95.h"
// Singleton instance of the radio driver
RH_RF95 rf95;
void setup() {
Serial.begin(9600);
while (!Serial) ; // Wait for serial port to be available
if (!rf95.init()) {
Serial.println("LoRa radio init failed");
while (1);
}
Serial.println("LoRa radio init OK!");
// Set frequency
if (!rf95.setFrequency(915.0)) {
Serial.println("setFrequency failed");
while (1);
}
// Set the power level: 1-23, 23 being the highest
rf95.setTxPower(23, false);
}
void loop() {
// Send a message every 3 seconds
const char *msg = "Hello World!";
rf95.send((uint8_t *)msg, strlen(msg));
rf95.waitPacketSent();
delay(3000);
}
Arduino IDE Setup (LoRa):
Install Arduino IDE:
Install LoRa Library:
- Open Arduino IDE → Sketch → Include Library → Manage Libraries
- Search for "LoRa by Sandeep Mistry"
- Install the library
Upload Code:
- Select your board (Arduino / ESP32)
- Choose correct COM port
- Upload and monitor serial output
Important Notes:
- Use only 3.3V logic (not 5V tolerant)
- A proper antenna is required for operation
- 868 MHz version is region-specific (EU band)
- Ensure correct SPI wiring for stable communication
Resources:
Features:
- LoRa™ long-range spread spectrum communication
- Up to 168 dB link budget for extended range
- High receiver sensitivity down to -148 dBm
- +20 dBm high-power output (100 mW)
- Supports multiple modulation types (LoRa™, FSK, GFSK, MSK, GMSK, OOK)
- Programmable data rate up to 300 kbps
- Low power consumption (RX current ~10.3 mA)
- Built-in packet engine with CRC (up to 256 bytes)
- Automatic RF Sense and Channel Activity Detection (CAD)
- Integrated temperature sensor and low battery indicator
- Excellent interference immunity and blocking performance
- Compact 16 × 16 mm form factor
Specifications:
- Frequency: 868 MHz
- Modulation: LoRa™, FSK, GFSK, MSK, GMSK, OOK
- Max Output Power: +20 dBm
- Sensitivity: Up to -148 dBm
- Max Bit Rate: 300 kbps
- Link Budget: Up to 168 dB
- RX Current: ~10.3 mA
- Dynamic Range RSSI: 127 dB
- Frequency Resolution: 61 Hz
- Packet Size: Up to 256 bytes
- Operating Voltage: 1.8V – 3.7V
- Module Size: 16 mm × 16 mm
Pinout of the Module:





The RFM95 module uses an SPI interface for communication and exposes essential control pins.
- VCC: Power supply (1.8V – 3.7V)
- GND: Ground
- SCK: SPI Clock
- MISO: SPI Data Output
- MOSI: SPI Data Input
- NSS: Chip Select
- RESET: Module reset
- DIO0–DIO5: Interrupt pins
Applications:
- Long-range IoT communication systems
- Smart metering (AMR)
- Home and building automation
- Wireless alarm and security systems
- Industrial monitoring and control
- Agriculture and irrigation systems
Circuit:

Code Example Arduino UNO and RFM95 LoRa Transceiver with Inductor for Wireless Communication
#include "SPI.h"
#include "RH_RF95.h"
// Singleton instance of the radio driver
RH_RF95 rf95;
void setup() {
Serial.begin(9600);
while (!Serial) ; // Wait for serial port to be available
if (!rf95.init()) {
Serial.println("LoRa radio init failed");
while (1);
}
Serial.println("LoRa radio init OK!");
// Set frequency
if (!rf95.setFrequency(915.0)) {
Serial.println("setFrequency failed");
while (1);
}
// Set the power level: 1-23, 23 being the highest
rf95.setTxPower(23, false);
}
void loop() {
// Send a message every 3 seconds
const char *msg = "Hello World!";
rf95.send((uint8_t *)msg, strlen(msg));
rf95.waitPacketSent();
delay(3000);
}
Arduino IDE Setup (LoRa):
Install Arduino IDE:
Install LoRa Library:
- Open Arduino IDE → Sketch → Include Library → Manage Libraries
- Search for "LoRa by Sandeep Mistry"
- Install the library
Upload Code:
- Select your board (Arduino / ESP32)
- Choose correct COM port
- Upload and monitor serial output
Important Notes:
- Use only 3.3V logic (not 5V tolerant)
- A proper antenna is required for operation
- 868 MHz version is region-specific (EU band)
- Ensure correct SPI wiring for stable communication

