Skip to the content
PCBKitNew board
2 layers131 × 90 mmStage chrono, the printed circuit board in 3D

?? Giant 6-digit 7-segment race chronometer powered by ESP32, 24V COB LED strips, custom KiCad 10 PCB, and SIM800L GSM telemetry.

Size
131 × 90 mm
Copper layers
2
Thickness
1.6 mm
Parts
38
Nets
141
Pads
329
Tracks, vias
673, 4
Pours
295
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
2 Oct 2026
Updated
2 Oct 2026

Overview

Stage chrono is an open-source printed circuit board by becem0, from the becem0/esp32-giant-chronometer repository on GitHub, published under the MIT licence. It is a 2-layer board of 131 × 90 mm with 38 parts on 141 nets, routed with 673 tracks and 4 vias.

It is built around the ESP32-DEVKITC-VE, 74HC595 and ULN2803A, with the MC001002 among its other parts. Its parts include 13 ICs, 8 capacitors, 8 connectors, 1 resistor and 1 diode. It belongs with the lEDs and displays boards and the ESP32 boards of this library.

Main components

4

README

README.md

⏱️ ESP32 Giant 24V COB LED Chronometer & Industrial PCB

License: MIT Platform: ESP32 Framework: Arduino KiCad: 10.0 Hardware: 24V COB LED [blocked] Telemetry: GSM SIM800L [blocked]

An end-to-end industrial-grade embedded system featuring a 6-digit giant 7-segment display driven by high-lumen 24V COB LED strips, a custom modular KiCad 10 PCB, an ESP32-WROVER-E dual-core controller hosting an asynchronous real-time Web dashboard, and SIM800L GSM cellular telemetry.

Designed, developed, and fabricated by Bacem AMEUR (National Engineering School of Monastir - ENIM) during an engineering internship at Chrono Sports Events.


📸 Hardware Showcase & Gallery

KiCad 10 3D PCB Render
Figure 1: Photorealistic 3D CAD render of the assembled CHRONO_01 board in KiCad 10.

KiCad 10 Electrical Schematic
Figure 2: Complete electrical schematic (ESP32, 74HC595 cascade, ULN2803A drivers, LM2596 power regulation).

Physical PCB - Top Side Physical PCB - Bottom Side
Figure 3: Double-sided physical PCB fabricated via chemical etching (Left: Component side F.Cu, Right: Solder side B.Cu).


📑 Table of Contents


🌟 Key Features

  • High-Visibility Giant Display: 6 digits (HH:MM:SS) using high-density 24V COB LED strips for uniform, neon-like illumination without individual LED hotspots.
  • Dual-Core Asynchronous Firmware:
    • Core 0: Manages Wi-Fi Soft-AP (SSID: CHRONO_01) and serves an asynchronous HTML5/CSS3/JavaScript dark-mode web application via ESPAsyncWebServer.
    • Core 1: Executes deterministic $1,\text{ms}$ chronometer counting, high-speed SPI shift register cascading, and non-blocking UART GSM AT parsing.
  • High-Power Common-Anode Driving: 6 daisy-chained 74HC595 serial shift registers interfaced with 6 ULN2803A Darlington sink arrays, controlling 42 independent 24V segments at up to $500,\text{mA}$ per channel.
  • GSM/SMS Telemetry: Integrated SIM800L cellular transceiver with a customized $1000,\mu\text{F}$ low-ESR reservoir network to absorb 2.0A TDMA RF burst current drops.
  • Cost Efficiency: Sourced and built for approximately 740 TND (~€220), delivering performance comparable to turnkey commercial race scoreboards costing 3,000 to 20,000 TND.

🏛 System Architecture

