Skip to content

MeshBee

Solar-powered ESP32 nodes sit in beehives and report sensor readings — temperature, humidity, hive weight, battery voltage — across a Meshtastic mesh and on to a FastAPI + Postgres backend over MQTT. An Expo app reads that data back over HTTP.

How a reading travels

Hive nodes talk to each other over a Meshtastic LoRa mesh — no WiFi needed in the apiary. A reading hops across the mesh until it reaches a node with internet access, which acts as the gateway and forwards it over the internet to the MQTT broker. So the path is a mesh leg followed by an ordinary internet leg, not one or the other.

The four repositories

Each component is developed and released independently. Nothing here is a monorepo.

Repository What it is
meshbee-firmware ESP32 node firmware — reads sensors, publishes MQTT
meshbee-server FastAPI backend, MQTT handler, Postgres
meshbee-app Expo mobile app
meshbee-hardware Boards, enclosures, 3D-printable parts

What holds them together is not a shared build — it's a versioned contract: the MQTT payload schema and the HTTP API. Both are published on this site at stable URLs, so a component can ship on its own schedule without breaking the others.

The system divides into three areas — the hive, the server and the app — and meshbee-server is itself three pieces: the MQTT ingest path, the REST API, and the shared core library with its database. Each gets a short page under Components.

Start here

  • Architecture — how a reading gets from a hive to the app, and why it's built this way.
  • Components — a short summary of each piece of the system and where its full documentation lives.
  • The contract — the MQTT payload, the API reference, and which versions are known to work together.
  • Roadmap — what's being worked on now.
  • Get involved — this is a volunteer project and it's all in the open.