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())