LoRa with eByte SX1276 E32 868T20D between two Unos not working

Afternoon all,

I have purchased a set of the eByte E32 868T20D units from Amazon (https://www.amazon.co.uk/gp/product/B07TK6R4H8/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1&pldnSite=1) and before I start using them for what I wanted to use them, I wanted to see if I could make them work at all. So far, without any luck.

In my setup I have two Arduino Uno units and have one LoRa unit attached to each and try to send and receive between each other by just testing on the serial monitor. I have tried with every GitHub package I could find that supports the E32, but none has worked so far. They all state 'success" as a status when trying to send, but nothing arrives on the other side.

Tried the examples from here: GitHub - KrisKasprzak/EBYTE: Libraries to program and use UART-based EBYTE wireless data transceivers

and these: LoRa_E32_Series_Library/examples at master · xreef/LoRa_E32_Series_Library · GitHub and many more

Even the manufacturers example from here: Osoyoo LoRa Tutorial — How to Use the Uart LoRa Module with Arduino « osoyoo.com

I am using the 3.3v connection for VCC, TX and RX in D2 and D3 and M0 and M1 either to ground or to the suggested pins as per whatever example I was following.

I don't have any other hardware in play, i.e. no resisters or anything like that.

Is there a concept issue that I am missing here that prevents it from working, or wrong settings or so, as it would seem that a straight uno to uno should be the simplest test connection.

Or are there different LoRa modules out there that I should use instead and are more supported?

Grateful for any suggestion on getting this to work.

Arduino RX <---> E32 TX
Arduino TX <---> E32 RX

Since Arduino is 5V , you should use voltage level shifter (simple resistor divider would work) for the Arduino TX to E32 RX connection.

You may have already blown up your E32.

.

I would also suggest that connecting those devices to a 5V Arduino may not be a good idea, the datasheet for the device (datasheets are often worth a read) says;

"For 5V TTL it may be at risk of burning down"

I will get a couple of resistors, but not in all examples did I see these used. Is that just a 4.7k resistor on the TX side only then or also RX?

Are all LoRa units requiring these or are there units that can be used directly on the uno?

Paulvr:
I will get a couple of resistors, but not in all examples did I see these used. Is that just a 4.7k resistor on the TX side only then or also RX?

A voltage divider not just a resistor so that the voltage is 3.3V when the Arduino is 5V.
For the RX input on the LoRA unit.

Paulvr:
Are all LoRa units requiring these or are there units that can be used directly on the uno?

Don't know. Read the datasheet.

Paulvr:
I will get a couple of resistors, but not in all examples did I see these used. Is that just a 4.7k resistor on the TX side only then or also RX?

Are all LoRa units requiring these or are there units that can be used directly on the uno?

And what about the MO and M1 inputs on the E32 868T20D module, they will be 3.3v logic as well ?

The base LoRa devices (SX126x, SX127X, SX128x) are like most all devices introduced in the last few years 3.3v logic, or lower in some cases.

You can find LoRa shields out there that have been designed to adapt older 5V type Arduinos to work with the 3.3V logic devices.

Right, connected now as follows including a voltage divider:

  • M0 ----- GND
  • M1 ----- GND
  • RX ----- PIN 2 (PullUP & Voltage divider)
  • TX ----- PIN 3 (PullUP)
  • AUX ----- Not connected
  • VCC ----- 5v
  • GND ----- GND

Using the following code:

/*
 * LoRa E32-TTL-100
 * Start device, reset or write to the Serial to send a message.
 * https://www.mischianti.org/2019/10/15/lora-e32-device-for-arduino-esp32-or-esp8266-specs-and-basic-usage-part-1/
 *
 * E32-TTL-100----- Arduino UNO
 * M0         ----- GND
 * M1         ----- GND
 * RX         ----- PIN 2 (PullUP & Voltage divider)
 * TX         ----- PIN 3 (PullUP)
 * AUX        ----- Not connected
 * VCC        ----- 3.3v/5v
 * GND        ----- GND
 *
 */
#include "Arduino.h"
#include "LoRa_E32.h"

LoRa_E32 e32ttl100(2, 3); // Config without connect AUX and M0 M1

//#include <SoftwareSerial.h>
//SoftwareSerial mySerial(2, 3); // RX, TX
//LoRa_E32 e32ttl(&mySerial, 5, 7, 6);
// -------------------------------------

void setup() {
  Serial.begin(9600);
  delay(500);

  // Startup all pins and UART
  e32ttl100.begin();

//  If you have ever change configuration you must restore It
//  ResponseStructContainer c;
//  c = e32ttl100.getConfiguration();
//  Configuration configuration = *(Configuration*) c.data;
//  Serial.println(c.status.getResponseDescription());
//  configuration.CHAN = 0x17;
//  configuration.OPTION.fixedTransmission = FT_TRANSPARENT_TRANSMISSION;
//  e32ttl100.setConfiguration(configuration, WRITE_CFG_PWR_DWN_SAVE);

  Serial.println("Hi, I'm going to send message!");

  // Send message
  ResponseStatus rs = e32ttl100.sendMessage("Hello, world?");
  // Check If there is some problem of succesfully send
  Serial.println(rs.getResponseDescription());
}

void loop() {
  // If something available
  if (e32ttl100.available()>1) {
    // read the String message
  ResponseContainer rc = e32ttl100.receiveMessage();
  // Is something goes wrong print error
  if (rc.status.code!=1){
    rc.status.getResponseDescription();
  }else{
    // Print the data received
    Serial.println(rc.data);
  }
  }
  if (Serial.available()) {
    String input = Serial.readString();
    e32ttl100.sendMessage(input);
  }
}

The result is the following on both units:

Hi, I'm going to send message!
Success

But no data is actually being sent or received.

According to the list under the xreef github section, it is also for the E32 868T20D

I have tried a number of these units, and they are showing the configurations when I request that, so they seem to be functioning ok as such.

Any thoughts what else I can try?

Hi Paulvr, did you ever work this out? I have the same issue right now

I did sort it, yes. I selected different Lora modules and a different library and also, more than a year later, never had voltage issues and these units have been up and running permanently since then.

Library that works: RH_RF95.h

I am using it to communicate with a Pi, and that works perfectly now.

The very brief over voltage was calclated not to be a problem at all, and this has been proven over time as well. I did change the library a little to have the rest state without a voltage though.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.