Skip to the content
PCBKitNew board
2 layers249 × 69.5 mmHelsinki LED Train Map, the printed circuit board in 3D

Helsinki LED Train Map

CDFER/helsinki-live-train-map

A physical, real-time LED map of the Auckland train network, powered by an ESP32-C3 microcontroller. Train movements are displayed using addressable RGB LEDs, with live data fetched over Wi-Fi.

Size
249 × 69.5 mm
Copper layers
2
Thickness
0.92 mm
Parts
441
Nets
361
Pads
1,560
Tracks, vias
3,534, 841
Pours
341
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
7 Jul 2025
Updated
7 Jul 2025

Overview

Helsinki LED Train Map is an open-source printed circuit board by CDFER, from the CDFER/helsinki-live-train-map repository on GitHub, published under the MIT licence. It is a 2-layer board of 249 × 69.5 mm with 441 parts on 361 nets, routed with 3,534 tracks and 841 vias.

It is built around the ESP32-C3FH4, SN74LVC4245APWRE4 and XC6206P332MR, with the WS2812B, MM1W5V6 and SS54 among its other parts. Its parts include 303 diodes, 70 capacitors, 26 resistors, 5 ICs and 3 switches. It belongs with the ESP32 and RISC-V boards of this library.

Main components

10

README

README.md

Auckland Live LED Train Map

A physical, real-time LED map of the Auckland train network, powered by an ESP32-C3 microcontroller. Train movements are displayed using addressable RGB LEDs, with live data fetched over Wi-Fi.


Table of Contents


PCB Overview Render

Features

  • Real-time Train Tracking: Displays the approximate locations of trains on the Auckland network.
  • Addressable LEDs: ~150 WS2812B-compatible RGB LEDs (1.6x1.5mm) for a vibrant display.
  • Wi-Fi Connectivity: ESP32-C3's built-in Wi-Fi fetches live train data.
  • Custom PCB: Designed for JLCPCB manufacturing limits.
  • Open Source: Hardware and firmware are open source.

Hardware

  • Microcontroller: ESP32-C3 (RISC-V, 160 MHz, 4 MB Flash, QFN32)
  • LEDs: ~150 x XL-1615RGBC-WS2812B (1.6mm x 1.5mm)
  • PCB: 249mm x 66mm, JLCPCB-friendly
  • Antenna: On-board PCB antenna (TI CC2430DB design)

ESP32-C3 PCB Render

Pukekohe PCB Render


PCB Design

Schematic


Software / Firmware

The ESP32-C3 firmware is responsible for:

  1. Connecting to Wi-Fi
  2. Fetching live train data from the GTFS Realtime Cache API
  3. Processing data to determine train locations
  4. Controlling WS2812B LEDs to display train positions

Getting Started

  1. Flash the Firmware:
    • Use the Web Installer (recommended, no drivers needed)
    • Or flash manually using PlatformIO (Firmware/ directory)
  2. Connect to Wi-Fi:
    • On first boot, use the web interface to configure Wi-Fi credentials.
  3. Power the Board:
    • Use a 5V USB-C power supply capable of at least 1A.
  4. Enjoy the Live Map!

Web Installer

Easily flash the latest firmware to your ESP32-C3 using your browser:

Open the Auckland LED Train Map Web Installer

  • Works with Chrome, Edge, or any Web Serial-compatible browser
  • Follow on-screen instructions to connect and flash your device

Links


Contributing

Contributions are welcome! Open an issue or submit a pull request for improvements, bug fixes, or feature suggestions.


License

This project is released under the MIT license.

© 2025 Chris Dirks

Parts