text
 ┌─────────────────────────────────────────────────────────────────────────────┐
 │                               MAIN POWER SUPPLY                             │
 │                        (230V AC  ──>  24V DC / 2.5A SMPS)                   │
 └──────────────────────┬────────────────────────────────┬─────────────────────┘
                        │ (+24V Power Bus)               │ (+24V Input)
                        ▼                                ▼
       ┌─────────────────────────────────┐      ┌──────────────────────────────┐
       │   42x 24V COB LED SEGMENTS      │      │   LM2596 BUCK REGULATOR      │
       │   (6 Digits: A, B, C, D, E, F, G│      │   (24V DC  ──>  5.0V / 4.1V) │
       │    Common Anode Configuration)  │      └──────────────┬───────────────┘
       └────────────────▲────────────────┘                     │
                        │ Sinking Grounds (x42)                │
       ┌────────────────┴────────────────┐                     ▼
       │     6x ULN2803A DARLINGTON      │             ┌───────────────┐
       │        TRANSISTOR ARRAYS        │◄── 5V ──────┤  ESP32-WROVER │
       └────────────────▲────────────────┘             │   DUAL-CORE   │
                        │ 8-bit Parallel Out (x6)      │  (Soft-AP Web │
       ┌────────────────┴────────────────┐             │   Server +    │
       │       6x 74HC595 SERIAL         │◄── SPI ─────┤   FreeRTOS)   │
       │        SHIFT REGISTERS          │ (DATA/CLK/  └───────┬───────┘
       └─────────────────────────────────┘   LATCH)            │ UART (TX2/RX2)
                                                               ▼
                                                       ┌───────────────┐
                                                       │ SIM800L GSM   │
                                                       │ (+1000uF Cap) │
                                                       └───────────────┘

⚡ Hardware & Electrical Engineering

I/O Expansion & Power Driving

Driving 42 discrete LED segments using only 3 GPIO pins from the ESP32:

  • 74HC595 Shift Registers: Cascaded in series. The serial frame ($6 \times 8 = 48,\text{bits}$) is clocked via high-speed SPI in less than $5,\mu\text{s}$.
  • ULN2803A Darlington Sink Drivers: 8 open-collector channels with integrated clamp diodes per IC. Each output can sink up to $500,\text{mA}$ under $24,\text{V}$, perfectly matching the common-anode COB LED segments.
text
 ESP32 GPIO ────> 74HC595 (Qn) ───[2.7kΩ]───> ULN2803A (Base) ───> Sinks (-24V) to GND
                                                                           ▲
                                                  +24V Rail ───[LED Strip]─┘

Mathematical Sizing & Transient Filtering

The GSM module consumes up to $I_{\text{peak}} = 2.0,\text{A}$ in $577,\mu\text{s}$ bursts. Without adequate capacitive reservoir sizing, the voltage droops below $3.7,\text{V}$, causing brownout resets.

The required charge buffer is sized according to: $$C_1 = \frac{I_{\text{peak}} \cdot \Delta t}{\Delta V_{\text{max}}} = \frac{2.0,\text{A} \times 577,\mu\text{s}}{0.4,\text{V}} \approx 2885,\mu\text{F}$$

Accounting for active source replenishment from the LM2596 buck converter, an effective capacitor of $1000,\mu\text{F}$ / 16V low-ESR in parallel with a $100,\text{nF}$ ceramic decoupling capacitor is placed directly at the SIM800L power pins.

Single-Sided / NPTH PCB Optimization

To support artisan local PCB chemical etching without plated through-holes (NPTH):

  • Modular T-Shape Topology: Eliminates track congestion and prevents layer crossing.
  • Machined-Pin Tulip Sockets: DIP sockets are elevated above the PCB top copper layer to allow top-side manual soldering with fine iron tips.
  • Merged Drill Files: Excellon drill files configured with "Merge PTH and NPTH" for single-pass fabrication.

💻 Firmware & Dual-Core Architecture

The firmware is written in Arduino C++ utilizing ESP32 FreeRTOS multitasking:

TaskCore AssignedPriorityExecution IntervalRole
WebNetworkTaskCore 0Priority 1AsynchronousHandles Wi-Fi Soft-AP client connections, REST endpoints (/api/start, /api/pause, /api/reset, /api/set), and serves HTML5 assets from SPIFFS/Flash.
ChronometerEngineCore 1Priority 3$1.00,\text{ms}$ deterministicHardware timer tick accumulation, 7-segment digit lookup encoding, SPI shifting, and non-blocking SIM800L AT command parsing.

