https://github.com/milan-sony/downdetect
A lightweight Wi-Fi and Internet monitoring tool built using an ESP32 DEVKIT V1 board
https://github.com/milan-sony/downdetect
arduino esp32 esp32-arduino
Last synced: 2 months ago
JSON representation
A lightweight Wi-Fi and Internet monitoring tool built using an ESP32 DEVKIT V1 board
- Host: GitHub
- URL: https://github.com/milan-sony/downdetect
- Owner: milan-sony
- Created: 2025-07-18T06:41:18.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-07-18T07:31:35.000Z (11 months ago)
- Last Synced: 2025-08-10T03:44:45.329Z (11 months ago)
- Topics: arduino, esp32, esp32-arduino
- Language: C++
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π‘ DownDetect
**DownDetect** is a lightweight Wi-Fi and Internet monitoring tool built using an ESP32 DEVKIT V1 board. It continuously checks whether the device is connected to a Wi-Fi network and whether the internet is reachable (via ping), providing real-time feedback using the onboard LED and Serial Monitor.
## π§ Features
- β
Connects to specified Wi-Fi network
- πΆ Checks Wi-Fi connection status every 5 seconds
- π Pings Google DNS (8.8.8.8) to verify internet connectivity
- π΄ Blinks onboard LED if internet is down
- π Reconnects automatically if Wi-Fi is disconnected
- π¨οΈ Logs SSID and IP address over Serial Monitor
- π‘ Onboard LED Status:
- LED **OFF** = Wi-Fi and Internet OK
- LED **Blinking** = Internet not reachable
- LED **ON** = Wi-Fi disconnected
## βοΈ Hardware Required
- [x] ESP32 DEVKIT V1
- [x] Micro USB cable
- [ ] Optionally: OLED display, buzzer, or SD card for future features
## π₯ Library Dependencies
Make sure the following libraries are installed in the Arduino IDE:
- `WiFi.h` (comes with ESP32 board support)
- `ESP32Ping.h`
π¦ Install via Arduino IDE:
`Sketch > Include Library > Manage Libraries > Search "ESP32Ping" > Install`
- If the Library Manager doesnβt show ESP32Ping, you can install it manually: checkout this [link](https://www.dfrobot.com/blog-1411.html?srsltid=AfmBOorOVuO_Zi6C25oXe5YApub4J2_B_4nCw63y4_OR5ALnmk9xciww)
## π¦ Getting Started
1. **Clone or download** this repository.
2. **Open the code** in the Arduino IDE.
3. Install **ESP32 board support** (if not already done):
- Go to **File > Preferences**
- Add this URL in "Additional Board Manager URLs":
```
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
```
- Then go to **Tools > Board > Board Manager** and install **esp32 by Espressif Systems**.
4. **Update Wi-Fi credentials**:
```cpp
const char* ssid = "YourWiFiName";
const char* password = "YourWiFiPassword";
5. Select board: Tools > Board > ESP32 Dev Module
6. Upload the code to your ESP32
7. Open Serial Monitor (baud rate: 115200) to see live logs
## π Main Loop Behavior
```
----- Checking Network Status -----
Connected to SSID: YourWiFiName
β
WiFi Connected
β
Internet is reachable (Ping OK)
(OR)
----- Checking Network Status -----
β
WiFi Connected
β Internet NOT reachable!
[LED blinks 2x]
(OR)
β WiFi Disconnected!
[LED stays ON]
Reconnecting to WiFi...
```
## π Future Enhancements
- π² Push alerts via Telegram or Webhooks
- π₯οΈ OLED display showing network status
- πΎ Log outages to SD card or SPIFFS
- π Buzzer alert on outage
- π Uptime analytics dashboard with web UI
- π Captive Portal Wi-Fi configuration