441
QtyValueFootprintReferences
291WS2812BPCM_JLCPCB:LED-SMD_4P-L1.6-W1.5_XL-1615RGBC-WS2812BD2001, D2002, D2003, D2004, D2005, D2006, D2007, D2008, D2009, D2010, D2011, D2012, D2013, D2014, D2015, D2016 +275
28220nFPCM_JLCPCB:C_0402C2002, C2003, C2005, C2006, C2008, C2009, C3002, C3003, C3005, C3006, C4002, C4003, C4005, C4006, C4008, C4009 +12
1810uFPCM_JLCPCB:C_0402C1004, C1006, C1007, C1014, C2001, C2004, C2007, C3001, C3004, C4001, C4004, C4007, C5001, C5004, C5007, C6001 +2
10100nFPCM_JLCPCB:C_0402C1002, C1003, C1008, C1010, C1011, C1015, C1016, C1020, C1023, C1024
7100kΩPCM_JLCPCB:R_0402R1007, R1014, R1019, R1023, R1024, R1025, R1026
6LOGOLOGOG***, G***, G***, G***, G***, G***
40ΩPCM_JLCPCB:R_0402R1008, R1009, R1010, R1016
410kΩPCM_JLCPCB:R_0402R1004, R1005, R1006, R1017
41uFPCM_JLCPCB:C_0402C1009, C1013, C1019, C1026
45.1kΩPCM_JLCPCB:R_0402R1002, R1003, R1012, R1013
4~PCM_JLCPCB:Hole_Tooling_JLCPCBH1001, H1001, H1002, H1003
315kΩPCM_JLCPCB:R_0402R1001, R1020, R1021
3GreenPCM_JLCPCB:D_0805D1009, D1010, D1011
3LOGOCustom_Footprints:PowerG***, G***, G***
3RedPCM_JLCPCB:D_0805D1002, D1007, D1008
3Tactile Button, 160gfPCM_JLCPCB:SW-SMD_4P-L5.1-W5.1-P3.70-LS6.5-TL-2S1001, S1002, S1003
21.5pFPCM_JLCPCB:C_0402C1027, C1028
2100uFPCM_JLCPCB:C_CASE-B-3528-21(mm)C1005, C1025
2100ΩPCM_JLCPCB:R_0402R1018, R1022
22.7nHPCM_JLCPCB:L_0402L1001, L1003
227pFPCM_JLCPCB:C_0402C1021, C1022
2C_SmallPCM_JLCPCB:C_0402C1017, C1018
2Connector, USB-TYPE-C-16PPCM_JLCPCB:TYPE-C-SMD_HX-TYPE-C-16PINU1002, U1004
2MM1W5V6PCM_JLCPCB:D_SOD-123D1003, D1006
2SS54PCM_JLCPCB:D_SMAD1001, D1005
110nFPCM_JLCPCB:C_0402C1012
110uFPCM_JLCPCB:C_CASE-A-3216-18(mm)C1001
115nH,300mAPCM_JLCPCB:L_0402L1002
11kΩPCM_JLCPCB:R_0402R1015
13.3VCustom_Footprints:TestPoint_Pad_D1.0mmTP1005
140MHz, 15pFCustom_Footprints:OSC-SMD_4P-L3.2-W2.5-BL_SIT8008BIX1001
1510ΩPCM_JLCPCB:R_0402R1011
1Antenna_ShieldCustom_Footprints:Inverted_F_Antenna_2.4Ghz_1.0mmPCB_TI_CC2430DB.prettyAE1001
1ESP32-C3FH4Custom_Footprints:QFN-32-1EP_5x5mm_P0.5mm_EP3.7x3.7mm_ThermalViasU1003
1H3V3U10BPCM_JLCPCB:D_DFN1006-2LD1012
1HKI-KTS_MCUCustom_Footprints:TestPoint_Pad_D1.0mmTP1002
1HL3415APCM_JLCPCB:Q_SOT-23Q1001
1HPL-NOA_MCUCustom_Footprints:TestPoint_Pad_D1.0mmTP1003
1LOGOCustom_Footprints:Brightness_7G***
1LOGOCustom_Footprints:Brightness_0G***
1LOGOCustom_Footprints:WiFiG***
1LOGOCustom_Footprints:Mode_Off_ONG***
1LVL-Shifter-ENCustom_Footprints:TestPoint_Pad_D1.0mmTP1001
1MMBT3904PCM_JLCPCB:Q_SOT-23Q1002
1MMSZ5227BPCM_JLCPCB:D_SOD-123D1004
1NAL-NIMT_LEDCustom_Footprints:TestPoint_Pad_D1.0mmTP1006
1Polyfuse, 2AFuse:Fuse_1206_3216MetricF1001
1Prog ConnectorCustom_Footprints:Prog ConnectorJ1001
1SN74LVC4245APWRPackage_SO:TSSOP-24_4.4x7.8mm_P0.65mmU1005
1STRAND-MNK_LEDCustom_Footprints:TestPoint_Pad_D1.0mmTP1004
1XC6206P332MRPCM_JLCPCB:SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BRU1001
1~PCM_JLCPCB:FB_0603FB1001
1~PCM_JLCPCB:Part_Num_JLCPCBPN1001

Questions

How big is the Helsinki LED Train Map PCB?

It measures 249 × 69.5 mm and has 2 copper layers, 0.92 mm thick.

What parts does the Helsinki LED Train Map use?

441 parts, built around the ESP32-C3FH4, SN74LVC4245APWRE4, XC6206P332MR and WS2812B. 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 Helsinki LED Train Map KiCad files?

From the CDFER/helsinki-live-train-map repository on GitHub, at the commit this page was made from: the board is PCB/Helsinki-LED-Train-Map.kicad_pcb and its schematic PCB/HKI-KTS-1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Helsinki LED Train Map 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

  • 2 layers110 × 220 mmFin ltm, the printed circuit board in 3D

    Fin ltm

    HekiNav/finland-live-train-map

    Some of the LEDs are missing because they were removed after making the initial layout

    423 parts7MIT
  • 2 layers330 × 300 mmMelbourne Live Train Map, the printed circuit board in 3D

    Melbourne Live Train Map

    CDFER/Melbourne-Live-Train-Map

    A curcuit board with RGB leds to show the live position of trains in Melbourne!

    1,260 parts5GPL-3.0
  • 4 layers85 × 56 mmBratwurstPower, the printed circuit board in 3D

    BratwurstPower

    Qeteshpony/BratwurstPower

    A power supply for a complete, Raspberry Pi based ADS-B Receiver Setup with independent power rails for the different components.

    143 parts1BSD-2-Clause
  • 4 layers86 × 34 mmBsl drv v1, the printed circuit board in 3D

    Bsl drv v1

    jackw01/scanlight

    A better light source for scanning color negative film

    157 parts397CERN-OHL-W-2.0
  • 4 layers92.5 × 70 mmClock, the printed circuit board in 3D

    Clock

    stevel1212-droid/stm32-rtc-climate-controller

    Kicad project of an STM32-based board climate controller utilizing an RTC module for time-scheduled environmental reading of temperature/humidity with SHT30 sensor and optional small relay for control.

    69 partsMIT
  • 2 layers262.5 × 107.9 mmEconopet, the printed circuit board in 3D

    Econopet

    DLehenbauer/econopet

    Mainboard replacement for Commodore PET/CBM series machines

    295 parts19CC0-1.0
  • 4 layers90 × 80 mmSteering Panel, the printed circuit board in 3D

    Steering Panel

    NTURacingTeam/nturt_kicad_EP7

    247 parts