GET YOUR ESP32 ALARM CLOCK CONNECTED IN 6 STEPS
Core components (what the current firmware targets):
Pin wiring:
From the dashboard, scroll to the Devices section and click + Add Device. Give it a name (e.g. Bedroom ESP32).
A device token will be shown once in a modal. Copy it immediately — it cannot be retrieved again. You will paste it into config.h in the next step.
Get the firmware source (the repository is private for this exam project — request access from the author). Open it in VS Code with PlatformIO.
Copy include/config.h.example to include/config.h and fill in your values:
config.h is gitignored — your credentials will never be committed.
Connect the ESP32 via USB-C, then click Upload in PlatformIO (or run pio run -t upload). The build will take a minute on first run.
Open the serial monitor at 115200 baud. You should see:
POST OK every 60 seconds means the device is successfully sending data to the server.
Go to your dashboard — the status bar in the bottom right should turn green and show ESP32 connected. Heap usage, CPU frequency, uptime, and WiFi signal will appear within a few seconds.
Alarm: the OLED shows the live time (synced over NTP). At the set time the buzzer rings and the screen shows ALARM; press the button or touch the TTP223 pad to dismiss it. The alarm also auto-silences after a configurable timeout.
Sleep tracking: on the dashboard, use the sleep toggle — tap Go to bed when you turn in and Good morning when you wake. It records your bed/wake times, sleep duration, and the average room temperature across the night, then lets you rate how you slept. Any stray row can be removed with the ✕ button.
Open Sleep Analytics to see duration, rating trends, and how temperature correlates with your sleep over time.