ESP32 Alarm Clock — Build Guide
A step-by-step guide for software engineers to build a physical alarm clock from components.
By the end of this guide you will have a working clock with:
- A 4.2" e-ink display that shows the time and next alarm
- Physical buttons to set alarms and navigate menus
- An audio alarm that plays a WAV file through a speaker
- WiFi that syncs the time automatically via NTP
- USB-C power
No prior electronics experience required — if you know how to write code and have connected a USB peripheral, you have the foundation you need.
System Overview
Reading Order
Follow these sections in order. Each one builds on the previous.
- Overview — what you're building and what to buy
- Concepts — hardware fundamentals explained for programmers
- Hardware Assembly — wiring each component to the ESP32
- Firmware — writing the software that runs on the device
- Integration — bringing it all together and testing
- Reference — pin table, datasheets, glossary
Prerequisites
- You can write code (any language is fine)
- You can run commands in a terminal
- You have or are willing to buy a soldering iron (needed for the final build; a breadboard works for prototyping)
- You have a multimeter (a basic $10 one is fine)
You do not need to know electronics, electrical engineering, or anything about microcontrollers.