MEGA2560 and LoRa Ebyte E32 433 MHz problem

Hi!

I am doing a project where I transmit stuff from an Arduíno MEGA 2560 to an Arduíno Uno, using two LoRa modules EBYTE E32433T30D.

I use the Uno to receive info and MEGA to transmit info.

I used the library EBYTE.H from Kris Kasprzak, and the code from https://www.youtube.com/watch?v=Obb9QtNuG1M , altering the commands:

LoRa.SetAddress(0);
LoRa.SetChannel(17);

The code on the receptor is:

#include <SoftwareSerial.h>                               //Biblioteca de comunicação do módulo
#include <EBYTE.h>                                        //Biblioteca do Kris
  
#define M0_LoRa   11
#define M1_LoRa   12
#define RX_LoRa   3                                       // Vai no TXD do módulo
#define TX_LoRa   2                                       // Vai no RXD do módulo
#define AUX_LoRa  4
                                                  
SoftwareSerial lora(RX_LoRa, TX_LoRa);                   //Definição dos pinos para criar a comunicação serial
EBYTE LoRa(&lora, M0_LoRa, M1_LoRa, AUX_LoRa);           //Criar objeto de Transmissão, passando na comunicação serial e pinos

void setup() {
  
Serial.begin (9600);                                    //Definir taxa de trabalho em 9600
lora.begin(9600);
  LoRa.init();                                          // Inicializa a comunicação e obtem todos os parâmetros do módulo

  //LoRa.Reset();                                       // Reseta parâmetros para os de fábrica
  LoRa.SetAirDataRate(ADR_1K);                          // Estabelece a taxa de dados de transmissão
  LoRa.SetAddress(0);                                   // Estabelece o endereço da rede
  LoRa.SetChannel(17);                                  // Estabelece canal como 23
  LoRa.SaveParameters(TEMPORARY);                       // Salva todas as definições de forma temporária

  LoRa.PrintParameters();                               // Imprime todos os parâmetros (configurações) obtidos do módulo 
  LoRa.SetMode(MODE_NORMAL);                            // Define modo de operação como normal
}
 


void loop() {
  
if (lora.available()>0){
  String input = lora.readString();
  Serial.print(" A Mensagem do Lora é: "); 
  Serial.println(input);
  
}
delay(1500);
}

This code works just fine in the receptor I THINK, cause this image appears:
oqueaparece

When I try to transmit something, nothing happens, and a lot of fields are blank:


The code on the transmitter is:


#include <SoftwareSerial.h>                              //Biblioteca de comunicação do módulo
#include <EBYTE.h>                                       //Biblioteca do Kris
 
#define M0_LoRa   11
#define M1_LoRa   12
#define RX_LoRa   3                                     // Vai no TXD do módulo
#define TX_LoRa   2                                     // Vai no RXD do módulo
#define AUX_LoRa  4
                                                      
SoftwareSerial lora(RX_LoRa, TX_LoRa);                  //Definição dos pinos para criar a comunicação serial
EBYTE LoRa(&lora, M0_LoRa, M1_LoRa, AUX_LoRa);          //Criar objeto de Transmissão, passando na comunicação serial e pinos

void setup() {
  
Serial.begin (9600);                                   //Definir taxa de trabalho em 9600
lora.begin(9600);
  LoRa.init();                                         // Inicializa a comunicação e obtem todos os parâmetros do módulo

  //LoRa.Reset();                                      // Reseta parâmetros para os de fábrica
  LoRa.SetAirDataRate(ADR_1K);                         // Estabelece a taxa de dados de transmissão
  LoRa.SetAddress(0);                                  // Estabelece endereço da rede
  LoRa.SetChannel(17);                                 // Estabelece canal como 23
  LoRa.SaveParameters(TEMPORARY);                      // Salva todas as definições de forma temporária

  LoRa.PrintParameters();                              // Imprime todos os parâmetros (configurações) obtidos do módulo 
  LoRa.SetMode(MODE_NORMAL);                           // Define modo de operação como normal
}
  


void loop() {
  
if (Serial.available()>0){
  String msg = Serial.readString();
  lora.print(msg);
  Serial.println(msg);
  
}
}

I used this schematic on uno, and used the pins with the exact same numbers on MEGA.

Maybe the problem can be the software serial on MEGA, but I don't know how to solve it.

Some help would be really appreciated :wink:

on the Mega use one of the hardware serial ports, e.g. Serial1 on pins 18 Tx and 19 Rx

on the UNO try AltSoftSerial which caan simultaneously transmit and receive.

That might be a mistake. When declaring pins in an UNO the logic pin number is used, like D2, D3 etc. Physical pin number is not used.
By the way, the receiver has no powering.

to check the connection between the host microcontroller and the Ebyte E32 is operational install the LoRa_E32_Series_Library and run File>Examples>LoRa_E32_Series_Library>arduinoGetConfiguration

I don't have a E32 but a similar program on a E220 returns

Success
1
----------------------------------------
HEAD : C1 0 8
 
AddH : 0
AddL : 0
 
Chan : 15 -> 425MHz
 
SpeedParityBit     : 0 -> 8N1 (Default)
SpeedUARTDatte     : 11 -> 9600bps (default)
SpeedAirDataRate   : 10 -> 2.4kbps (default)
 
OptionSubPacketSett: 0 -> 200bytes (default)
OptionTranPower    : 0 -> 22dBm (Default)
OptionRSSIAmbientNo: 0 -> Disabled (default)
 
TransModeWORPeriod : 11 -> 2000ms (default)
TransModeEnableLBT : 0 -> Disabled (default)
TransModeEnableRSSI: 0 -> Disabled (default)
TransModeFixedTrans: 0 -> Transparent transmission (default)
----------------------------------------
Success
1
----------------------------------------
HEAD: C1 8 3
Model no.: 20
Version  : B
Features : 16
----------------------------------------

once you know the host is communicating with the E32 you can then load code to communicate between E32 modules, e.g. sendReceiveTransparent examples

Opa man, tranquilo ?
Você conseguiu resolver o problema da lora não funcionar ? Estou passando pelo mesmo problema e nada funciona comigo, sempre quando rodo o compilo o programa e abro o monitor serial não identifica a Lora igual ocorreu com você.
Aguardo Retorno.

what host microcontrollers are you using?
how have you connected the Ebyte modules?
what software are you running?