Skip to the content
PCBKitNew board
4 layers63.5 × 44.5 mmClock Controller, the printed circuit board in 3D

Clock Controller

Fish-in-a-Barrel/Nixie

This is my Nixie clock project. It was created as an excuse to learn more about electronics and it touches on power circuits, microcontrollers, serial communications, and more.

Size
63.5 × 44.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
48
Nets
50
Pads
172
Tracks, vias
171, 72
Pours
8
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
4 Nov 2023
Updated
25 Oct 2026

Overview

Clock Controller is an open-source printed circuit board by Fish-in-a-Barrel, from the Fish-in-a-Barrel/Nixie repository on GitHub. It is a 4-layer board of 63.5 × 44.5 mm with 48 parts on 50 nets, routed with 171 tracks and 72 vias.

It is built around the PIC16F15224-I/SL, AS78L05RTR-E1 and MMBT2222A-TP, with the FDD7N25LZTM, MMBT2907ALT1G and PEC11S-929K-S0015 among its other parts. Its parts include 13 resistors, 9 capacitors, 6 transistors, 3 ICs and 2 connectors. It belongs with the lEDs and displays boards and the PIC boards of this library.

Main components

9

README

readme.md

Yet Another Nixie Clock

https://github.com/user-attachments/assets/0fcae77a-54a8-4b7d-9e90-6edd31807fbd

Introduction

This is my Nixie clock project. It was created as an excuse to learn more about electronics and it touches on power circuits, microcontrollers, serial communications, and more.

The clock runs 12 IN-12A Nixie tubes that display the time and date. INS-1 tubes are used for digit separators. It also includes:

  • USB-C PD power input
  • Boost converter to provide 180V for the nixie tubes
  • GPS module for date/time synchronization
  • User-selectable timezone
  • RTC module for precision timekeeping, and power-off timekeeping
  • 128x32 mono OLED display for diagnostics
  • Rotary encoder for user input
  • I2C Driver boards for each tube

Development Tools

Hardware: KiCad 8 Firmware: MPLAB X IDE

Architecture

Architecture BlockDiagram

Main Processor

A Microchip PIC16F15224 8-bit microcontroller is the main processing unit of the clock. It controls the boost converter while managing and coordinating the other hardware modules.

Power

Power

A Diodes Incorporated AP33772 is used to negotiate with a PD source for the input power. The AP33772 is controlled by the main MCU via I2C. The AP33772 requests 12V from the power source, which supplies the boost converter.

The AP33772 also provides a dedicated 5V power source. This is a low current source, so it is only used to drive the MCU and UI, which are needed during power-up. A separate 78L05 regulator (powered by the 12V from USB VBUS) provides 5V power to all of the other devices.

Finally, the AP33772 provides over-current and over-voltage protection features.

User Interface

A 128x32 OLED display (driven by an SSD1306) is used to display status and diagnostics information. A rotary encoder with detent is used to scroll through the different display pages, and to select timezone and DST support. The OLED pixel data is sent over I2C.

Real Time Clock

A DS3231 RTC module provides an accurate time source for the clock. It is the source of the time/date displayed and is only updated if it differs from the GPS time. The RTC module is also equiped with a battery backup. This allows the clock to display time/date immediately after power-on instead of having to wait several minutes for valid GPS data. RTC data is sent over I2C.

GPS

The U-Blox NEO-6M GPS module provides a reference time to initialize the RTC. The module streams standard NMEA messages to the primary MCU over UART serial. Time/date are decoded from these messages.

Nixie Drivers

Each Nixie tube has a driver board. This board has a Microchip PIC16F15243 MCU in I2C client mode receiving commands from the primary MCU. This client MCU drives the Nixie pins and provides features such as digit cross-fading and cathode maintenance.

Project Components

ClockController

This is the main controller board. It connects to a header on the back of the display board and has these main components:

  • Primary MCU
  • USB PD components
  • Boost converter circuitry
  • User Interface

Hardware / Display Board

This board servers as the main support structure of the clock. The Nixie drivers connect to headers on the front of the board. The controller board, GPS, and RTC all connect to the back of the board.

NixieDriver

The driver board for each individual IN-12 Nixie tube.

NixieDriverTester

This is a stand-alone test board that will power and exercise a single NixieDriver and tube. It is used for QA of assembled driver boards and testing of the NixieDriver firmware.

Hardware / Nixie Driver ICSP Adapter

A small board that attaches to a NixieDriver and provides a pin-out compatible with a PICKIT 5 programmer for In Circuit Serial Programming.

Hardware / Separator

A tiny board that adapts the physical interface of the INS-1 tubes used as digit separators.

Parts

