New: the AI firewall watches the whole platform and explains each incident in plain words. See how it works

Maria Jackson

jacksonmaker

@mariajackson · Joined May 2026

Newcomer

Maker · hobby projects · Hamilton

Topics
1
Replies
18
Points
0
Newcomer10 points to Member

Forum Replies Created

Viewing 15 posts – 1 through 15 (of 18 total)

Then guest is out. I did this for my sister’s bakery and two cafes, all Ubiquiti, so roughly your setup:

Make a new SSID “store-iot” with WPA2 PSK, tag it to its own VLAN (say 30), turn on client isolation so sensors can’t talk to each other, and in the firewall rules allow that VLAN only outbound: DNS, NTP, and TCP 8883 to the Hermetry broker (443 too if anything uses HTTPS). Block VLAN 30 to every other internal network. That’s what the auditor wants to see, and it’s one afternoon per store.

I wouldn’t add a Pi for this. A Pi is worth it when your devices can’t reach the internet themselves (BLE, Modbus, Zigbee) and something has to report for them as a gateway. Your ESP32s already do TLS on their own, a Pi just adds an SD card that can die in the back office.

On the Hermetry side two cheap extras: on the fridge profile set Allowed networks to each store’s public IP, so a stolen token is useless from anywhere else. And check Plain MQTT is off, TLS only on 8883 is the default but your IT guy may have turned it on while testing. Checklist at the bottom of Device transport security.

If it isn't logged, it didn't happen.
Accepted solution♥ 9

I went down this hole for a garden sensor last year and the answer turned out to be energy per job, not current.

A battery device spends 99.9% of its life asleep. What empties the battery is (sleep current × sleep time) + (active current × awake time) + the radio. The core width hardly matters for sleep current: that’s set by the process the chip is made on, the RTC, the RAM retention and leakage. Modern 32-bit low power parts are made on newer, leakier-in-theory but better-managed processes with power domains you can switch off, and their sleep currents with RTC running are around 1 µA or less. An ATmega328P in power-down with the watchdog running is in the same ballpark at best, and with brown-out detection on, worse.

When awake, a 32-bit core finishes the job faster. Reading a 16-bit ADC result, doing a few multiplications for RMS current and building a packet is many more instructions on an 8-bit AVR than on a Cortex-M0+, at similar µA/MHz. Fewer cycles means less time awake, so less energy, even if the current while running is similar.

And the peripherals: the low power ARM parts can run the ADC, DMA and timers while the core sleeps, so the core wakes once with the result ready.

In my case the MCU choice turned out to be noise next to the radio: one LoRa transmit costs more than an hour of MCU sleep. Spend your effort on how often you send.

If it isn't logged, it didn't happen.
Accepted solution♥ 9

CE0 vs CE1, of course. CS was on pin 24 and the code said 1. Changed it to spi.open(0, 0) and channel 0 now reads 412 with the tank half full, channel 1 floats like it should. Loopback test passed too, so I’ll keep that one. Sending mA now and scaling in the flow as twilson said.

If it isn't logged, it didn't happen.
♥ 0
Viewing 15 posts – 1 through 15 (of 18 total)