Build a Pomodoro Timer with ESP32: My DIY Dashboard

Introduction: Turning an Old Tablet into a Focus Powerhouse

As a civil engineer helping Non-Resident Nepalis (NRNs) build their dream homes in Nepal, I know how chaotic remote project management can get. Between reviewing architectural plans, coordinating with contractors, and tracking budgets across time zones, staying focused is a constant struggle. That’s why I turned to the Pomodoro Technique—and took it a step further by building my own hardware-software dashboard using an ESP32 microcontroller. In this post, I’ll walk you through how I created a personalized Pomodoro timer with an old tablet, an ESP32, and a few open-source tools. Whether you’re an NRN managing a construction project or a productivity geek, this build might just change the way you work.

Why I Built a Pomodoro Dashboard with ESP32

I’ve always been fascinated by microcontrollers, and the ESP32’s Wi-Fi connectivity makes it perfect for IoT projects. Recently, I found an old Android tablet lying around—too slow to run modern apps, but with a decent screen. Instead of trashing it, I decided to repurpose it as a dedicated productivity dashboard. Paired with an ESP32 and a small OLED screen, the tablet now serves as the brains of a custom Pomodoro timer that tracks my focus sessions, shows real-time stats, and even pulls in data from my social media accounts. The whole system is connected to Supabase, a backend-as-a-service, so I can store session history and access it from anywhere.

The Hardware and Software Setup

You only need a few components to build something similar:

  • An ESP32 development board (like NodeMCU-32S).
  • A 0.96ā€ OLED display (I2C).
  • An old Android tablet (mine is over 5 years old and unbearably slow for anything else).
  • Jumper wires and a USB power source.

On the software side, I used:

  • Arduino IDE to program the ESP32.
  • Supabase for database and real-time APIs.
  • A simple web app hosted on the tablet (using HTML/CSS/JS) that fetches data from Supabase and displays the dashboard.
  • The tablet also runs a lightweight browser in full-screen mode, pointed to the web app.

The ESP32 acts as a timer controller: it sends session start/stop events to Supabase, and the tablet displays the live status. Because the tablet is only used for this dashboard, its sluggishness doesn’t matter.

Features of My Pomodoro Timer

Here’s what the dashboard can do right now:

Focus Session Tracking

I can set a custom focus duration (default 25 minutes) and start a session. The ESP32 triggers the timer, and the tablet shows a countdown. When the session ends, it logs the entry to Supabase and resets for a break.

Session History & Graphs

The dashboard displays a session history with dates and durations, plus a graph showing my productive periods over time. I also built a cute ā€œsproutā€ that grows the longer I focus—a visual motivator.

Goal Setting & Kanban Board

I’ve integrated a simple task board where I can list weekly goals, move tasks between ā€œTo Do,ā€ ā€œIn Progress,ā€ and ā€œDone.ā€ It helps me stay aligned with my construction project milestones.

Attendance Checking

I can check in and check out to track my work start and end times, useful for seeing how consistent I am.

Live API Integrations

The tablet fetches real-time follower counts from TikTok and YouTube using their APIs. It’s a fun feature that reminds me to take social media breaks only after I’ve earned them by completing sessions.

Live Clock & Weather

A digital clock and current weather widget (from OpenWeather) keep me informed without leaving the dashboard.

How This Dashboard Helps NRN Manage Their Nepal Home Projects

Now, you might wonder how a Pomodoro timer relates to building a house in Nepal. As an NRN, you’re likely juggling a remote job, family life, and a construction site thousands of miles away. Here’s how this tool can make you more effective:

Breaking Down Construction Tasks

Designing a house involves countless small tasks: reviewing floor plans, comparing material costs, scheduling video calls with your contractor in Kathmandu. Using a Pomodoro approach forces you to tackle each task in focused bursts, reducing the overwhelm.

Time Zone Management

If you’re in the US or Australia, Nepal’s time zone is roughly 10–12 hours ahead. I schedule my check-in calls during my early morning Pomodoro sessions, which overlap with Nepal’s evening. The dashboard’s clock and weather widget help me plan appropriate discussion topics (like asking for photos of slab casting before the monsoon hits).

