Skip to the content
2 layers53 × 30 mmSmartClock, the printed circuit board in 3D

For some reason I always need to run to the bus stop so I can catch the bus, so instead of trying to leave earlier I designed the GTS Smart Clock which can tell me when to leave so I reach it without running and waiting.

Size
53 × 30 mm
Copper layers
2
Thickness
1.6 mm
Parts
4
Nets
14
Pads
41
Tracks, vias
17, 1
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
5 Apr 2026
Updated
25 Jul 2026

Overview

SmartClock is an open-source printed circuit board by AronTheB, from the AronTheB/GTS-SmartClock repository on GitHub. It is a 2-layer board of 53 × 30 mm with 4 parts on 14 nets, routed with 17 tracks and 1 via.

Its parts include 1 IC and 1 switch. It belongs with the ESP32 and RISC-V boards of this library.

README

README.md

GTS-Smart Clock

Get To School (1920 x 1080 px)



DEMO VIDEO: https://youtu.be/dEGiFh21TzU

For some reason I always need to run to the bus stop so I can catch the bus, so instead of trying to leave earlier I designed the GTS Smart Clock which can tell me when to leave so I reach it without running and waiting.

For my first non guided Hardware project i made a Smart Clock that can tell me the time, but it also connects to the public transport API and tells me when i my next bus going and also when will i get to my destination if i leave at that moment. Other features will be added in the future

The project uses a Xiao ESP32 C3, a OLED SSD1306 Screen, and a MxCherry switch with a keycap.

The clock is pretty simple to use. It has a single button which changes the current mode to the next one. The smart clock can be built by downloading the Gerber PCB files and buying them from a PCB printing company like JLCPCB or PCBWAY. You also need to buy the correct components which are linked in the BOM section, and 3d print the case or design a new one. After everything arrives solder everything to the board and upload the firmware to the ESP32. After that just put everything in the case like in the CAD model and connect it to power via a c-type cable. You can close the case by mainly screwing it in the screwhole with a 2mm x 5mm screw, but you could make it work with saller or a bit larger one (If your 3d printer cant print the icons on the top just remove them from the model and print it without them)

You need to also set up a config.h file in the included folder. (you might have to rewrite the api part of the code if you are using a different api)

#define WIFI_SSID "WIFINAME"

#define WIFI_PASSWORD "WIFIPASSPORT"

#define BKK_API_KEY "PUBLICTRANSPORTAPIKEY"

#define BKK_STOP_ID "BUSSTOPID"

#define BUS_ROUTE_SHORT_NAME "BUSNAME"

#define BUS_DIRECTION_HEADSIGN "BUSDESTINATION"

In the pcb the pins for the oled screen are reveresd so you need to use wires to wire them in instead of a header pin

KIKAD

This is the Schematic:

image



This is the PCB layout and wiring:

image



FUSION

This is the 3D Model of the case:

Screenshot 2026-04-18 154616

Build

image

BOM

NameLinkPriceQuantityNeed To Buy?
XIAO ESP32LINK$5.131Yes
SSD1306LINK$1.001Yes
Cherry MX SwitchLINK$2.091No
Cherry MX KeycapsLINK$1.001No
3D CasePrinting LegionFree + Shipping1Yes
PCBJLCPCB≈ $5.001Yes

Total Cost: $14.22

Parts

4
QtyValueFootprintReferences
1LOGOhouse:houseG***
1OLEDOLED3:MODULE_DM-OLED096-636OL1
1SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1
1XIAO-ESP32-C3-DIPOPL:XIAO-ESP32-C3-DIPU2

Similar boards

  • 2 layers18.5 × 26 mm24g2usb rp2350zero, the printed circuit board in 3D

    24g2usb rp2350zero

    joypad-ai/joypad-os

    Universal controller firmware for building adapters, dongles, and custom controllers.

    4 parts1.7kApache-2.0
  • 2 layers116 × 33 mm966595-1 and 963356-1, the printed circuit board in 3D

    966595-1 and 963356-1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    4 parts1.2k
  • 2 layers19 × 18 mmDaughter board, the printed circuit board in 3D

    Daughter board

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    4 parts915
  • 2 layers24.8 × 24.8 mmNrf24 breakout, the printed circuit board in 3D

    Nrf24 breakout

    tardate/LittleArduinoProjects

    a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!

    4 parts803MIT
  • 2 layers26 × 20 mmCap chain, the printed circuit board in 3D

    Cap chain

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    4 parts744MIT
  • 2 layers34.7 × 20 mmXG Station Power MSI, the printed circuit board in 3D

    XG Station Power MSI

    osy/XG_Mobile_Station

    Open source eGPU dock for ROG Ally and ROG Flow

    4 parts712CC-BY-4.0
  • 2 layers20.3 × 24.5 mmJack power input, the printed circuit board in 3D

    Jack power input

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    4 parts546MIT

Questions

How big is the SmartClock PCB?

It measures 53 × 30 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SmartClock use?

4 parts. 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 SmartClock KiCad files?

From the AronTheB/GTS-SmartClock repository on GitHub, at the commit this page was made from: the board is SmartClock/PCB/SmartClock.kicad_pcb and its schematic SmartClock/PCB/SmartClock.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SmartClock design in my own project?

Its repository states no licence, so its author keeps all rights: ask AronTheB before reusing the design.