📱 Web Dashboard UI

The responsive dark-theme dashboard runs entirely embedded within the ESP32 SPIFFS memory:

  • Zero Internet Required: Automatically hosts a local hotspot CHRONO_01 (192.168.4.1).
  • Live Synchronized Display: CSS seven-segment digital display mirroring the real physical board.
  • Controls: Start, Pause, Lap Time, Split Time, Time Preset, and Display Brightness.

📂 Repository Structure

text
├── .gitignore
├── LICENSE
├── README.md
├── firmware/
│   ├── ChronoServer/
│   │   ├── ChronoServer.ino         # Main dual-core ESP32 firmware
│   │   └── index.html               # Embedded HTML5/CSS3/JS dashboard
│   └── tests/
│       ├── test_blink_esp32.ino     # GPIO & RTC validation test
│       └── test_sim800l_at.ino      # Hardware UART GSM pass-through test
├── hardware/
│   ├── kicad/                       # KiCad 10 schematics (.kicad_sch) and PCB (.kicad_pcb)
│   ├── gerbers/                     # Production Gerber and Excellon drill files
│   ├── schematics/
│   │   └── pinout_reference.md      # Pinout table for JST & shift registers
│   ├── bom/
│   │   └── bill_of_materials.md     # Detailed BOM and supplier breakdown
│   └── mechanical/
│       └── chassis_assembly.md      # Chassis drilling, baffles, and wiring guide
└── docs/
    ├── Journal stage 2026.pdf       # 30-day chronological internship journal
    ├── rapport_stage_2026.pdf       # Compiled official internship engineering report
    ├── stage_chrono_presentation.pdf # Oral defense slide deck
    └── report/
        ├── rapport_stage_bacem_ameur.tex # LaTeX source code
        └── figures/                 # High-resolution schematics, 3D renders & photos

💰 Bill of Materials (BOM) & Economic Study

CategoryKey ItemsCost (TND)Approx. (€)
Processing & TelemetryESP32-WROVER-E + SIM800L GSM + LM2596 Buck~90 TND~€26
Power Drivers & Logic6x 74HC595 + 6x ULN2803A + Tulip DIP sockets~60 TND~€18
Display & Illumination24V COB LED Strips (10m) + JST-XH harnesses~100 TND~€29
Power SupplyS-60-24 SMPS (230V AC $\to$ 24V DC / 2.5A)~55 TND~€16
Structure & EnclosureForex (PVC) backplate + Opal PMMA acrylic diffuser~80 TND~€24
PCB & ConsumablesChemical double-sided etching (120 TND), solder, capacitors, wiring~355 TND~€105
TOTAL PROJECT INVESTMENT~740 TND~€220
Commercial Equivalent PriceTurnkey 6-digit wireless race chronometers3,000 – 20,000 TND€900 – €6,000

🚀 Installation & Getting Started

1. Arduino IDE Setup

  1. Install Arduino IDE 2.x.
  2. Install the ESP32 Board Package (Recommended: stable version 2.0.17 via Boards Manager).
  3. Board Configuration:
    • Board: ESP32 Wrover Module (or ESP32 Dev Module)
    • Flash Mode: DIO (or QIO depending on flash vendor)
    • Flash Frequency: 40MHz
    • PSRAM: Enabled
    • Partition Scheme: Default 4MB with spiffs
  4. Install required libraries:
    • ESPAsyncWebServer & AsyncTCP

2. Flashing the Firmware

  1. Connect the ESP32 to your PC via a Micro-USB data cable.
  2. Open firmware/ChronoServer/ChronoServer.ino.
  3. Select your COM port and hit Upload (➔).

3. Connecting to the Web Dashboard

  1. Power on the chronometer with 24V DC.
  2. On your phone or laptop, connect to the Wi-Fi network:
    • SSID: CHRONO_01
    • Password: 12345678
  3. Open any web browser and navigate to:
    • http://192.168.4.1