Compliance and Documentation

Nepal’s National Building Code (NBC) has specific requirements for structural design, earthquake resistance, and permits. Reviewing compliance documents requires deep concentration—perfect for a distraction-free Pomodoro block. I even use the kanban board to track which NBC documents I’ve verified.

Budget Tracking with Remittance Fluctuations

Sending money home for construction phases is a recurring task. I dedicate a session to checking exchange rates and coordinating transfers. It prevents last-minute scrambles.

Monsoon Planning

Nepal’s monsoon (June–September) can halt outdoor work. I use sessions to review weather forecasts and adjust the project timeline proactively.

This dashboard keeps me accountable and ensures I’m not just busy, but productive on what truly moves the construction forward.

Step-by-Step Guide to Build Your Own ESP32 Pomodoro Timer

Interested in making your own? Here’s a simplified roadmap. (Full code is available on my GitHub—link in the video description.)

  1. Set Up Supabase: Create a Supabase project and set up a table for sessions with columns: id, start_time, end_time, duration, date. You’ll also need tables for goals and attendance.
  2. Program the ESP32: Write Arduino code to connect to Wi-Fi, read the push button (to start/stop timer), and send POST requests to Supabase’s REST API when a session begins/ends. Display the remaining time on the OLED screen.
  3. Build the Web Dashboard: Create an HTML page with JavaScript that authenticates with Supabase (using Supabase JS client), subscribes to real-time changes, and renders the Pomodoro timer, graphs, and other widgets. Host it locally on the tablet or a simple server.
  4. Integrate APIs: For TikTok and YouTube, register developer apps and obtain API keys. Use fetch() calls to get follower counts and display them in the dashboard.
  5. Connect the Tablet: Point the tablet’s browser to the web dashboard URL and enable full-screen mode. You can even 3D-print a stand to keep everything tidy.

Pro tip: If your tablet is extremely slow like mine, consider using a lightweight JavaScript library like Alpine.js or just vanilla JS to keep the UI responsive.

Lessons Learned and Customization Ideas

This project took me a weekend to build, but I’ve been tweaking it for weeks. A few takeaways:

  • Supabase’s real-time subscriptions are a game-changer—the tablet updates immediately when the ESP32 signals a timer event.
  • The OLED on the ESP32 is great for a quick glance, but the tablet’s larger screen is what makes the dashboard truly useful.
  • Next, I plan to add a ā€œconstruction weather alertā€ feature that pulls Monsoon warnings and highlights risky days on the calendar.

You could adapt this for other purposes: a coding Pomodoro tracker with GitHub integration, a study timer for students, or even a dedicated home-automation control panel.

Frequently Asked Questions

What is the Pomodoro Technique?

The Pomodoro Technique is a time management method where you work in focused intervals (typically 25 minutes) followed by short breaks. It helps break down large tasks and maintain concentration.

Do I need programming experience to build this?

Some basic programming knowledge helps, especially in Arduino and JavaScript. However, I’ve shared all my code and you can follow the steps to replicate it without deep expertise.

Can I use a different microcontroller?

Yes! Any Wi-Fi-capable microcontroller like the ESP8266 or Raspberry Pi Pico W would work. The core idea is having a wireless timer that communicates with a backend.

How do you keep the old tablet running all day?

I keep it plugged in via USB and disable battery optimization for the browser. Also, running only a single lightweight web page prevents overheating or crashes.

Is this dashboard only for tracking construction work?

Not at all. I built it for my construction project management, but it’s flexible enough for any focused work—coding, studying, writing, or even managing other remote projects.

Ready to Build Your Own?

I hope this post inspired you to think about your productivity in a new way. If you’re an NRN managing a home construction project, staying focused is critical—and a little tech tinkering can go a long way. Check out the full video on my YouTube channel to see the dashboard in action, and subscribe for more geeky builds and engineering insights. And if you need help planning your Nepal home, explore the other articles on this site.


Leave a Comment

Your email address will not be published. Required fields are marked *