I like to try Remote Communication Board RFM95 with arduino Nano.
What I understand RFM95 has 3.3V signals output.
Arduino Nano has 5V signals input.
My question is - should I use 3.3V/5V shifter?
Thx
A bidirectional level level shifter is required. If connected together without one, you will destroy the radio, the Arduino, or both.
Much better and easier to use a 3.3V Arduino, and connect the radio directly.
Thank you very much. I do not have arduino 3.3V.
by the time you purchase a level shifter and connect it up it would be simpler to buy a microcontroller which uses 3.3V logic, e.g.ESP32, ESP8266, RPi RP2040, Arduino PRO mini 3.3V, Arduino pro micro, etc etc
you could save yourself trouble by moving to a board which incorporates a microcontroller and a LoRa module, e.g. ttgo-lora32 , Adafruit Feather 32u4 LoRa, TTGO-Beam, Hiltec LoRa 32, The Things UNO, Adafruit RP2040 with RFM95, etc
this saves the problems of level shifters, jumper wires which give poor connections and intermittent faults, etc, e.g. see river level monitoring
Than you for your help. I have a couple of Arduino boards - and I thought I can use it for my simple project. I have ESP32 boards and I will change my design.
Thank You once again
the ESP32 connections I tend to use for the RFM95 are
// ESP32 connections
// ESP32 SCK pin GPIO18 to RFM95_pin SCK
// ESP32 MISO pin GPIO19 to RFM95_pin MISO
// ESP32 MOSI pin GPIO23 to RFM95_pin MOSI
// ESP32 pin GPIO5 to RFM95 SS
// ESP32 pin GPIO4 to RFM95 Reset
// ESP32 pin GPIO2 to RFM95 DIO0
but you can use any suitable GPIO pins for SS, REST and DIO0
if you wish to connect to LoRaWAN you also need to connect DIO1
for LoRa Point-to-Point the Arduino LoRa library is easy to use
Thank You very much - You saved me a lot of time to find this out.
Thank You
if you are using the LoRa.h library you need to call setpins() to configure the RFM95, e.g.
// void setPins(int ss = LORA_DEFAULT_SS_PIN, int reset = LORA_DEFAULT_RESET_PIN, int dio0 = LORA_DEFAULT_DIO0_PIN);
LoRa.setPins(5, 4, 2); // for ESP32
if (!LoRa.begin(866E6)) {
in the call to LoRa.begin() you set your frequency - in this case 866MHz for Europe
Thx once again. Will try
I added setpins() - it works. Thank you. I'm just wonder whey it is not included in example code of sender?
I changed frequency to 915E6 (NA)
Once again Thank You
the example code would be using the default pins - see Semtech SX1276/77/78/79 wiring
in Arduino LoRa
Thanks a lot.