Skip to the content
2 layers62 × 99 mmRetro Clock, the printed circuit board in 3D

Modifications: 1. Changed TFT display to an SPI version which has a much improved Touch interface. 2. Added SPIFFS to support files for data and images. This freed up memory and added flexability. 3.

Size
62 × 99 mm
Copper layers
2
Thickness
1.6 mm
Parts
39
Nets
46
Pads
133
Tracks, vias
192, 18
Pours
5
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
15 Nov 2022
Updated
23 Feb 2023

Overview

Retro Clock is an open-source printed circuit board by g2maurer, from the g2maurer/Retro_Clock repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 62 × 99 mm with 39 parts on 46 nets, routed with 192 tracks and 18 vias.

It is built around the LM386, DS3231MZ+ and 1N4148W. Its parts include 12 resistors, 8 capacitors, 4 connectors, 3 ICs and 1 diode. It belongs with the lEDs and displays and retro computing and games boards of this library.

Main components

3

README

README.md

Retro_Clock

This is a highly modified version of TechKiwiGadgets clock found on

  1. Instructables https://www.instructables.com/ESP32-Pacman-Clock/
  2. Makerbot Thingiverse (ESP32 Pacman Clock) https://www.thingiverse.com/thing:5136672

Modifications:

  1. Changed TFT display to an SPI version which has a much improved Touch interface.
  2. Added SPIFFS to support files for data and images. This freed up memory and added flexability.
  3. Added support for optional RTC (real time clock IC). Improves time keeping accuracy.
  4. Added support for LDR (light dependent resistor) so that display is dimmed at night.
  5. Added audio amplifier (LM386) and volume control via touch screen.
  6. Redesigned user interface (Touch menu) to support added features.
  7. Made many changes to firmware to improve speed and readability.
  8. Designed PCB to support above mentioned changes.
  9. Redesigned 3D printed parts to support hardware changes.

