Grove - Wio-E5 not working

Hello all!
I’m trying to use the Grove - Wio-E5, but it simply does not work. The board I’m using is a Waveshare ESP32-S3 with the LCD. The ESP32 has three serial ports, with the first one being used by the USB.

I’ve tried using the code from the TTN demo (found here), and I always get a “No E5 module found.” Error.
Then I’ve started trying to debug using Serial1, Serial2, different ports and different baud rates using this code:

#include <Arduino.h>
#include <U8x8lib.h>

// Define TX/RX pins for Serial2 on ESP32-S3
#define TX_PIN 13  // TX pin on ESP32-S3
#define RX_PIN 5  // RX pin on ESP32-S3

void setup() {
  Serial.begin(115200);
  Serial2.begin(9600, SERIAL_8N1, RX_PIN, TX_PIN);
  
  delay(2000);

  Serial2.println("Loopback Test");
  delay(1000);

  while (Serial2.available()) {
    String response = Serial2.readString();
    Serial.print("Loopback Received: ");
    Serial.println(response);
  }
}

void loop() {
}

From Serial.println(response), I always get ␀ when I set either the Serial 1 / 2 baudrate to 115200 and get � using the default 9600 baudrate.

I’ve already tried using different ports for the TX / RX data, and interchanging them, but it simply does not work. It’s also not my esp32 board, as I can get a GPS module I have to work using UART.

Thank you for the help!

Hi there,
So you are trying to use software serial, and don’t load the library?
try that and also set everything the same speed initially (9600)
Check the thread using softserial and Human Static lite you’ll see where you have an issue.

#include "Arduino.h"
#include <humanstaticLite.h>
#include <SoftwareSerial.h>

#define RX_Pin A2
#define TX_Pin A3

SoftwareSerial mySerial(RX_Pin, TX_Pin);
HumanStaticLite radar(&mySerial);

const unsigned char DevID_buff[10] = {0x53, 0x59, 0x02, 0xA2, 0x00, 0x01, 0x0F, 0x60, 0x54, 0x43};

void setup() {
  Serial.begin(115200);
  mySerial.begin(115200);

  while(!Serial);  

  Serial.println("Ready");
}

void loop() {
  radar.HumanStatic_func(true);  
  if(radar.radarStatus != 0x00){
    switch(radar.radarStatus){
      Serial.println(radar.radarStatus);
      case SOMEONE:
        Serial.println("Someone is here.");
        Serial.println("---------------------------------");
        break;
      case NOONE:
        Serial.println("Nobody here.");
        Serial.println("---------------------------------");
        break;
      case NOTHING:
        Serial.println("No human activity messages.");
        Serial.println("---------------------------------");
        break;
      case SOMEONE_STOP:
        Serial.println("Someone stop");
        Serial.println("---------------------------------");
        break;
      case SOMEONE_MOVE:
        Serial.println("Someone moving");
        Serial.println("---------------------------------");
        break;
      case HUMANPARA:
        Serial.print("The parameters of human body signs are: ");
        Serial.println(radar.bodysign_val, DEC);
        Serial.println("---------------------------------");
        break;
      case SOMEONE_CLOSE:
        Serial.println("Someone is closing");
        Serial.println("---------------------------------");
        break;
      case SOMEONE_AWAY:
        Serial.println("Someone is staying away");
        Serial.println("---------------------------------");
        break;
      case DETAILMESSAGE:
        Serial.print("Spatial static values: ");
        Serial.println(radar.static_val);
        Serial.print("Distance to stationary object: ");
        Serial.print(radar.dis_static);
        Serial.println(" m");

        Serial.print("Spatial dynamic values: ");
        Serial.println(radar.dynamic_val);

        Serial.print("Distance from the movement object: ");
        Serial.print(radar.dis_move);
        Serial.println(" m");
        
        Serial.print("Speed of moving object: ");
        Serial.print(radar.speed);
        Serial.println(" m/s");
        Serial.println("---------------------------------");
        break;
    }
  }
  delay(1000);
}

Fix it up it will work.
GL :slight_smile: PJ
:v: