ESP32Cube Logo
Sign In
Pomodoro Timer Based on ESP32 with E-Ink Display

Pomodoro Timer Based on ESP32 with E-Ink Display

esp32cube
Mar 29, 2026
Project
245 views

This is a Pomodoro timer based on ESP32 with a 4.26-inch black-and-white E-Ink display, featuring a rotary encoder for input. The timer helps manage work and break intervals efficiently.

LEDAIWebDisplay

Pomodoro Timer Based on ESP32

The Pomodoro Technique is an effective time management method that uses intervals of work and rest to improve focus and productivity. This timer is based on ESP32, featuring a 4.26-inch black-and-white E-Ink display and an input via a rotary encoder.

a1ddfacc2c19a7ab211d49fe3782a146_MD5.webp

GitHub Repository:

Pomodoro Timer GitHub

This project is mostly open-source software, and the hardware is modular, requiring simple wiring.

Main Components:

  • ESP32 (AZDelivery ESP32 NodeMCU, based on the ESP32-WROOM-32; an older model that might have been discontinued)
  • Waveshare 4.26-inch E-Ink Display with a resolution of 800x480 (The choice of black-and-white E-Ink is due to its 0.3s refresh speed and static display, which doesn't interfere with your focus while working)
  • KY-040 Rotary Encoder with buttons
  • WS2812 RGB LED (can be replaced with a simple RGB LED)
  • USB-C Interface (Type-C Female)
  • 3D Printed Enclosure
  • Some resistors and 0.1uF capacitors

Pin Connections:

KY-040 Rotary Encoder:

PinESP32 Pin
CLK32
DT21
SW14

4.26-inch E-Ink Display:

PinESP32 Pin
BUSY4
RST16
DC17
CS5
CLK18
DIN23

LED (WS2812):

PinESP32 Pin
DIN25

Software:

The software is written in C++ using the Arduino framework, and the project is managed with PlatformIO. It relies heavily on the GxEPD2 library. For more details, please refer to the GitHub repository.

3D Printed Enclosure:

Pasted image 20250624194515.jpeg

How It Works:

Upon starting the device, you can adjust settings or enter the preset selection mode. From there, you can choose from three predefined timer modes.

Pasted image 20250624194545.jpeg

The timer will then start and notify you when the time is up (by flashing the LED and showing a message on the screen). You can continue working (though not recommended), then start your break.

Pasted image 20250624194612.jpeg

During the breaks, you can check some statistics. After a few iterations (default is 4), your break time will be longer, giving you time to recover.

Pasted image 20250624194606.jpeg

Comments

0

Please sign in to post a comment.

No comments yet.

Related Articles

Build Your Own Drone from Scratch with ESP32

Project·25 views

ESP32-P4-EYE A Development Kit for AI Vision Applications

Project·257 views

TRMNL A Wireless E-Ink Display Powered by ESP32-C3

Project·296 views

SY8303 Synchronous Step Down Regulator DCDC Circuit Design

Project·930 views

SFP56 Testing Board Design Note

Project·803 views
View more in this category→
Copyright © 2026 ESP32Cube. All rights reserved.•1.0.1•Terms·Privacy
Source codeTwitterDiscord