Skip to the content
2 layers99.6 × 72 mmTime terminal, the printed circuit board in 3D

Hardware z InTime 2025 etapy

Size
99.6 × 72 mm
Copper layers
2
Thickness
1.6 mm
Parts
60
Nets
82
Pads
305
Tracks, vias
402, 179
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
5 Aug 2025
Updated
30 Aug 2025

Overview

Time terminal is an open-source printed circuit board by ontarioskaut, from the ontarioskaut/in_time repository on GitHub. It is a 2-layer board of 99.6 × 72 mm with 60 parts on 82 nets, routed with 402 tracks and 179 vias.

It is built around the CH340C, ESP32-WROOM-32 and L86-M33, with the RA-01SH, MAX17048G+T10 and XC6222B331PR-G among its other parts. Its parts include 14 resistors, 10 capacitors, 7 ICs, 6 switches and 5 connectors. It belongs with the radio and wireless boards and the ESP32 boards of this library.

Main components

12

README

README.md

Hardwarové věci k etapě InTime 2025

Tento repozitář vznikl pro uchování hardwarových věcí potřebných k táborové etapě skautského oddílu Ontario - InTime 2025. Tvoří jeden celek se softwarovým řešením systému pro uchovávání časů, uživatelů a tagů, který neleznete zde: https://github.com/ontarioskaut/tabor2025. Detailnější informace jsou k mání na naši skautské wiki: https://wiki.zlin6.cz/cs/technika/intime2025.

Obecná probematika

Pro celotáborovou hru jsme se rozhodli udělat systém, vekterém dominuje odpočítávaný čas jako měna. Členi mají RFID náramky a v dílčích částech tábora mají možnost dostat kulaté RFID tagy jakožto coiny s nějakou hodnotou. Mají jak zisky, tak výdaje za různé věci a snaží se s tím hospodařit. Aby to fungovalo, použili jsme moderní technologie a naprogramovali časový server, který řeší management uživatelů, náramků, coinů. Prostě nadstavba s API a GUI nad databází.

Tento server běží na mikropočítači (zde použit ROCK PI S s druhou WiFi kartou) a vše komunikuje bezdrátově přes WiFi. Vedoucí mají možnost zasahovat do systému skrze webové prostředí nebo webovou aplikaci používající přímo NFC API v prohlížeči, členi mohou managovat svůj čas skrze time terminals (ty umožňují platit, převádět, skenovat coiny a zjišťovat zůstatek). Terminály mají uvnitř RFID čtečku a ESP32, přes které se hardware řídí a je prováděna komunikace s časovým serverem skrze REST API.

Další částí jsou displeje pro zobrazování aktuálních časů hráčů. K tomu jsme vybrali vyřazené Buse 210 displeje z autobusů, protože jsou velké, vypadají cool a jsou oproti LED variantám velice energeticky úsporné. Tam byl problém se zobrazováním vlastních dat, protože se pro komunikaci používá sběrnice IBIS (sériová sběrnice posazená na 24V s pomalým baudratem) s uzavřeným komunikačním protokolem. Prostě technologie někdy z 80. let. Vzhledem k tomu, že se v původních verzích panelů ani nepočítalo s vlastní grafikou, která bude často updatovaná (v panelech je databáze předpřipravených obrazovek, pomocí příkazů se přepínají). Vznikla tedy potřeba vlastního řízení. Zde nám usnadnil práci člově, který stojí za Flipity 210: https://github.com/mcer12/Flippity210. Pro naše účely stačilo naprogramovat ESP01S modulek s firmwarem, který periodicky stahuje předpřipravené obrazovky z time serveru a posílá je k zobrazení.

displays/display_tool

  • GTK aplikace sloužící k roční přípravě a testování zobrazení na Buse210 displejích. Aplikace generuje base64-encoded string, který obsahuje obrazové a adresní informace a slouží k ovládání řídící desky u displejů.
  • Existují dvě modifikace:
    • display_tool.py - tato sloužila k sériovému ovládání displejů. I2C sběrnice s displejů
    • display_tool_web.py - modifikace, která plive data kompatibilní s webovou verzí editoru. Autorovi se totiž líp pracuje v desktopové verzi a navíc má lepší řešení low_resolution vykreslování fontů.

time_terminal

  • Veškeré podklady k hardwaru time_terminalu vytvořené v KiCadu. Jsou tam vytvořené přímo manifacturing data, ale ty silně nedoporučuji používat, protože design desky obsahuje mnoho chyb, které bylo potřeba manuálně předrátovat. Jedná se hlavně o špatné použití pinů, které jsou připojeny k interní flashce, takže to způsobovalo problémy u programování. Potom jsou někte použity input only piny pro output a tak dále. Bohužel si autor při kreslení schémat nedostatečně přečetl dokumentaci ESP32 modulu a pak se divil.

firmware/esp8266_buse_cient

  • Firmware pro esp01S připojené do Flipity 210 desky u displeje. Tato verze se používá ve finálním stavu systému - prostě vše se renderuje na serveru a esp jenom periodicky posílá requesty a stahuje base64-encoded obrázky, které jen vyplivne na displej.
  • Pro správní fungování na největší (čelní) variantě displeje s 5 flip-dot panely byl ve Flipity210 firmwaru pozměněn limit panelů a nastavený jinší count v sekci čtení konfiguračních jumperů.
  • Nevím, jak je to ve vyšší verzi Flipity210 hardwaru, ale ve verzi 2.1 je potřeba dávat pozor na voltage spiky způsobené čínským step-down modulem. Na tomto jsem při testování spálil pár STM32 procesorů. Já to řešil pomocí přidání velkého kondenzátoru a TVS na výstup.