👤 Author

Bacem AMEUR
Electrical Engineering Student — National Engineering School of Monastir (ENIM)


📜 License

This project is open-source and licensed under the MIT License.

Parts

38
QtyValueFootprintReferences
6100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC3, C4, C5, C6, C7, C8
674HC595Package_DIP:DIP-16_W7.62mmU4, U5, U6, U7, U8, U9
6Conn_01x08Connector_JST:JST_XH_B8B-XH-A_1x08_P2.50mm_VerticalJ2, J3, J4, J5, J6, J7
6ULN2803APackage_DIP:DIP-18_W7.62mmU2, U10, U11, U12, U13, U14
4MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3REF00, REF01, REF02, REF03
2100uFCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC1, C2
2TestPointTestPoint:TestPoint_Pad_D1.5mmTP_5V1, TP_GND1
12.2KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1
124_INTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ1
1Conn_01x07_PinConnector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_VerticalJ8
1ESP32-DevKitCEspressif:ESP32-DevKitCU3
1LEDLED_THT:LED_D3.0mmD1
1MC00100Espressif:CONV_MC00100PS1

Questions

How big is the Stage chrono PCB?

It measures 131 × 90 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Stage chrono use?

38 parts, built around the ESP32-DEVKITC-VE, 74HC595, ULN2803A and MC001002. 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 Stage chrono KiCad files?

From the becem0/esp32-giant-chronometer repository on GitHub, at the commit this page was made from: the board is hardware/kicad/stage_chrono.kicad_pcb and its schematic hardware/kicad/stage_chrono.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Stage chrono 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).

Similar boards

  • 4 layers99.9 × 99.8 mmWorkbench, the printed circuit board in 3D

    Workbench

    crgarcia12/electronics-workbench-controller

    PCB board to control my electronics workbench

    70 parts
  • 2 layers61 × 74 mmProbador Bobinas PCB, the printed circuit board in 3D

    Probador Bobinas PCB

    ramiroedson72-cloud/probador-bobinas-cop

    Generador de disparos PWM para probar bobinas de encendido (COP). Un potenciómetro controla la frecuencia (10–200 Hz ≈ 300–6000 RPM en motor de 4 cilindros) y el firmware mantiene un dwell fijo de 3 ms recalculando el…

    16 parts1
  • 4 layers125 × 94.6 mmDespro Gacor, the printed circuit board in 3D

    Despro Gacor

    BryanFarras/Desain-Proyek-2

    Autonomous Evacuation Rover (AER) is an integrated mobile robotics platform developed for autonomous exploration, mapping, hazard detection, and evacuation assistance in unknown or hazardous indoor environments.

    13 parts
  • 2 layers240 × 95 mmMotorDriver Board, the printed circuit board in 3D

    MotorDriver Board

    domenicojbruno/IQP-Resonant-Space

    An interactive "resonant wall" for a hallway. VL53L0X time-of-flight sensors detect when people cross a threshold, and a honeycomb of 13 hexagonal panels, each moved by a linear actuator, pulls back from and pushes out…

    30 parts
  • 2 layers66 × 32 mmEnergy, the printed circuit board in 3D

    Energy

    MSMRo/Fluorimetro_lowcost

    La PCB Energy se usa para la alimentación del montaje, con una línea de 5 V para el Arduino Mega y una línea de 12 V para la iluminación.

    13 parts2
  • 2 layers100 × 70 mmOTO SERA POWER MANEGEMENT BOARD, the printed circuit board in 3D

    OTO SERA POWER MANEGEMENT BOARD

    mbuyukeskil/kicad-hardware-projects

    KiCad PCB design projects, schematics, layouts, 3D views and manufacturing files.

    15 parts
  • 2 layers139.7 × 114.9 mmThrusterPrototype, the printed circuit board in 3D

    ThrusterPrototype

    SimonDaniel605/Development-of-a-Resistojet-Thruster

    This project involves the development of a resistojet thruster for nanosatellite station-keeping.

    68 partsMIT