Waveshare-SIM7600X-4G-Module and ESP32

Hello everyone,

I'm trying to make a battery powered GPS tracker with the Waveshare-SIM7600X-4G-Module controlled by an ESP32.

The code works fine as long as the GPRS module is connected to a PC via USB. Otherwise it does not connect to the mobile network. AT+CREG: 0,0

Yes, PC. No, AC power adapter to USB will not work.

Other things I have tried to no avail:

Lab bench power supply.
Additional capacitors and super capacitors(not just on VBAT but onto the pcb!)
A USB type C only with + and - connected to 4V power supply
VIN, VBAT.

I'm sure it has nothing to do with power supply or the lack of it.

The module simply does not want to connect to the mobile network unless it is connected to a PC via USB. I do not think it is a lack of power and the RF emission bursts as the manufacturer documentation may suggest. Could it be some signal from the PC because it is recognizes the module as a modem? Btw I use Windows 10.

here is the code. Any help would be greaty appreciated.

#include "utilities.h"
#include <TinyGsmClient.h>
#include <ArduinoHttpClient.h>

#ifdef DUMP_AT_COMMANDS
#include <StreamDebugger.h>
StreamDebugger debugger(SerialAT, SerialMon);
TinyGsm modem(debugger);
#else
TinyGsm modem(SerialAT);
#endif

TinyGsmClient client(modem);
HttpClient    http(client, server, port);

void setup() {

  // Set console baud rate
  SerialMon.begin(115200);
  delay(10);

  // Set GSM module baud rate
  SerialAT.begin(UART_BAUD, SERIAL_8N1, MODEM_RX, MODEM_TX);

  /* MODEM_PWRKEY IO:4 The power-on signal of the modulator must be given to it,
    otherwise the modulator will not reply when the command is sent */
  pinMode(MODEM_PWRKEY, OUTPUT);
  digitalWrite(MODEM_PWRKEY, HIGH);
  delay(300); //Need delay
  digitalWrite(MODEM_PWRKEY, LOW);

  /* MODEM_FLIGHT IO:25 Modulator flight mode control,
     need to enable modulator, this pin must be set to high */
  pinMode(MODEM_FLIGHT, OUTPUT);
  digitalWrite(MODEM_FLIGHT, HIGH);

  get_mcu_chip_id();
  delay(10);

  SerialMon.println("");
  SerialMon.print("[BOOT] >>> ESP32 Firmware Version: ");
  SerialMon.print(firmware_version);
  SerialMon.print("v | CHIP ID: ");
  SerialMon.print(chipId);
  SerialMon.print(" | Model: ");
  SerialMon.print(ESP.getChipModel());
  SerialMon.print(" Rev-");
  SerialMon.print(ESP.getChipRevision());
  SerialMon.print(" ");
  SerialMon.print(ESP.getChipCores());
  SerialMon.println("Cores");
  SerialMon.println("[BOOT] >>> Quantum LABS (LK) IOT SOLUTIONS");
  SerialMon.println("[BOOT] >>> ESP32-WROOM(N16) SIM7600E 4G LTE");
  SerialMon.println("");

  //make device boot 20sec
  dev_booting(10);

  setup_Cellular();
  delay(100);

  SerialMon.println("[BOOT] >>> System OK!");

  push_data_cloud();
  delay(100);
}

void loop() {

  //  if (gpss == false) {
  //    modem_gps_location();
  //    delay(100);
  //  }

  if (millis() - cloud_push_previous_Time >= cloud_push_Interval) {
    modem_gps_location();
    delay(10);
    push_data_cloud();
    delay(1000);
  }

}

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