Turn an ESP32 into a push notification device with NotifyBridge.
Platform: Espressif ESP32 · Board: esp32dev · Framework: Arduino
- Button on GPIO 13 — sends a priority-1 notification on press
- Heartbeat every hour — includes uptime, RSSI, and IP address
- WiFi reconnection alert (priority 2) when connectivity is restored
- Uses the native ESP32
HTTPClientlibrary for HTTPS POST
- PlatformIO (CLI or VS Code extension)
- A Mindeon NotifyBridge account with an API token and user key
git clone https://github.com/mindeon/NotifyBridge-ESP32.git
cd NotifyBridge-ESP32Configure your credentials in src/main.cpp:
#define WIFI_SSID "YOUR_WIFI_SSID"
#define WIFI_PASSWORD "YOUR_WIFI_PASSWORD"
#define NB_API_TOKEN "YOUR_API_TOKEN"
#define NB_USER_KEY "YOUR_USER_KEY"
#define NB_DEVICE_CODE "YOUR_DEVICE_CODE"Build and upload:
pio run --target upload| State | Pattern | Meaning |
|---|---|---|
| CONNECTING | Fast 100 ms toggle | Joining WiFi |
| IDLE | 50 ms flash every 3 s | Connected, waiting |
| SENDING | 3 rapid 50 ms blinks | Sending notification |
| DISCONNECTED | Slow 500 ms toggle | WiFi lost |
HTTP POST to https://notifybridge.mindeon.net/v1/messages/send with JSON payload:
{
"api_token": "YOUR_API_TOKEN",
"user_key": "YOUR_USER_KEY",
"device_code": "YOUR_DEVICE_CODE",
"message": "Notification text",
"priority": 1
}Failed requests are retried with exponential backoff: 2 s initial delay, doubling up to 60 s, for a maximum of 5 attempts.
| Priority | Meaning |
|---|---|
| −1 | Background / heartbeat |
| 1 | User-triggered (button press) |
| 2 | System alert (WiFi restored, sensor event) |
This project sends push notifications via NotifyBridge, a cloud notification service for embedded and IoT projects — no Firebase SDK, no mobile development, no notification backend, just an HTTPS request.
- 📖 REST API
- 📚 Full developer guide — setting up your account, creating devices, claiming, groups
- 🧭 Other supported devices
See LICENSE for details.