if you can find a module with Microcontroller + LoRa that meets your requirements it saves interconnecting modules reducing the possibility of poor connections and intermittent problems
for example, currently looking at using a Heltec wifi-lora-32-v3 module (as a daughter board on a custom PCB) plus solar panel on a water monitoring project
found this program which uses a Pro Mini 3.3V + RFM95W to transmits text using arduino-LoRa library
// Pro Mini RFM95 sender
// NOTE: RFM95 requires external 3.3V supply
// Pro Mini 3.3V output insufficent for transmitter OK for receiver
// Tools>Board select Pro Mini 5V or 3.3V
// Pro_Mini connections
// Pro_Mini SCK pin GPIO13 to RFM95_pin SCK
// Pro_Mini MISO pin GPIO12 to RFM95_pin MISO
// Pro_Mini MOSI pin GPIO11 to RFM95_pin MOSI (alternate connection)
// Pro_Mini SS pin GPIO 10 to RFM95 SS
// Pro_Mini pin GPIO4 to RFM95 Reset
// Pro_Mini pin GPIO2 to RFM95 DIO0
// Pro_Mini pin GPIO6 to RFM95 DIO1 (required for LoRaWAN)
#include <SPI.h>
#include <LoRa.h>
int counter = 0;
void setup() {
Serial.begin(57600);
while (!Serial);
Serial.println("\n\nPro Mini RFM95 LoRa Sender");
//void setPins(int ss = LORA_DEFAULT_SS_PIN, int reset = LORA_DEFAULT_RESET_PIN, int dio0 = LORA_DEFAULT_DIO0_PIN);
//LoRa.setPins(8,4,7); // for Lora 32u4
//LoRa.setPins(10,9,2); // for UNO LoRa shield
LoRa.setPins(10,4,2); // for Pro Mini
if (!LoRa.begin(866E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
Serial.print("Sending packet: ");
Serial.println(counter);
// send packet
LoRa.beginPacket();
LoRa.print("hello ");
LoRa.print(counter);
LoRa.endPacket();
counter++;
delay(5000);
}
serial monitor output
Pro Mini RFM95 LoRa Sender
Sending packet: 0
Sending packet: 1
Sending packet: 2
Sending packet: 3
Sending packet: 4
Sending packet: 5
serial output of a Feather 32u4 LoRa receiver
LoRa Receiver
Received packet 'hello 0' with RSSI -50
Received packet 'hello 1' with RSSI -50
Received packet 'hello 2' with RSSI -53
Received packet 'hello 3' with RSSI -53
Received packet 'hello 4' with RSSI -53
Received packet 'hello 5' with RSSI -53
Received packet 'hello 6' with RSSI -53
Received packet 'hello 7' with RSSI -53
Received packet 'hello 8' with RSSI -50