firmware/ostatní

  • Předchzí iterace způsobené nedostatkem espéček v mém sklepě. Jednalo se o aloučení I2C a společné řízení a potom na delší vzdálenosti použití sériového protokolu, pomocí kterého se dalo řešit posílání přímo z počítače s převodníkem.

Parts

60
QtyValueFootprintReferences
4footprints:corner, , ,
410kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R4, R5, R7
41kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3, R6, R14, R15
44.7uCapacitor_SMD:C_0603_1608MetricC2, C3, C4, C5
4MountingHole_PadMountingHole:MountingHole_2.2mm_M2_Pad_ViaH1, H2, H3, H4
4SW_PushButton_Switch_SMD:SW_Push_1P1T_XKB_TS-1187ASW2, SW3, SW4, SW5
3LEDLED_SMD:LED_0603_1608MetricD1, D2, D4
2100nCapacitor_SMD:C_0603_1608MetricC1, C6
210uCapacitor_SMD:C_0603_1608MetricC9, C11
21uCapacitor_SMD:C_0603_1608MetricC8, C10
220Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR12, R13
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10, R11
1footprints:cutout
1footprints:usbc
12kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2
1BuzzerBuzzer_Beeper:Buzzer_TDK_PS1240P02BT_D12.2mm_H6.5mmBZ1
1CH340CPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU7
1Conn_CoaxialConnector_Coaxial:SMA_Amphenol_132134-16_VerticalJ3
1D_SchottkyDiode_SMD:D_SOD-123FD3
1EC11E09244BSRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW1
1ESP32-WROOM-32RF_Module:ESP32-WROOM-32U2
1FDN304PPackage_TO_SOT_SMD:SOT-23Q2
1FMMT493TAPackage_TO_SOT_SMD:SOT-23-3Q3
1L86-M33footprints:L86-M33U1
1Li-Ion batteryBattery:BatteryHolder_Keystone_1042_1x18650J4
1MAX17048G+T10footprints:21-0168E_T822-3_MXMU5
1MBT3904DW1Package_TO_SOT_SMD:SOT-363_SC-70-6Q1
1MCP73831-2-OTPackage_TO_SOT_SMD:SOT-23-5U4
1MFRC522Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1
1Ra-01SHRF_Module:Ai-Thinker-Ra-01-LoRaU3
1SSD1306_OLEDfootprints:128x64OLEDJ2
1SSSS811101footprints:SW4_SSSS811101_ALPSSW6
1USB_CConnector_USB:USB_C_Receptacle_HCTL_HC-TYPE-C-16P-01AJ5
1XC6222B331PR-GPackage_TO_SOT_SMD:SOT-89-5U6
1eeResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9

Similar boards

  • 4 layers45.3 × 26 mmGCP-2, the printed circuit board in 3D

    GCP-2

    HandHeldLegend/GC-Adapter-RP2040

    The 3D shell and buttons are licensed under a Creative Commons Attribution 4.0 International License .

    47 parts24
  • 4 layers125.5 × 45.6 mmUniSNES, the printed circuit board in 3D

    UniSNES

    HandHeldLegend/UniSNES

    RP2040 based SNES drop-in PCB based on HOJA library.

    88 parts3
  • 2 layers243.4 × 76.7 mmSteamvan, the printed circuit board in 3D

    Steamvan

    jmdaly/steamvan

    KiCAD design files for the SteamVan PCB - a 40% keyboard PCB based on an STM32 MCU

    188 parts76CC-BY-SA-4.0
  • 2 layers285 × 95.1 mmCO60, the printed circuit board in 3D

    CO60

    jmdaly/CO60

    KiCad design files for the CO60, an open hardware 60% keyboard PCB

    286 parts55CC-BY-SA-4.0
  • 2 layers192.4 × 50 mmOmote, the printed circuit board in 3D

    Omote

    OMOTE-Community/OMOTE-Hardware

    Open Source Remote - Hardware

    187 parts157GPL-3.0
  • 2 layers60 × 90 mmCinder, the printed circuit board in 3D

    Cinder

    CircuitGuy943/CinderV2-Filament-Dryer

    (🚧) A filament dryer to precede my old one made inside a wooden box that never worked properly and didn't heat anything. Features to be estabilished

    40 parts4GPL-3.0
  • 4 layers66.2 × 71 mmMacropad, the printed circuit board in 3D

    Macropad

    astinchang/KiCAD-Macropad

    Custom RP2040-based controller board designed to interface with:

    67 partsUnlicense

Questions

How big is the Time terminal PCB?

It measures 99.6 × 72 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Time terminal use?

60 parts, built around the CH340C, ESP32-WROOM-32, L86-M33 and RA-01SH. 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 Time terminal KiCad files?

From the ontarioskaut/in_time repository on GitHub, at the commit this page was made from: the board is time_terminal/time_terminal.kicad_pcb and its schematic time_terminal/time_terminal.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Time terminal design in my own project?

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