48
QtyValueFootprintReferences
510kResistor_SMD:R_0603_1608MetricR5, R8, R9, R12, R13
4100nFCapacitor_SMD:C_0805_2012MetricC1, C2, C5, C6
4Most DensityClock Controller:TP_1.25MMGND0, PWM0, Vcc0, Vnn0
310nFCapacitor_SMD:C_0603_1608MetricC7, C8, C9
3M2.5_MTGP540H285Clock Controller:M2.5_MTGP540H285MH1, MH2, MH3
3MMBT2222A-TPPackage_TO_SOT_SMD:SOT-23Q3, Q5, Q6
22.2kResistor_SMD:R_0603_1608MetricR1, R2
25.1kResistor_SMD:R_0603_1608MetricR10, R11
10.01Resistor_SMD:R_1206_3216MetricR7
110uFCapacitor_SMD:C_1812_4532MetricC3
112kResistor_SMD:R_0805_2012MetricR4
11kResistor_SMD:R_0805_2012MetricR6
11uFCapacitor_SMD:C_1206_3216MetricC4
1220uHClock Controller:SRN8040TA221ML1
1750kResistor_SMD:R_0805_2012MetricR3
1AP33772DKZ-13Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.7x2.7mmU4
1AS78L05RTR-E1Package_TO_SOT_SMD:SOT-89-3U2
1DMG7430LFG-7Diodes Incorporated:PowerDI3333-8Q1
1FDD7N25LZTMPackage_TO_SOT_SMD:TO-252-2Q2
1HDR-1X2HConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ2
1HDR-1X4Display_:SSD1306 0.91 128x32 OLEDOLED0
1HDR-2X4Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalDISP0
1LED_1206(3216_METRIC)_N_BLUELED_SMD:LED_1206_3216MetricPD0
1LED_1206(3216_METRIC)_N_GREENLED_SMD:LED_1206_3216MetricUNK5V0
1MMBT2907ALT1GPackage_TO_SOT_SMD:SOT-23Q4
1PEC11S-929K-S0015Rotary_Encoder_:PEC11S-929K-S0015S1
1PIC16F15224-I/SLClock Controller:SOIC14P127_869X599X175L84X42NU1
1PPPC051LGBN-RCConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_HorizontalICSP0
1SMD220PLDiode_SMD:D_SOD-123FD1
1UJC-VP-3-SMT-TRConnector USB:CUI_UJC-VP-3-SMT-TRJ1

Questions

How big is the Clock Controller PCB?

It measures 63.5 × 44.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Clock Controller use?

48 parts, built around the PIC16F15224-I/SL, AS78L05RTR-E1, MMBT2222A-TP and FDD7N25LZTM. 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 Clock Controller KiCad files?

From the Fish-in-a-Barrel/Nixie repository on GitHub, at the commit this page was made from: the board is ClockController.X/Hardware/Clock Controller.kicad_pcb and its schematic ClockController.X/Hardware/+5 VRC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

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

Its repository states no licence, so its author keeps all rights: ask Fish-in-a-Barrel before reusing the design.

More from Fish-in-a-Barrel/Nixie

4
  • 2 layers165.1 × 88.9 mmDisplay Board, the printed circuit board in 3D

    Display Board

    Fish-in-a-Barrel/Nixie

    This is my Nixie clock project. It was created as an excuse to learn more about electronics and it touches on power circuits, microcontrollers, serial communications, and more.

    45 parts
  • 2 layers21.1 × 31.8 mmNixie Driver, the printed circuit board in 3D

    Nixie Driver

    Fish-in-a-Barrel/Nixie

    This is my Nixie clock project. It was created as an excuse to learn more about electronics and it touches on power circuits, microcontrollers, serial communications, and more.

    18 parts
  • 2 layers24.1 × 33.7 mmICSP Adapter, the printed circuit board in 3D

    ICSP Adapter

    Fish-in-a-Barrel/Nixie

    This is my Nixie clock project. It was created as an excuse to learn more about electronics and it touches on power circuits, microcontrollers, serial communications, and more.

    5 parts
  • 2 layers6.3 × 27.9 mmSeparator, the printed circuit board in 3D

    Separator

    Fish-in-a-Barrel/Nixie

    This is my Nixie clock project. It was created as an excuse to learn more about electronics and it touches on power circuits, microcontrollers, serial communications, and more.

    5 parts

Similar boards

  • 2 layers65 × 30 mmRpiNixieBarGraphHat3x, the printed circuit board in 3D

    RpiNixieBarGraphHat3x

    Enthusela/DesktopControlPanel

    An open-source, hand-built, tactile, home-brew smart-home hub with analog PC audio monitoring and control.

    65 parts
  • 2 layers236 × 85.7 mmEXO PCB V1, the printed circuit board in 3D

    EXO PCB V1

    leegeono/EXO_PCB_V1

    73 parts
  • 4 layers93 × 53.4 mmHL2IOBoard, the printed circuit board in 3D

    HL2IOBoard

    jimahlstrom/HL2IOBoard

    A PCB added to the HL2 with IO resources to control filters and antennas

    117 parts56
  • 2 layers137.2 × 83.8 mmGeneralPurposeAlarmDevicePCB, the printed circuit board in 3D

    GeneralPurposeAlarmDevicePCB

    PubInv/general-purpose-alarm-device

    A general purpose alarm device (with software) as a module for medical devices (and others)

    140 parts7AGPL-3.0
  • 4 layers25 × 37.3 mmLinKey, the printed circuit board in 3D

    LinKey

    Konkzor/LinKey

    Une clé WIFI lisant la sortie TIC du Linky connectée au broker MQTT d'un Home Assistant

    42 parts1CERN-OHL-W-2.0
  • 2 layers100 × 100 mmCan ssr, the printed circuit board in 3D

    Can ssr

    czalinski/ThlHats

    Test devices with Raspberry PI HAT form factor

    201 partsMIT
  • 2 layers21 × 9 mmFanPWMtoRotorLock, the printed circuit board in 3D

    FanPWMtoRotorLock

    mlh5599/FanPWMtoRotorLock

    Converts the output from a 12v PWM fan to a rotor lock detector signal

    13 partsMIT