jason_fw
@jasonwhite18 · Joined April 2025
Embedded developer · logistics
- Topics
- 10
- Replies
- 48
- Points
- 0
Forum Replies Created
Kalman is everywhere in navigation. For a pump it feels like overkill to me, but I’m no process guy.
Is RO actually reaching the PIC pin? Scope the PIC pin itself, not the MAX485 side.
Can the names be turned off on a dashboard? On a small card they would cover everything.
We build our own boards around an ESP32-S3 and already do mutual TLS with our own CA on another project. Can we upload that CA so our devices use the certificate path too?
Is the IP address what the device reports about itself, or what you see? Most of ours sit behind a 4G router.
Renamed lon to lng and switched to snprintf, markers showed up straight away and in the right bays, not stacked in one spot. Also took Tyler’s advice, 5 s was me being lazy, now 30 s moving / 10 min parked with a speed check. Kevin, I’m only showing latest positions for now.
Fix is fine, serial monitor shows 9 sats and sensible coordinates. Here’s what goes out:
{"lat":"-43.53","lon":"172.63","spd_kmh":0.0,"sats":9}
Lots of STM32s do 9-bit natively. A Blue Pill as a bridge that translates to 8-bit serial for the Pi would be the boring, reliable answer.
two objects is the right idea, begin() just remembers the id and the serial port
The HM-10 is BLE (CC2541 chip). It won’t pair like a classic device, you connect to it and read a GATT characteristic. That’s why bluetoothctl’s pairing list ignores it.
Fine until one fails. On perfboard you won’t have proper creepage between the 230V side and the ESP32, and no fuse on the input I’m guessing?
Neither contractor, sort of. The NEO-6M already gives you both. The $GPRMC sentence has speed over ground (in knots) and course over ground, and the receiver gets speed from Doppler, which is far better than differencing two fixes 30 s apart. Two fixes 30 s apart will show a tractor that went down and back an aisle as standing still.
With TinyGPS++ it’s two lines:
float kmh = gps.speed.kmph(); // already converted from knots
float hdg = gps.course.deg();
snprintf(buf, sizeof buf,
"{"lat":%.6f,"lng":%.6f,"speed_kmh":%.1f,"course_deg":%.0f}",
gps.location.lat(), gps.location.lng(), kmh, hdg);
Send them as numbers in the same message as lat/lng. Same message, same cost, so @roberts.r it’s a few bytes more, not another message. Then an alarm rule on speed_kmh > 15 with a debounce of 2 readings so one GPS jump doesn’t fire it.
If you ever do need something computed after the fact (distance per shift, say), that goes in the root flow before Save telemetry as a derived key.
Ask your operator for a fixed-IP APN. Ours sold us a /28 for the whole fleet. If that’s not possible, skip that control and lean on revoke plus the new-network notices.
Flash encryption and secure boot on the ESP32 cover the dump. They’re one-way though, get the key handling wrong on a production unit and it’s a brick.
Type K goes higher than that though, right? Just the chip is the limit?

