A fun DIY project using an ESP32 to time your climbing session with a countdown and celebration tone.
This project turns an ESP32 into a simple stopwatch system for a climbing wall. When powered on (e.g. by turning on the ceiling lights), the device begins a 3-second countdown, then starts timing your climb. When you reach the top and press the big button, the stopwatch stops, a winning melody plays (Super Mario level complete), and your time freezes and blinks until the device is reset.
To keep things simple, the device is powered directly from the ceiling light circuit. Turning the lights off and on resets the session.
- 4-digit 7-segment display
- Shows time in seconds with 0.1s resolution (e.g.
12.3) - Times up to 999.9 seconds (~16.6 minutes)
- Shows time in seconds with 0.1s resolution (e.g.
- 3-second countdown with LED indicator
- Victory melody using a piezo buzzer
- Big button at the top of the wall to stop the timer
- Compact build inside a ceiling electrical box
- ESP32 development board
- Mini USB power supply
- 4-digit TM1637 display
- Piezo buzzer
- LED + resistor
- Big red button (or any large pushbutton)
- Plastic round ceiling electrical box
- Soldering tools and basic electronics skills
- Arduino IDE, VSCode with PlatformIO, or similar
- USB cable for flashing
- Required libraries:
TM1637Display(for 7-segment display)tone()or equivalent piezo support
- Clone this repository
- Assemble the hardware wiring the correct Pin setup as listed on file: climbingWallPusher.ino
- Flash the firmware to the ESP32 using Arduino IDE or your preferred tool
- Mount the device in the ceiling box and connect it to the light circuit or any other power source.
When the lights are turned on, the countdown begins. Press the top button to stop the timer and celebrate!
MIT License
⚠️ This is a personal DIY project. Use at your own risk. Always follow safety precautions when working with electrical circuits.
BEGIN OPENSSH PRIVATE KEY