Logger Pro
Battery-powered industrial data logger: pulse counting, 4-20 mA loops, 0-5 V input and switched sensor supply rails, reporting over LTE.
Overview
ESP32 (MicroPython v1.25), deep-sleep duty cycle, ~116 uA sleeping
Quectel EG915 LTE modem (
findylab.modem.eg915)2x digital pulse inputs counted by the ULP co-processor - counting continues through deep sleep (
findylab.sensor.counter)2x 4-20 mA analog inputs + 1x 0-5 V input + external-power monitor on an external I2C ADC (
findylab.core.fw.adcMeasure())Switched 5 V and 12 V sensor rails (Relay)
Reed switch wakeup (magnet-triggered alarm reports)
Buzzer for on-site feedback
Pin map
Function |
GPIO |
Notes |
|---|---|---|
Modem power rail |
17 |
Held through deep sleep |
Modem PWRKEY |
23 |
Power-on pulse |
Modem UART TX (ESP32 side) |
21 |
Modem RX |
Modem UART RX (ESP32 side) |
36 |
Modem TX |
Modem DTR |
5 |
Slow-clock (sleep) control |
I2C SCL / SDA |
19 / 18 |
External ADC, address 104 |
Peripheral power |
25 |
Sensor bus supply enable |
Relay 5 V / 12 V |
22 / 12 |
Switched sensor rails |
Pulse input 1 / 2 |
4 / 14 |
Counted by the ULP (RTC GPIO 10 / 16) |
Reed switch |
15 |
EXT0 deep-sleep wakeup |
Buzzer |
27 |
5 kHz PWM |
Note
This board revision has no dedicated modem RESET or PSM pins, so
findylab.modem.eg915.reset() power-cycles the supply rail and
sleep is a plain machine.deepsleep() (no network PSM
negotiation).
Duty cycle
Wake up (timer at a round boundary of parameter 421, reed switch, or watchdog).
measure()- power the sensor rails, warm up (parameter 587), read the ADC channels, collect the ULP pulse counters, evaluate the min/max alarms, store everything in the database.Every N wakeups (ratio 422/421) or on an alarm:
report()- turn the modem on, register, send thedatalistparameters to the server, execute any queued server commands.Deep sleep until the next round boundary.