
Speaking clock
lhm0/talking_clock
A talking clock for visually impaired users. ESP32 controlled, fully offline, long battery life.

A talking clock for visually impaired users. ESP32 controlled, fully offline, long battery life.
Speaking clock smd is an open-source printed circuit board by lhm0, from the lhm0/talking_clock repository on GitHub. It is a 4-layer board of 60 × 79 mm with 89 parts on 100 nets, routed with 963 tracks and 294 vias.
It is built around the ESP32-S3, TPS63070RNMR and W25Q128JVSIQ, with the DS3231MZ/V+, HEF4093BT and USBLC6-2SC6 among its other parts. Its parts include 31 capacitors, 28 resistors, 12 ICs, 4 connectors and 3 diodes. It belongs with the lEDs and displays boards and the ESP32 boards of this library.
This repository contains an open-source talking clock designed for visually impaired and elderly users.

The device announces the current time at the press of a button.
If the button is pressed a second time within a short time window, it also announces the date.
📢 Native English speaker wanted!
Help improve the English voice output of this project → see below.
This project exists in two different hardware implementations:
The original design based on breakout modules mounted on a carrier PCB.
This version is well suited for prototyping and easy assembly.
👉 Build instructions:
building_instructions_breakout_v1.md
A newer design with all electronics integrated on a single custom PCB.
This version is more compact, robust, and optimized for practical use.
👉 Build instructions:
building_instructions_integrated_v2.md
Both versions share the same core functionality:
The system is based on an ESP32-S3 microcontroller, uses a DS3231 real-time clock for accurate timekeeping, and plays pre-generated audio files via an I2S amplifier and speaker.
The firmware was developed using Visual Studio Code [blocked] together with the PlatformIO [blocked] extension.
When uploading the firmware to the device, make sure to upload:
Both steps are required for correct operation.
The speaking clock uses pre-recorded audio files to generate time and date announcements.
According to the ttsMP3 FAQ, these generated audio files may be used in both personal and commercial projects without restriction: https://ttsmp3.com/faq
The repository contains only the generated audio files, not the TTS software or voices themselves.
These audio files can therefore be:
Note: If you use this project, please verify the current licensing terms of ttsMP3.com to ensure ongoing compliance.
To improve the quality of the English time announcements, I am looking for a native English speaker who would be willing to record the audio prompts for this project.
The current English audio files are computer-generated and sound less natural than the manually recorded German version.
🎤 What is needed:
📄 Requirements:
🙏 This would significantly improve the usability and user experience of the English version of the talking clock.
If you are interested in contributing, please open an issue or contact me via GitHub.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 100nF | Capacitor_SMD:C_0402_1005Metric | C1, C2, C8, C10, C11, C13, C16, C19, C24, C27, C29, C31 |
| 7 | 10k | Resistor_SMD:R_0402_1005Metric | R10, R11, R12, R13, R17, R18, R19 |
| 6 | 100k | Resistor_SMD:R_0402_1005Metric | R3, R20, R21, R22, R23, R28 |
| 5 | 0 | Resistor_SMD:R_0402_1005Metric | R4, R5, R6, R7, R8 |
| 4 | 10µF | Capacitor_SMD:C_0603_1608Metric | C3, C18, C22, C23 |
| 4 | 1µF | Capacitor_SMD:C_0402_1005Metric | C9, C14, C15, C17 |
| 3 | 10µF | Capacitor_SMD:C_0805_2012Metric | C20, C21, C30 |
| 3 | ~ | my_footprints:JLC_tooling_hole | U20, U21, U22 |
| 2 | 10pF | Capacitor_SMD:C_0402_1005Metric | C4, C6 |
| 2 | 22µF | Capacitor_SMD:C_0805_2012Metric | C25, C26 |
| 2 | 2n2 | Inductor_SMD:L_0402_1005Metric | L1, L2 |
| 2 | 3p3 | Capacitor_SMD:C_0402_1005Metric | C5, C7 |
| 2 | 4k7 | Resistor_SMD:R_0402_1005Metric | R15, R16 |
| 2 | 5k1 | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q2, Q3 |
| 2 | SS24 | Diode_SMD:D_SMA | D1, D2 |
| 1 | 10nF | Capacitor_SMD:C_0402_1005Metric | C12 |
| 1 | 150k | Capacitor_SMD:C_0603_1608Metric | R25 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R26 |
| 1 | 1nF | Capacitor_SMD:C_0603_1608Metric | C28 |
| 1 | 2.2µH | Inductor_SMD:L_Bourns_SRP7028A_7.3x6.6mm | L3 |
| 1 | 20k | Resistor_SMD:R_0402_1005Metric | R14 |
| 1 | 22 | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | 2k2 | Capacitor_SMD:C_0402_1005Metric | R27 |
| 1 | 40 MHz | my_footprints:Crystal_SMD_4Pin_3.2x2.5mm | Y1 |
| 1 | 470k | Capacitor_SMD:C_0603_1608Metric | R24 |
| 1 | CR2032 | my_footprints:Keytone_CR2032_holder | BT1 |
| 1 | Conn_01x02_Pin | my_footprints:2_pin | J4 |
| 1 | Conn_01x02_Pin | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J2 |
| 1 | Conn_01x03_Pin | my_footprints:3_pin_jumper | J3 |
| 1 | DS3231MZ | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U8 |
| 1 | ESP32-S3 | my_footprints:IC_ESP32-S3 | U4 |
| 1 | HEF4093B | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U6 |
| 1 | IRLML6401 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | MAX98357A | Package_DFN_QFN:TQFN-16-1EP_3x3mm_P0.5mm_EP1.23x1.23mm | U9 |
| 1 | TPS63070RNMR | my_footprints:VREG_TPS63070RNMR | U7 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U2 |
| 1 | USB_C_Receptacle_USB2.0 | my_footprints:USB_C_Receptacle | J1 |
| 1 | W25Q128JVS | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U1 |
| 1 | WiFi antenna | my_footprints:PCB_antenna | U3 |
| 1 | config | my_footprints:OmronTaster | SW3 |
| 1 | reset | my_footprints:C720477 | SW1 |
| 1 | volume_knob | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW2 |
| 1 | ~ | my_footprints:1pin | U5 |

lhm0/talking_clock
A talking clock for visually impaired users. ESP32 controlled, fully offline, long battery life.

cfdev/mSolarWeather
This project use the SparkFun weather meter kit and other sensors

MrT-Stephens/Watchy-MrT-Stephens
This is my version of the Watchy by sqfmi and the website is "https://watchy.sqfmi.com".


laenzlinger/granit
Custom carrier board for Raspberry Pi CM4/CM5 — minimal offsite backup appliance with JMS578 USB-to-SATA bridge



ProccyBoi/kiku
kiku is an open-source portable audio player built around an STM32H523 microcontroller. The project combines Bluetooth audio, local microSD playback, FM radio, a colour display, headphone and speaker outputs, battery…
It measures 60 × 79 mm and has 4 copper layers, 1.61 mm thick.
89 parts, built around the ESP32-S3, TPS63070RNMR, W25Q128JVSIQ and DS3231MZ/V+. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the lhm0/talking_clock repository on GitHub, at the commit this page was made from: the board is hardware/integrated_v2/electronics/speaking_clock_smd.kicad_pcb and its schematic hardware/breakout_v1/electronics/speaking_clock.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask lhm0 before reusing the design.