// the find
DoodzProg/ESP32-BMS-Gateway-Multi-Protocol
A plug-and-play ESP32 industrial gateway bridging BACnet/IP, Modbus TCP, and a real-time dynamic Web UI.
Firmware that turns an ESP32-S3 into a Modbus TCP ↔ BACnet/IP gateway for under $10 in hardware. Aimed at building automation integrators who need to bridge a Modbus device (VFD, sensor, PLC) into a BACnet supervisor without buying a $200+ commercial gateway. Browser-flashable with no IDE required.
Browser-based flashing via ESP Web Tools is genuinely useful for field deployment — no driver installation, no toolchain, 90-second install. The shared state registry architecture is clean: all three interfaces (BACnet, Modbus, web) read/write one central registry with no per-protocol translation copies. Atomic config writes via temp-file-then-rename on LittleFS is the right call for embedded flash where power loss during a write is a real failure mode. SubscribeCOV with per-object COV-Increment overridable via WriteProperty is real BTL-quality work, not a stub.
2 stars and 1 fork means this has seen almost no real-world stress testing outside the author's bench — BACnet conformance claims are hard to validate without a BTL test lab. The 64 AV / 64 BV hard cap is baked into the firmware and non-negotiable without a rebuild; production BAS integrations routinely need 200+ points. HTTP Basic Auth over plain HTTP (not HTTPS) means credentials are cleartext on the wire — fine for an isolated HVAC subnet, a serious problem if the device ends up on a corporate VLAN. No concept of Modbus function code error handling or exception responses is visible in the README, which will bite anyone whose field device returns exception codes under normal operation.