Search models, users, collections, and posts

Retro Smart Digital E-ink Alarm Clock

Print Profile(1)

All
A1 mini
P1P
H2D Pro
P2S
X1
X1E
X2D
X1 Carbon
A2L
H2C
H2S
A1
H2D
P1S

0.2mm layer, 2 walls, 15% infill
0.2mm layer, 2 walls, 15% infill
Designer
8.2 h
3 plates

Open in Bambu Studio
Boost
0
0
0
0
0
0
Released 

Bill of Materials

List other parts
  • Jumper wires x 1:
  • USB-C 5V power supply x 1:
  • B20K potentiometer x 1: https://www.aliexpress.com/item/1005005723920782.html
  • Standard 5mm LED + 220Ω resistor x 1:
  • Passive piezo buzzer (12mm) x 1: https://www.aliexpress.com/item/1005010400627387.html
  • 12x12mm tactile buttons x 2: https://www.aliexpress.com/item/1005003727192340.html
  • WS2812B LED strip, 10 LEDs x 1:
  • WeAct Studio 3.7" e-paper B&W (GDEY037T03) x 1: https://www.aliexpress.com/item/1005009712001279.html
  • ESP32-WROOM-32 dev board (38-pin) x 1: https://www.aliexpress.com/item/1005006490116433.html

Description

Retro Desk Clock

A retro-inspired desk clock. The clock combines a 3.7" e-paper display, addressable RGB LED strip, WiFi-synced time, live weather forecast, and a fully functional alarm system, all driven by an ESP32 microcontroller.

  • E-paper display, 3.7" black and white WeAct Studio panel (GDEY037T03). Hour/minute layout on the left, 4-day weather forecast on the right.
  • NTP time sync, connects to WiFi on startup and syncs time automatically via pool.ntp.org. No RTC module needed
  • 4-day weather forecast, fetched from the Open-Meteo API. Shows day, max temperature, and weather condition. Refreshes every hour
  • WS2812B LED strip, 10 addressable LEDs. Toggle on/off with the light button
  • Alarm system, set alarm hour via potentiometer dial (fully left = off, right = hours 1–12). Toggle AM/PM with the snooze button while the alarm popup is visible. Small indicator LED lights up when alarm is active
  • Snooze/dismiss button, press once to dismiss the alarm, or press during alarm setup to toggle AM/PM

Hardware:

ComponentNotes
ESP32-WROOM-32 dev board (38-pin) (Mine: https://www.aliexpress.com/item/1005006490116433.html)Get one with a screw terminal breakout board; makes wiring much easier
WeAct Studio 3.7" e-paper B&W (GDEY037T03)
(https://www.aliexpress.com/item/1005009712001279.html)
Specifically the black/white version
WS2812B LED strip, 10 LEDsAny density works
2x 12x12mm tactile buttons
(https://www.aliexpress.com/item/1005003727192340.html)
 
Passive piezo buzzer (12mm)
(https://www.aliexpress.com/item/1005010400627387.html)
Must be passive, not active
Standard 5mm LED + 220Ω resistorFor alarm indicator
B20K potentiometer
(https://www.aliexpress.com/item/1005005723920782.html)
For alarm dial
USB-C 5V power supply 
Jumper wires 

Feel free to use any other components; those are just the ones I used.

Wiring

E-paper Display

Display PinESP32 Pin
VCC3V3
GNDGND
DIND23
CLKD18
CSD5
DCD26
RST (RES)D27
BUSYD4

LED Strip

PinESP32
VCCVIN (5V)
GNDGND
DIND13

Other Components

ComponentESP32 PinNotes
Light buttonD14 + GNDDiagonal pins
Snooze buttonD33 + GNDDiagonal pins
Buzzer +D25Long leg
Buzzer −GNDShort leg
Alarm LED +D32Via 220Ω resistor
Alarm LED −GND 
Pot left pinGND 
Pot middle pinD34Analog input
Pot right pin3V3 

Software Setup

Code: https://github.com/TaminoDesign/clock01

Libraries (install via Arduino IDE Library Manager)

  • GxEPD2 by ZinggJM
  • Adafruit GFX (installed automatically as GxEPD2 dependency)
  • FastLED by FastLED
  • ArduinoJson by Benoit Blanchon

Board Setup

  1. Add to Arduino IDE > Preferences > Additional Board Manager URLs: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  2. Install esp32 by Espressif Systems via Tools > Boards Manager
  3. Select ESP32 Dev Module
  4. Set Partition Scheme to Huge APP (3MB No OTA/1MB SPIFFS)

Before Uploading

Edit the top of index.ino:

 

cpp

const char* ssid     = "YOUR_WIFI_NAME"; const char* password = "YOUR_WIFI_PASSWORD";

Update coordinates in weatherURL for your location:

 

cpp

“?latitude=-36.4&longitude=174.7”

 

 

Let me know if you have any questions

Boost Me (for free)

Comment & Rating (0)

(0/1000)

License

This user content is licensed under a Standard Digital File License.

You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.