---
title: "EC-M11-EG-C3-LTE – USER GUIDE"
description: "## **Programming**  The NORVI EC-M11-EG-C3-LTE has a mini USB port for serial connection with the SoC for programming. Any ESP32-supported programming IDE can be used to program the controller. Follow this Guide to programming NORVI ESP32 controllers with the Arduino…"
url: "https://norvi.io/docs/norvi-ec-m11-eg-c3-lte-user-guide/"
updated: "2026-03-23"
category: "OTHER PRODUCTS / EC-M11-EG 4G LTE / EC-M11-EG-C3-LTE"
---

# EC-M11-EG-C3-LTE – USER GUIDE

## **Programming** 

The NORVI EC-M11-EG-C3-LTE has a mini USB port for serial connection with the SoC for programming. Any ESP32-supported programming IDE can be used to program the controller. Follow this Guide to programming NORVI ESP32 controllers with the Arduino IDE.

**SoC:** ESP32-WROOM32
**Programming Port:**USB UART

## **8-pin Connector and wire harness**

![](https://norvi.io/wp-content/uploads/2024/09/345-24.jpg)

### **Pin Description**

| 8P Male | Wire color | I/O Configuration |
| --- | --- | --- |
| 1 | White | A+ |
| 2 | Brown | A- |
| 3 | Green | B+ |
| 4 | Yellow | B- |
| 5 | Gray | RS-485A |
| 6 | Pink | RS-485B |
| 7 | Blue | Power+ |
| 8 | Red | Power- |

## **Load Cell Inputs**

### **Programming Load Cell Inputs**

| Number of Load Cell Inputs | 1 |
| --- | --- |
| Module Type | HX711 |
| PD SCK | GPIO32 |
| DOUT | GPIO33 |

```cpp

                #include "HX711.h"
const int LOADCELL_DOUT_PIN = 33;
const int LOADCELL_SCK_PIN = 32;
HX711 scale;
void setup() {
  Serial.begin(115200);
  Serial.println("HX711 Demo");
  Serial.println("Initializing the scale");
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  scale.set_scale(2280.f);                      // this value is obtained by calibrating the scale with known weights; see the README for details
  scale.tare();                // reset the scale to 0
  Serial.println("After setting up the scale:");
  Serial.print("read: tt");
  Serial.println(scale.read());                 // print a raw reading from the ADC
  Serial.print("read average: tt");
  Serial.println(scale.read_average(20));       // print the average of 20 readings from the ADC
  Serial.print("get value: tt");
  Serial.println(scale.get_value(5));   // print the average of 5 readings from the ADC minus the tare weight, set with tare()
  Serial.print("get units: tt");
  Serial.println(scale.get_units(5), 1);        // print the average of 5 readings from the ADC minus tare weight, divided
  Serial.println("Readings:");
}
void loop() {
  Serial.print("one reading:t");
  Serial.print(scale.get_units(), 1);
  Serial.print("t| average:t");
  Serial.println(scale.get_units(10), 1);
}
```

## **RS-485 Communication**

| Driver | MAX485 |
| --- | --- |
| UART RX | GPIO4 |
| UART TX | GPIO2 |
| Flow Control | GPIO13 |

GPIO Connections of RS-485

### **Programming RS-485**

NORVI EC-M11-EG series RS-485 connection uses a half-duplex mode of MAX485 transmitter with UART
Communication.

```cpp

                #define RS485_FC 13
void setup() {
   Serial.begin(115200);
   Serial.println("Device Starting");
   pinMode(RS485_FC, OUTPUT);
}
void loop() {
  digitalWrite(RS485_FC, HIGH); // Turns on Transmitter Mode
  Serial.println("RS-485 Sending");
  delay(500);
}
```

### **LTE1 Communication**

| Model of LTE Modem | SIM7000-E |
| --- | --- |
| FCC ID | 2AJYU-SIM7000 |
| TAC | 86615402 |
| RXD  | GPIO25 |
| TXD | GPIO26 |
| RESET | GPIO17 |
| POWER | GPIO22 |

GPIO Connections of LTE1 Communication

## **LTE2 Communication**

| Model of LTE Modem | SIM7500 |
| --- | --- |
| FCC ID | 2AQ9M-SIM7500 |
| TAC | 86147503 |
| RXD | GPIO25 |
| TXD | GPIO26 |
| RESET | GPIO17 |
| POWER | GPIO22 |

GPIO Connections of LTE2 Communication

### **Programming LTE Communication**

```cpp

                #define MODEM_RESET 17
#define MODEM_FLIGHT 22
#define MODEM_RX 26
#define MODEM_TX 25
long timer1;

void setup() {           // initialize both serial ports:
  Serial.begin(115200);
  pinMode(MODEM_FLIGHT , OUTPUT);       // FLIGHT MODE ENABLE
  pinMode(MODEM_RESET , OUTPUT);       // MODEM RESET PIN
  digitalWrite(MODEM_FLIGHT, HIGH);   // FLIGHT MODE
  MODEM_RESET_CYC();
  delay(2000);
  Serial2.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
  Serial.println("SIM AT ATART >>>>>>>>>>>>>>");
  delay(2000);
  Serial2.println("AT");
  delay(2000);
  Serial2.println("AT+CPIN?");
  delay(2000);
  Serial2.println("AT+CNMP?");
}

void loop() {
  delay(3000);
  timer1 = millis();
  Serial2.println("AT");
  while(millis()<timer1+10000){
    while (Serial2.available()) {
    int inByte = Serial2.read();
    Serial.write(inByte);
    }
  }
  timer1 = millis();
  Serial2.println("AT+CPIN?");
  while(millis()<timer1+10000){
    while (Serial2.available()) {
    int inByte = Serial2.read();
    Serial.write(inByte);
    }
  }
  Serial.println("AT SCAN DONE");         // read from port 0, send to port 1:
  while (Serial.available()) {
    int inByte = Serial.read();
    Serial2.write(inByte);
  }
  while (Serial2.available()) {
    int inByte = Serial2.read();
    Serial.write(inByte);
  }
}

void MODEM_RESET_CYC() {
  digitalWrite(MODEM_RESET,HIGH );
  delay(1000);
  digitalWrite(MODEM_RESET,LOW );
  delay(1000);
  digitalWrite(MODEM_RESET, HIGH);
}
```
