PCB Connections

Device Pin Name Name Pin Device Notes
ESP32 10 IO25 TXD 9 SIM7070E Modem to ESP, via Q7
ESP32 11 IO26 RXD 10 SIM7070E ESP to Modem, via Q8
ESP32 6 IO34 RI 4 SIM7070E Modem to ESP, SMS notification
ESP32 ? ? DTR 3 SIM7070E ESP to Modem, via Q5
ESP32 12 IO27 PWRKEY 1 SIM7070E
n/a n/a n/a PWRON 6 SIM7070E connected to VD_EXT of SIM7070
ESP32 IO35 7 n/a RS232-TX External detect when to power-on modem
ESP32 IO2 24 n/a n/a LED On board LED
ESP32 36 IO22 SCL 4 IN219A I2C bus
ESP32 33 IO21 SDA 3 IN219A I2C bus

Modem Connection

Modem to ESP32 connection uses

from machine import Pin, UART, SoftI2C
import time

pwrkey = Pin(27, Pin.OUT, value=1)
tx = Pin(26, Pin.OUT)
rx = Pin(25, Pin.IN)
uart = UART(1, tx=tx, rx=rx, baudrate=9600, timeout=50)
pwrkey.value(0)
time.sleep(2)
pwrkey.value(1)
time.sleep(2)
l = uart.read()
if l:
    print(l)

uart.write("\n\nAT\n\n")
for _ in range(5):
    l = uart.read()
    if l: print(l)

External modem connection

ext = Pin(17, Pin.OUT, value=0)
# to turn Teltonika modem on, set value to 1
ext.value(1)

# to turn Teltonika modem on, set value to 1
ext.value(0)

LED

led = Pin(2, Pin.OUT, value=0)
led.value(1)
led.value(0)

Battery Monitor

IN219A - possible Micropython library at

from machine import Pin, UART, SoftI2C
from ina219 import INA219
import time

i2c = SoftI2C(freq=100000, scl=Pin(22, Pin.OUT), sda=Pin(21, Pin.OUT))
i2c.scan()
# response is [64]

ina = INA219(0.1, i2c)
# 0.1 is shunt resistance
print(ina.voltage())