Repository navigation
# HiveHub V0.2 β spectrum, alerts & dashboard polish π
The second HiveHub release builds on the tested-hardware foundation of V0.1 and focuses on getting more out of the data you already collect: acoustic FFT analysis from HiveHeart sensors, out-of-dashboard alert notifications, a much more capable web dashboard, and broader wireless-sensor support β including a brand-new nRF54 in-hive node.
What is HiveHub?
HiveHub is an open-source, ESP32-based data collector for beehive sensors and scales. One device gathers weight, temperature, humidity, sound, vibration, entrance traffic, power state, and network state from up to 16 hives and sends the readings to a self-hosted FastAPI + PostgreSQL backend, where they can be viewed in HivePal or the built-in web dashboard.
Highlights of this release
HiveHeart acoustic FFT. HiveHeart sensors now deliver a packed 16-band frequency spectrum, decoded end-to-end: the 16 relative levels are derived on read, exposed through the API (nested and flat shapes, with legacy rows reconstructed so old and new records match), and charted in the dashboard on their own dedicated relative-level axis β complete with a peak-frequency marker, semantic-band headings, a frequency-range x-axis and an Hz tooltip. An informational, self-baselining "acoustic" insight flags spectrum shifts per
hive. These FFT-Values are also integrated in insights.py.
Alert notifications (e-mail + Web Push). Colony insight alerts (swarm, robbing, winter risk, β¦) can now leave the dashboard the moment they fire, over two independent opt-in channels: SMTP e-mail and Web Push to any browser or the installable dashboard PWA (Android, desktop, iOS 16.4+). Both are off by default and fail-soft β a broken relay never affects ingest or alert history β and dispatch runs on a dedicated background worker with at-most-once, restart-safe delivery above a configurable minimum severity.
Dashboard UX overhaul. Every diagram (line and spectrum charts, in the built-in dashboard and the public website demo) gains:
- a per-chart data selector with clickable legend entries to toggle series on/off,
- editable y-axis range β click-to-edit min/max that pins and persists per chart, with a one-click reset, and
- a β€ CSV export that downloads exactly the data the chart currently shows.
The Battery & power panel additionally plots battery voltage against an independent secondary axis (so its narrow 3.7β4.2 V range is readable), and only renders the Solar cards/chart when INA219 data is actually present.
HiveTraffic on any hive. The wireless HiveTraffic entrance bee counter (BLE/GATT) is now registry-driven and can be paired to any hive up to the device maximum, instead of only hives 1β2. (The wired I2C counter still covers hives 1β2.)
New in-hive node: XIAO nRF54LM20A HiveInside. A beacon-only sensor node that broadcasts the same 26-byte frame as the ESP32-C6 HiveInside prototype, with board-matched OTA so a C6 image is never relayed to an nRF54 unit β and full flags-byte handling so an absent sensor reads as "absent" rather than 0 Β°C. The legacy ESP32-C6 node stays fully supported.
Field-reliability firmware fixes. ESP32-C6 user LED status heartbeat, recovery of a wedged I2C bus on boot, dropping of railed/empty scale readings with a reported scale_ok flag, and OTA downloads that tolerate a missing Content-Length header.
Docs & onboarding. A new "my device is not supported yet" guide (request support via a GitHub issue, plus an nRF Connect capture walkthrough), a reworked build-your-own guide, and expanded API/insights/notifications documentation.
Component versions in this release
| Component | Version | Location | Status |
|---|---|---|---|
| ESP32-C6 Scale Module PCB | V0.4 | pcb-design/scale module/esp32-c6/ (_V0_4-Scale_Module-.zip) |
β Recommended β tested and working |
| NAU7802 breakout PCB | v0.2 | pcb-design/NAU7802 breakout pcb/ (_v0_2_NAU7802_breakout_board-.zip) |
β Recommended β tested and working |
| Firmware | 0.23.11 | firmware/ (pio run -e xiao_esp32c6 / legacy -e esp32dev) |
β Current |
| Server (backend) | 0.1.0 | server/ + docker/ (reported by GET /health) |
β Current |
Recommended setup
- Fabricate/assemble the ESP32-C6 Scale Module (V0.4) β off-the-shelf modules on pin headers, no SMD soldering for the core build.
- Need more than 2 wired scales? Add the NAU7802 breakout PCB on the I2C expansion header (up to 16 scales).
- Flash the firmware with
pio run -e xiao_esp32c6and configure everything from the on-device provisioning portal. - Stand up the backend with Docker Compose (
docs/docker-install.md) and claim the device in HivePal or the built-in dashboard. Optionally enable e-mail / Web Push alerts (docs/notifications.md).
See pcb-design/README.md for board details and the main README for the full
setup guide.
Deprecation notes
- The ESP32 30-pin Scale Module (HX711/INMP441-based) is obsolete. Existing boards keep working and the
esp32devfirmware target remains, but no further board revisions are planned β use the ESP32-C6 Scale Module for new builds. - The separate Power Module is being discontinued: the C6 Scale Module carries its own buck-boost regulator and battery fuel gauge, so most builds can power it directly.