

Clocklet board
A fancy clock implementation for ESP32
- Size
- 56 × 40 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 36
- Nets
- 71
- Pads
- 272
- Tracks, vias
- 426, 61
- Pours
- 5
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 4 May 2017
- Updated
- 9 Sep 2026
Overview
Clocklet board is an open-source printed circuit board by samscam, from the samscam/clocklet repository on GitHub, published under the MIT licence. It is a 4-layer board of 56 × 40 mm with 36 parts on 71 nets, routed with 426 tracks and 61 vias.
It is built around the ESP32-WROVER, SN74AHCT125RGY and CP2102N-A02-GQFN24, with the AP2112K-3.3, DS3231MZ+ and BS-7 among its other parts. Its parts include 9 resistors, 8 capacitors, 5 ICs, 2 connectors and 1 diode. It belongs with the lEDs and displays boards and the ESP32 boards of this library.
Main components
7ESP32-WROVER
-- WiFi Modules ROHSEspressif SystemsWiFi ModulesSN74AHCT125RGY
VQFN-14-EP(3.5x3.5)-40℃~+85℃ 1 20uA 4 4.5V~5.5V 7.5ns@5V,50pF 74AHCT 8mA 8mA Tri-State Unidirectional VQFN-14-EP(3.5x3.5) Buffers, Drivers, Receivers, Transceivers ROHSTexas InstrumentsBuffers, Drivers, Receivers, TransceiversCP2102N-A02-GQFN24
QFN-24-EP(4x4)-40℃~+85℃@(Ta) 1.3uA 13.7mA 3V~3.6V USB 2.0 USB to UART QFN-24-EP(4x4) USB Converters ROHSSilicon LabsUSB ConvertersAP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedDS3231MZ+
SOIC-8-40℃~+85℃ 2.3V~5.5V I2C Temperature compensation、Backup power management and battery charging、Alarm function、Periodic interrupt output SOIC-8 Real Time Clocks ROHSMaxim Integrated (Analog Devices)Real Time ClocksBS-7
SMD-55℃~+105℃ SMD Button And Strip Battery Connector ROHSMPDButton And Strip Battery ConnectorTPD2E001DRLR
SOT-553-5-40℃~+85℃ 1.5pF 11V 1nA 2 5.5V IEC 61000-4-2 TVS Unidirectional SOT-553-5 ESD and Surge Protection (TVS/ESD) ROHSTexas InstrumentsESD And Surge Protection (TVS/ESD)
README
README.mdClocklet
See also clocklet.co.uk
Overview
This project is the firmware and client apps for clocks made by @samscam including:
Clocklet
- Custom 17x5 SK9822 LED Matrix display
- Timekeeping: ESP32 (DS3231 as backup)
- Synchronisation: NTP
- Microcontroller: ESP32 Wrover on custom "Clockbrain" board
- Weather source: OpenWeatherMap
Old Clocklet / Clocky
Earlier prototypes used RGBDigit (WS2812B) 7-segment display and Adafruit Feather Huzzah32.
Mrs Clockety
- Display: Waveshare epaper 2.9inch https://www.waveshare.com/2.9inch-e-paper-module.htm
- Timekeeping: GPS
- Synchronisation: GPS
- Power management to run from a lipo battery
- Microcontroller: Adafruit Feather Huzzah32
It's all a work in progress.
Main Features
- Time
- Weather
- Utterances
- Interesing displays and animation
- Ambient light sensing
- Power management (Mrs Clockety)
Firmware
To build the the firmware:
- Clone the repo including submodules
- Install platformio and your editor of choice - I'm using vscode.
- Open up the firmware from the
Embeddeddirectory - Pick the correct environment for the device you want to build for (by setting it in the first line of
platformio.inior by invoking tasks for the specific environment in the editor/cli) this will probably beclockbrain - Plug the device in to your machine over USB
- Check that the device is available to your system... on MacOS it's normally
/dev/cu.SLAB_USBtoUART - Build and upload (platformio should download the dependencies if it hasn't done so already)
- Note that API keys are encrypted with gitcrypt
Seeing the logs (without installing anything much)
You can connect to the clocklet's serial port from a computer with various tools (like screen, miniterm or putty) and see the Clocklet logging.
The important thing to note is that the baud rate of the serial connection is 115200.
The Clocklet serial port on Mac and Linux will be available as something like /dev/cu.SLAB_USBtoUART - you can do an ls /dev/cu.* before and after plugging it in to eliminate possibilities.
Then open it up in your tool of choice:
screen /dev/cu.SLAB_USBtoUART 115200
miniterm.py /dev/cu.SLAB_USBtoUART 115200
Manually updating firmware (with minimal installing)
- Install
esptool
On MacOS this can be done with homebrew: brew install esptool
On Linuxes it's probably available from apt install esptool or whatever package manager you're using.
-
Download the bin file of the firmware image you want from the releases section on here.
-
Plug in the Clocklet and figure out which port it is on - probably something like
/dev/cu.SLAB_USBtoUART(that's what we'll use here but replace with whatever it is on your system) -
Erase the flash (including settings)
esptool.py -b 115200 -p /dev/cu.SLAB_USBtoUART erase_region 0x9000 0xFF7000 -
Flash the new firmware image:
esptool.py -b 115200 -p /dev/cu.SLAB_USBtoUART write_flash 0x10000 clockbrain.bin
While we are here you can also use esptool to just erase settings (equivalent of doing a factory reset from the app):
esptool.py -b 115200 -p /dev/cu.SLAB_USBtoUART erase_region 0x9000 0x5000
Client App (iOS)
Requires Xcode 16 To build, open via the workspace rather than the Xcode Project.
Contains an experimental library for gluing CoreBluetooth to Combine and SwiftUI via PropertyWrappers called "CombineBluetooth". This may get spun out into a separate project in the future - but for ease of development right now it's in here.
To follow
- Android client
- Enclosure design (3d printable)
- Hardware design
License
This is distributed under the MIT License
MIT License
Copyright (c) 2017-2020 Sam Easterby-Smith
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.Parts
36| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | Fiducial | Fiducial:Fiducial_0.5mm_Mask1mm | FID1, FID2, FID3, FID4 |
| 3 | 0.1µF | Capacitor_SMD:C_0603_1608Metric | C6, C7, C8 |
| 3 | 1.0µF | Capacitor_SMD:C_0603_1608Metric | C2, C3, C5 |
| 3 | MountingHole | MountingHole:MountingHole_2.5mm_Pad_Via | H2, H3, H4 |
| 2 | 100R | Resistor_SMD:R_0603_1608Metric | R8, R9 |
| 2 | 10K | Resistor_SMD:R_0603_1608Metric | R5, R7 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 1 | 10µF | Capacitor_SMD:C_0603_1608Metric | C1 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | 22.1k | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 301pF | Capacitor_SMD:C_0603_1608Metric | C4 |
| 1 | 47.5k | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U5 |
| 1 | BS-7 | Battery:BatteryHolder_Keystone_3000_1x12mm | BAT1 |
| 1 | CP2102N-A02-GQFN24 | Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm_ThermalVias | U3 |
| 1 | Conn_01x16 | Connector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_Vertical | J1 |
| 1 | DS3231MZ+ | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |
| 1 | ESP32-WROVER | _Custom:ESP32-WROVER-B-Recs | U1 |
| 1 | MUN5214DW1T1G | Package_TO_SOT_SMD:SOT-363_SC-70-6 | Q1 |
| 1 | MountingHole | MountingHole:MountingHole_2.7mm_M2.5_Pad_Via | H1 |
| 1 | SN74AHCT125RGY | Package_DFN_QFN:Texas_S-PVQFN-N14_ThermalVias | U4 |
| 1 | SW_Push | Button_Switch_SMD:SW_SPST_B3U-1000P | SW1 |
| 1 | TPD2E001DRLR | digikey-footprints:SOT-553 | D1 |
| 1 | USB-C Receptacle DX07S024WJ3R400 | _Custom:USB-C_Female_Vert_DX07S024WJ3R400-Corrected | J2 |
Questions
How big is the Clocklet board PCB?
It measures 56 × 40 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Clocklet board use?
36 parts, built around the ESP32-WROVER, SN74AHCT125RGY, CP2102N-A02-GQFN24 and AP2112K-3.3. 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.
Where can I download the Clocklet board KiCad files?
From the samscam/clocklet repository on GitHub, at the commit this page was made from: the board is Electronics/v5/Clocklet-board.kicad_pcb and its schematic Electronics/v5/Clocklet-board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Clocklet board design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
More from samscam/clocklet
2- 4 layers190 × 70 mm

- 4 layers104 × 40 mm

Similar boards
- 2 layers140 × 100 mm

Plts monitoring controller
desvandi/PLTSMonitoring_Firmware-Backend
Integrated to PLTSMonitoring_PWA
152 parts - 4 layers60.2 × 60.5 mm

ESP32 FlightController
durveshpathak1989/kicad-local-agent
Free local Ollama agent for generating and validating KiCad project files
73 partsMIT - 4 layers80 × 54 mm

Poket
kaorii-ako/Poket
ESP32-S3 Bluetooth MP3 player - custom PCB + 3D-printed case, built from scratch
104 parts - 2 layers120 × 98 mm

BioAmp v1.1.0
prototipado/bioamp
BioAmp is an opensource project of a multichannel biopotential adquisition system for EEG, EMG, EOG and EOG signals.
139 parts16 - 4 layers233 × 230.5 mm

- 4 layers44.5 × 50.6 mm

- 4 layers63.2 × 70.5 mm

- 8 layers65.6 × 19.6 mm

Armory
ahmad-ih/USB-Armory
USB armory | https://inversepath.com/usbarmory Copyright (c) F-Secure Corporation
184 parts