ESP32-fg — Smart Fish Farm Monitoring
Educational IoT system for fish farm monitoring with ESP32-S3 and ESP32-C3 devices, ESP-NOW sensor nodes, MQTT integration and a React dashboard.
The problem
Fish farm monitoring needs reliable environmental data at the edge: temperature, water quality, node health and actuator status. For a learning project, the challenge is building that full path without hiding the hard parts behind a black-box IoT platform.
ESP32-fg turns that into a hands-on embedded systems roadmap: low-power sensor nodes, a gateway, wireless communication, MQTT integration and a web dashboard.
What it does
ESP32 gateway — An ESP32-S3 gateway runs WiFi AP/STA, ESP-NOW, MQTT and a small embedded configuration panel for local operation.
Low-power sensor nodes — ESP32-C3 nodes wake from deep sleep, read sensors, send compact ESP-NOW messages to the gateway and return to sleep to preserve battery life.
MQTT bridge — The gateway forwards telemetry to a LAN/cloud MQTT broker, keeping the embedded network decoupled from the server and dashboard.
Full-stack learning path — The repository includes tutorial material, phase-by-phase tasks, acceptance criteria and technical decision notes to document the learning process.
Stack
| Layer | Technology |
|---|---|
| Firmware | C, ESP-IDF v5.x |
| Wireless | ESP-NOW, WiFi AP/STA |
| Messaging | MQTT |
| Backend | Bun, TypeScript, SQLite |
| Frontend | Vite, React, Tailwind |
| Documentation | Astro/Starlight-style GitHub Pages tutorial |
Architecture
Server: MQTT + API + Dashboard
│
MQTT
│
ESP32-S3 Gateway
│
ESP-NOW
│
ESP32-C3 sensor nodes
The gateway owns the WiFi/ESP-NOW channel coordination and acts as the bridge between constrained battery-powered nodes and the rest of the system.
Current status
Educational project in its initial planning and learning phase. The repository defines the architecture, phases and documentation structure before firmware and dashboard implementation are built out step by step.