A comprehensive IoT monitoring dashboard for ESP32 sensor networks with real-time data visualization, visual device configuration, and alert management.
- Real-Time Monitoring: Live sensor data updates every 5-10 seconds
- Multi-Device Support: Monitor unlimited ESP32 devices simultaneously
- 7 Sensor Types: DHT11, DHT22, BME280, DS18B20, DS18B25, BH1750, LM393
- Visual ESP32 Configurator: Generate Arduino code with visual pin mapping
- ESP32-CAM Support: Configure and monitor camera-enabled ESP32 boards
- Dark/Light Theme: Beautiful UI with theme toggle
- Historical Data: View and analyze past sensor readings
- Alert System: Set thresholds and get notifications
- π‘οΈ Temperature (Β°C)
- π§ Humidity (%)
- π Pressure (hPa)
- π‘ Light Intensity (lux)
- π Sound Level (0-100%)?
- Node.js 18+ and npm
- ESP32 development board(s)
- Supported sensors (see list above)
- Arduino IDE for ESP32 programming
- Clone the repository
git clone https://github.com/yourusername/esp32-sensor-dashboard.git
cd esp32-sensor-dashboard- Install dependencies
npm install- Start the development server
npm run dev- Open the dashboard
Navigate to
http://localhost:5000in your browser
-
Use the Visual Configurator
- Click "ESP32 Setup" in the dashboard
- Select your board and sensor type
- Configure pins visually
- Download generated Arduino code
-
Upload to ESP32
- Open the
.inofile in Arduino IDE - Install required libraries (listed in the code)
- Configure WiFi credentials
- Upload to your ESP32
- Open the
-
Monitor Data
- Data will automatically appear in the dashboard
- View real-time charts and historical data
βββ client/ # React TypeScript frontend
β βββ src/
β β βββ pages/ # Dashboard, Configurator, Alerts, etc.
β β βββ components/ # Reusable UI components
β β βββ lib/ # Utilities and helpers
β βββ public/
β
βββ server/ # Express TypeScript backend
β βββ routes.ts # API endpoints
β βββ storage.ts # Data persistence layer
β βββ index.ts # Server entry point
β
βββ shared/ # Shared TypeScript types
β βββ schema.ts # Data models and validation
β
βββ arduino-esp32/ # Arduino sketches for ESP32
β βββ sensor-sketches/ # Individual sensor examples
β βββ camera-sketches/ # ESP32-CAM examples
β βββ examples/ # Multi-sensor configurations
| Endpoint | Method | Description |
|---|---|---|
/api/sensor-readings |
POST | ESP32 devices post sensor data |
/api/sensor-readings/latest |
GET | Latest reading from each device |
/api/sensor-readings |
GET | All historical readings |
/api/sensor-readings/device/:id |
GET | Readings for specific device |
/api/sensor-readings/range |
GET | Readings within time range |
/api/sensor-readings/:id |
PATCH | Update a reading |
/api/sensor-readings/:id |
DELETE | Delete a reading |
{
"deviceId": "ESP32_001",
"deviceName": "Living Room Sensor",
"sensorType": "DHT22",
"temperature": 24.5,
"humidity": 60.2,
"pressure": null,
"light": null,
"sound": null
}- Real-time sensor cards with latest readings
- Interactive line charts for data trends
- Historical data table with filtering
- Time range selection (1h, 6h, 24h)
- Device-specific views
- Visual pin configuration
- 16+ supported ESP32 board types
- Automatic code generation
- WiFi and server setup included
- Live feed monitoring
- Resolution and FPS settings
- Online/offline status tracking
- Feed history table
- React 18 with TypeScript
- TanStack Query for data fetching
- Recharts for data visualization
- Tailwind CSS for styling
- Shadcn/UI component library
- Lucide React icons
- Express.js with TypeScript
- Zod for validation
- In-memory storage (upgradeable to PostgreSQL)
- RESTful API design
- ESP32 microcontrollers
- Arduino IDE for firmware
- WiFi connectivity for data transmission
We welcome contributions! Please see our Contributing Guide for details.
- Additional sensor support
- Data export features (CSV, Excel)
- Mobile app development
- MQTT integration
- Machine learning predictions
This project is licensed under the MIT License - see the LICENSE file for details.
- ESP32 community for hardware support
- React and TypeScript communities
- Contributors and testers
- GitHub Issues: Create an issue
π’ Active Development - Regular updates and new features being added
Made with β€οΈ for the IoT Community