TFT_eSPI library:

  1. The TFT_eSPI library requires it be changed to support each particular build (unusal but that's way way it works).
  2. The file User_Setup_Select.h specifies which setup file in the User_Setups directory is to be used.
  3. Added to the User_Setups directory is the file Setup_Pacman_Clock.h which contains the specifies the configuration and features (Touch) used by this project.
  4. Move the file "Setup_Pacman_Clock.h" into directory ...Arduino/libraries/TFT_eSPI/User_Setups
  5. Move the file "User_Setup_Select.h" into the directory ...Arduino/libraries/TFT_eSPI (replaces the existing User_Setup_Select.h file).

Tools:

  1. Arduino IDE 1.8.19, Board: DOIT ESP32 DEVKIT V1
  2. Initialize SPIFFS using Arduino IDE "Tools/ESP32 Sketch Data Upload" (which will initializee SPIFFS and upload all the files from the Data directory).
  3. Creality Slicer, PLA, 0.2mm, no supports.

Additional Notes:

  1. Arduino Sketch (IDE) Version 1.8.19

  2. Board Manager -> esp32 by Espressif Systems Version 1.0.6

  3. Libraries used:

    text
    TFT_eSPI at version 2.5.0
    RTClib at version 2.1.1
    Wire at version 1.0.1
    SPIFFS at version 1.0
    FS at version 1.0
    XT_DAC_Audio
    Time at version 1.6.1
    Adafruit_BusIO at version 1.14.1
  4. TFT_eSPI setup file contains (see TFT_eSPI folder in Arduino/libraries):

    text
    #define USER_SETUP_ID 900
    #define ILI9341_DRIVER
    #define TFT_MISO	19
    #define TFT_MOSI	23
    #define TFT_SCLK	18
    #define TFT_CS		15
    #define TFT_DC		4
    #define TFT_RST		2
    
    #define TOUCH_CS	5		// Required to enable Touch, getTouch()
    
    #define LOAD_GLCD
    #define LOAD_FONT2
    #define LOAD_FONT4
    #define LOAD FONT6
    #define LOAD_FONT7
    #define LOAD_FONT8
    #define LOAD_GFXFF
    #define SMOOTH_FONT
    
    #define SPI_FREQUENCY 27000000					// 27 MHz
    #define SPI_READ_FREQUENCY 20000000				// 20 MHz
    #define SPI_TOUCH_FREQUENCY 2500000				// 2.5 MHz

Parts

39
QtyValueFootprintReferences
8MountingHoleMountingHole:MountingHole_2.7mm_M2.5_DIN965H1, H2, H3, H4, H5, H6, H7, H8
410kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4, R7, R8, R10
34.7kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6, R9, R11
2100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C8
21uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C4
10Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2
110Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5
11000uF 16VCapacitor_THT:CP_Radial_Tantal_D8.0mm_P2.50mmC3
110uFCapacitor_THT:CP_Radial_Tantal_D4.5mm_P5.00mmC5
11N4148WDiode_SMD:D_SOD-123D1
11kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3
1200Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR12
120kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1
12N7000Package_TO_SOT_THT:TO-92Q1
1470uF 16VCapacitor_THT:CP_Radial_Tantal_D8.0mm_P2.50mmC7
147nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC6
1DS3231MPackage_SO:SOIC-16W_7.5x10.3mm_P1.27mmU3
1ESP-WROOM-32SESP32-Footprints:ESP-WROOM-32SU2
1LDRConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ4
1LIR2032ESP32-footprints-Lib:BatteryHolder_Keystone_103_1x20mm_gmBT1
1LM386Package_DIP:DIP-8_W7.62mm_LongPadsU1
1PowerConnector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ2
1Recal TouchTactile-switch:FSM2JRT_gmSW1
1SpeakerConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ3
1TFTConnector_PinSocket_2.54mm:PinSocket_1x14_P2.54mm_VerticalJ1

Similar boards

  • 4 layers101.6 × 147.3 mmKarabas go, the printed circuit board in 3D

    Karabas go

    andykarpov/karabas-go-pcb

    Karabas-Go PCB

    311 parts3
  • 2 layers150 × 80 mmRpi extension, the printed circuit board in 3D

    Rpi extension

    andriy-bilynskyy/rpi-extension

    This project is a PCB design to create SDR transceiver using Raspberry Pi and Radioberry boards. Simple connection of boards seems incomplete:

    97 partsMIT
  • 4 layers79.9 × 84.7 mmUTS PCB Dewi, the printed circuit board in 3D

    UTS PCB Dewi

    astarsD130/UTS-matkul-pcb

    55 parts
  • 2 layers160 × 110 mmPrepaid meter, the printed circuit board in 3D

    Prepaid meter

    kbssrikar7/esp32-energy-meter-pcb

    KiCad PCB design for an ESP32-based single-phase energy meter (ATM90E26 metering AFE) — DRC/ERC-clean, SPICE-validated, fab-ready

    80 parts
  • 2 layers105 × 58 mmZAP-010A, the printed circuit board in 3D

    ZAP-010A

    lalithk06/Esp32_Smart_Plug

    Hardware reference design for an ESP32-S3 smart plug with mains power conversion, relay switching, RTC support, USB connectivity, and protection components.

    80 parts
  • 2 layers90.2 × 61 mmElectricity meter, the printed circuit board in 3D

    Electricity meter

    ondras12345/electricity-meter

    An STM32-based datalogger for electricity meters with pulse LED

    95 partsMIT
  • 2 layers105 × 58 mmZAP-01A, the printed circuit board in 3D

    ZAP-01A

    ponrajleo/AI-Hardware-ESP32S3-

    This project is part of a complete open-source hardware design course on YouTube:

    103 parts
  • 2 layers105 × 58 mmViRa V1.0, the printed circuit board in 3D

    ViRa V1.0

    VikramR3/ViRa_Ai_plug

    ESP32-S3 mains smart plug: HLK-5M05 isolated supply, SRD-05VDC relay, DS3231M RTC. 2-layer KiCad design.

    80 partsMIT

Questions

How big is the Retro Clock PCB?

It measures 62 × 99 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Retro Clock use?

39 parts, built around the LM386, DS3231MZ+ and 1N4148W. 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 Retro Clock KiCad files?

From the g2maurer/Retro_Clock repository on GitHub, at the commit this page was made from: the board is RetroClockPCB/RetroClock.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Retro Clock design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).