Programming # The NORVI EC-M11-EG-C5-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-based Based Controllers with Arduino IDE.
SoC: ESP32-WROOM32 Programming Port: USB UART
8-pin Connector and wire harness # Pin Description # 8P Male Wire color I/O Configuration 1 White SCL 2 Brown SDA 3 Green – 4 Yellow – 5 Gray 3.3V+ / 5V+ 6 Pink – 7 Blue Power+ 8 Red Power-
I2C Communication # IC Type ADS 1115 Module Address 0x49 SDA GPIO16 SCL GPIO17
Programming I2C Communication # #include <Wire.h>
// Define the I2C device address
#define DEVICE_ADDRESS 0x49
void setup() {
Wire.begin(16, 17); // SDA on GPIO16, SCL on GPIO17
Serial.begin(115200);
}
void loop() {
// Write data to the I2C device
Wire.beginTransmission(DEVICE_ADDRESS);
Wire.write(0x01); // Replace with your data
Wire.write(0x02);
Wire.write(0x03);
Wire.endTransmission();
delay(100);
// Read data from the I2C device
Wire.requestFrom(DEVICE_ADDRESS, 3); // 3 bytes of data
if (Wire.available() >= 3) {
byte data1 = Wire.read();
byte data2 = Wire.read();
byte data3 = Wire.read();
Serial.print("Read Data: ");
Serial.print(data1, HEX);
Serial.print(" ");
Serial.print(data2, HEX);
Serial.print(" ");
Serial.println(data3, HEX);
}
delay(1000); // Delay for demonstration purposes
}
LTE1 Communication # Model of LTE Modem SIM7000-E FCC ID 2AJYU-SIM7000 TAC 86615402 RXD GPIO25 TXD GPIO26 RESET GPIO32 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 GPIO32 POWER GPIO22
GPIO Connections of LTE2 Communication Programming LTE Communication # #define MODEM_RESET 32
#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);
}