-
Notifications
You must be signed in to change notification settings - Fork 7
FAQ
Frequently-asked questions, grouped by topic. If something here isn't, open an issue.
Yes — firmware is AGPL-3.0, hardware (schematics, STL, BOM) is CC-BY-SA 4.0. You can build, modify, and resell, but derivative work has to stay open under the same licenses. The brand names "TankSync" and "SmartGhar" are trademarks — don't reuse those for commercial derivatives.
No. TankSync works fully local. Point the hub at your own MQTT broker (Mosquitto on a Pi, or HA's built-in broker), and you'll never touch our servers. The cloud is a convenience for the PWA + remote access — free tier covers up to 3 hubs.
Six, in current firmware. The limit is LoRa airtime budget + RYLR998 buffer, not LoRa range. If you need more, run a second hub on a different NETID.
Practical line-of-sight: ~1 km outdoors with the stock PCB antennas. With external SMA antennas: 3–5 km. Through walls: depends, but typically 30–100 m through 1–2 internal walls. Concrete + rebar walls eat LoRa fast.
Pick the frequency in firmware that's legal where you live:
- India — 865 MHz
- EU / UK — 868 MHz
- US / Canada / Australia / NZ — 915 MHz
The RYLR998 supports all three. Set it in firmware/Transmitter-IDF/main/config.h → LORA_DEFAULT_FREQ, and matching on the hub.
Send the schematic SVG + (eventually) the EasyEDA project files to JLCPCB or PCBWay. ~₹60/piece in 10× runs. See Bill of Materials → sourcing.
The S3 multi-target RX build exists (since rx-v2.7.9) — same firmware, different sdkconfig. C6 is untested; pin map would need adjusting. C3 is what's actively tested. Stick with it for TX unless you have a reason.
It's waterproof (IP67), cheap, widely available, and works at 5 V. Variants (JSN-SR04M / AJ-SR04M) work too — see AJ-SR04M UART Mode for the gotcha. Non-waterproof HC-SR04 will work indoors only — the diaphragm corrodes in tank vapor within months.
For long-term outdoor use: yes. A single 18650 lasts maybe 3–6 months with the default 5-minute wake interval — long enough to forget the unit's there, then it dies on you. With a 1 W panel it runs indefinitely. If your tank is indoors / shaded, swap the panel for a USB power input instead.
Yes — firmware auto-detects. If INA219 absent at I²C 0x40, it falls back to a voltage-divider on GPIO 0 (Variant A). You lose the signed current reading (charge vs discharge), but level + battery percentage still work.
Easiest: the browser flasher.
Over-the-air: hub OTA via the local web UI (System → Firmware) or via the PWA (Settings → Firmware). TX OTA happens over LoRa — slow (8–10 minutes per TX) but no cable required.
Older releases (pre-rx-v2.8.5) had a CMakeLists.txt bug that stamped the wrong version string into esp_app_desc.version. Fixed in v2.8.5+ via the single-VERSION-file pattern. Re-flash; the displayed version should match what you built.
Semver. Hub uses rx-vX.Y.Z, transmitter uses tx-vX.Y.Z. The PWA is independent (vX.Y.Z of its own). HACS integration too. See Firmware Versions.
Your tank readings, retained as the most-recent state + 90 days of history (free tier). Nothing else — no location, no usage profiling, no third-party analytics.
Yes — Settings → Export data in the PWA gives you a CSV of historical readings. For HA users, just use HA's recorder + InfluxDB export.
Free tier (up to 3 hubs / 6 tanks) has no expiry. Pro tier (more hubs, weather insights, family sharing, 90-day → 1-year history) is paid; see tanksync.smartghar.org → Settings → Plan for current pricing.
The hub keeps working — it has the MQTT broker hardcoded but is a one-line change to point elsewhere. Worst case, swap the broker URL in the local web UI to your own Mosquitto. No vendor lock-in.
± 1 % when calibrated correctly. The accuracy ceiling is the JSN-SR04T's own (~1 cm), which on a typical 1 m-tall tank is 1 %. Bad calibration (wrong "empty distance" / "full distance") can throw it off by 10 %.
Firmware takes 5 samples per wake (50 ms apart) and takes the median — kills wave-induced outliers. If you have huge churn (a borewell filling in), enable FILL_TRACK mode → it goes adaptive.
Detected as "sensor stuck" when the reading doesn't change across 20+ wake cycles. The PWA flags it; clean the sensor face. See Troubleshooting.
Yes — tested through Delhi summer at 45 °C ambient with PETG enclosure. No RSSI drift, no boost-converter sag. 18650 cell rating de-rates above 45 °C internal temp — use a light-coloured lid in hot climates.
It scans Wi-Fi to show you available SSIDs during setup, and otherwise only talks to the MQTT broker you configured. The firmware is auditable — read it.
TLS 1.2+ to mqtt.smartghar.org:8883. Per-hub client cert + token. Each hub gets a unique device ID + claim QR sticker; cross-claiming is prevented by server-side ownership check.
The cloud server (Node/Express + MQTT broker + Postgres) is proprietary — that's the bit we don't open-source, because we depend on it commercially. But the hub → broker protocol is plain MQTT — point your hub at any broker and you're independent. See Self-Host Guide (work in progress).
- Issues, bugs, feature requests → github.com/Techposts/TankSync/issues
- Discussions → github.com/Techposts/TankSync/discussions
- YouTube channel (build videos, deep dives) → @ravis1ngh
- Email → ravi at smartghar.org
Start here
Build it
Flash it
Use it
Reference