Skip to content

dabalroman/pomodoro-timer-esp32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pomodoro Freewire Timer

Physical Pomodoro timer built as an art piece.
No apps, no sounds, no distractions.

Overview

Pomodoro Freewire Timer is a small desktop device that helps manage focus time using Pomodoro technique principles.

Main features:

  • keep track of Pomodoros
  • set custom duration for each timer
  • unique freewire design
  • truly-black OLED display
  • capacitive touch controls
  • smooth LED animations and visual alarm
  • Wi-Fi OTA update and wireless logging

Motivation

I wanted a physical timer, a Pomodoro tracker that doesn’t need a phone or an app. Something that just sits on the desk. While looking for inspiration, I found the freewire technique — a way of building circuits where wires form both the structure and the connection paths. This project became a mix of design experiments and tool I actually use every day.

Design & Concept

The hardware came first. I drew the schematic in KiCad, then modeled everything in Fusion360 to plan each wire route in 3D.
In freewire builds, every wire matter — it carries signal and also keeps the structure together. The frame acts as both enclosure and sculpture.

Hardware

Component Description
MCU Wemos S2 Mini (ESP32-S2)
Display 0.96" OLED (SSD1306, 128x64)
LEDs 2× WS2812B ARGB
Input Capacitive touch pads (washers)
Structure Copper freewire frame built using 1 mm and 3 mm wire gauge
Power USB 5V (onboard 3.3V regulator)

The device has no enclosure. It runs 24/7 powered by USB.

Software

Written in C++ with PlatformIO and Arduino framework.
The code is modular, based on timers and interrupts, no blocking loops.

Highlights:

  • event-driven architecture
  • OTA firmware updates
  • Wi-Fi logging for debugging
  • reusable modules shared with other projects

Interaction & UI

The interface is simple:

  • touch the pads to set or start timer
  • hold to pause or resume
  • LEDs pulse when the time runs out
  • set custom pomodoro duration in settings
  • set custom daily pomodoro target in settings

Future Work

  • NTP sync to show a clock when idle
  • daily and session statistics
  • presets for timer values

About

Pomodoro timer build using esp32 and OLED screen featuring freewire case!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors