
Speaking clock smd
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 is an open-source printed circuit board by lhm0, from the lhm0/talking_clock repository on GitHub. It is a 2-layer board of 70 × 74 mm with 24 parts on 48 nets, routed with 391 tracks and 217 vias.
It is built around the TPS63070RNM, DS3231S# and HEF4093BT, with the IRLML6401 among its other parts. Its parts include 6 resistors, 4 ICs, 4 connectors, 3 capacitors and 3 transistors. 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 |
|---|---|---|---|
| 3 | 100k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2, R3 |
| 2 | 100nF | Capacitor_THT:C_Rect_L10.0mm_W2.5mm_P7.50mm_MKS4 | C2, C3 |
| 2 | 2N7000 | Package_TO_SOT_THT:TO-92L_Inline | Q1, Q2 |
| 2 | Conn_01x03_Pin | my_footprints:3_pin_jumper | J2, J4 |
| 1 | 1M | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4 |
| 1 | 220µF, 16V | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C1 |
| 1 | 2M | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R6 |
| 1 | Conn_01x02_Pin | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J1 |
| 1 | Conn_01x02_Pin | my_footprints:2_pin | J3 |
| 1 | DS3231 | my_footprints:DS3231 | U4 |
| 1 | HEF4093B | Package_DIP:DIP-14_W7.62mm | U2 |
| 1 | IRLML6401 | Package_TO_SOT_SMD:SOT-23 | Q3 |
| 1 | LED | LED_THT:LED_D3.0mm | D1 |
| 1 | MAX98357A | my_footprints:MAX98357A_breakout | U3 |
| 1 | ON | my_footprints:OmronTaster | SW1 |
| 1 | TPS63070 | my_footprints:TPS63070_breakout | U1 |
| 1 | Waveshare_ESP32-S3_Pico | my_footprints:Waveshare_ESP32_S3_pico | A1 |
| 1 | config | my_footprints:OmronTaster | SW2 |
It measures 70 × 74 mm and has 2 copper layers, 1.6 mm thick.
24 parts, built around the TPS63070RNM, DS3231S#, HEF4093BT and IRLML6401. 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/breakout_v1/electronics/speaking_clock.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.

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



formulaslug/fs-3-schematics
Electrical Design Repository for fs-3 schematics and PCBs





fordp2002/music2xxx
A clone of the Hybrid Music2000 Midi interface for the Acorn BBC Microcomputer