An uptime monitor for esp32!
- C++ 98.9%
- C 1.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| alerts.cpp | ||
| alerts.h | ||
| config.h | ||
| dashboard.cpp | ||
| dashboard.h | ||
| LICENSE | ||
| monitor.cpp | ||
| monitor.h | ||
| monitor.ino | ||
| README.md | ||
ESP32 Pancakes dual core uptime edition!!
This crap is self hosted, dual core uptime monitor and dashboard that runs on ESP32 DEVKITV1 cuz yes.
Features (that maybe exist)
- 5 monitor types like HTTP, HTTPS, ICMP Ping, TCP port, UDP port!
- (Claude Made) Clean web dashboard with history blocks + response time charts
- Persistent storage (if weather is gud) monitors saved to flash and supposed to survive reboots
- Dual core architecture cuz checks run on Core 0, web UI on Core 1 (so it has no lag)
- Discord webhook alerts on status changes (cuz ur chatting w ur e girl dont lie!)
- HTTP Basic Auth to protect the dashboard from silly parents
- Cached JSON for surely instant API responses even with many monitors
- Smart failure detection requires 2 consecutive fails before marking DOWN (cuz esp32 sucks)
- Degraded status will warn when response times are slow (which is very typical for esp32 btw)
- 60-entry history ring buffer per monitor
- Add/pause/delete monitors from the web UI (please change code not UI)
Hardware
- Any ESP32 board (I guess cuz tested only on ESP32 DevKit v1)
Installation
1. Install Arduino IDE + ESP32 board support
- Download Arduino IDE 2.x from arduino.cc
- Open File > Preferences
- Add this URL to "Additional Board Manager URLs": https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Open Tools > Board > Boards Manager
- Search "esp32" and install ESP32 by Espressif Systems
2. Set up the sketch
- Create a folder named
monitorin your Arduino sketches folder - Copy all 8 files into it: monitor/ ├── monitor.ino ├── config.h ├── monitor.h ├── monitor.cpp ├── alerts.h ├── alerts.cpp ├── dashboard.h └── dashboard.cpp
- Open
monitor.inoin Arduino IDE and it should load all files as tabs (if not then skill issue)
3. Configure everything!
Open config.h and edit everything especially wifi!!!
made by Noname and Claude Sonnet 4.6 cuz yes