Skip to the content
4 layers126.1 × 43.6 mmLaunch clock pcb v3 demo, the printed circuit board in 3D

Launch clock pcb v3 demo

crnkovicaaron/launchclock

Key components: - MCU: ATmega328P - RTC: DS3231M with CR1220 battery backup - Displays: MAX7219-driven dual 4-digit 7-segment (5641AS) and 8x8 dot matrix (1088AS) - Input: 4x4 matrix keypad - Power: 5V DC via 5.5x2.1mm…

Size
126.1 × 43.6 mm
Copper layers
4
Thickness
1.54 mm
Parts
48
Nets
100
Pads
268
Tracks, vias
523, 84
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
27 Jul 2026
Updated
4 Oct 2026

Overview

Launch clock pcb v3 demo is an open-source printed circuit board by crnkovicaaron, from the crnkovicaaron/launchclock repository on GitHub. It is a 4-layer board of 126.1 × 43.6 mm with 48 parts on 100 nets, routed with 523 tracks and 84 vias.

It is built around the ATMEGA328-PU, MAX7221CWG+ and AP22816BKWT, with the DS3231MZ+ and USBLC6-2SC6 among its other parts. Its parts include 14 capacitors, 13 resistors, 7 ICs, 2 connectors and 2 switches. It belongs with the lEDs and displays boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

Rocket Launch Countdown Clock

A standalone digital countdown clock for rocket launches. It displays countdown and mission elapsed time, is controlled entirely using a keypad, and requires no external computer or network. It is built around an ATmega328P microcontroller, DS3231 real-time clock, and MAX7219-driven 7-segment and dot matrix displays.

Finished board photo Version 2 Box prototype

Features

  • LED Displays: 7-segment for time and dot matrix for mode/status glyphs
  • Fully keypad-driven UI
  • Launch and current time/date setting (including launch date nudging)
  • Countdown pausing
  • Low-power sleep mode
  • Display brightness control
  • Configurable countdown time display format
  • Error handling including invalid inputs and RTC power loss

Hardware

Custom PCB designed in KiCad around an ATmega328P microcontroller.

Key components:

  • MCU: ATmega328P
  • RTC: DS3231M with CR1220 battery backup
  • Displays: MAX7219-driven dual 4-digit 7-segment (5641AS) and 8x8 dot matrix (1088AS)
  • Input: 4x4 matrix keypad
  • Power: 5V DC via 5.5x2.1mm barrel jack (or solder pads to enclosure-mounted barrel jack)
  • Communication: I²C (RTC) and SPI (display drivers & ISP)
  • Assembly: Hand soldered; uses both THD and SMD components
  • Enclosure: Custom 3D printed FreeCAD enclosure is WIP

KiCad schematic and PCB files are under the 'hardware/' directory. Assorted photos can be found under the 'assets/' directory.

Status: Version 2 is completed and functional. Version 3 is WIP.

Firmware

Written in Arduino C++ (AVR) for the ATmega328P (Arduino Uno).

The firmware implements a keypad-driven state machine that manages countdown/MET display, time/date setting, pause, brightness, sleep, and error handling.

Key elements:

  • Libraries: RTClib (DS3231), Keypad, LedControl (MAX7219), EEPROM, plus AVR sleep/power utilities
  • Architecture: Event-driven keypad handling and periodic 1-second time updates; use of mode flags for UI states
  • Displays: Dual MAX7219 display control with PROGMEM bitmaps
  • Persistence: Launch time/date stored in EEPROM
  • Power: Full power-down sleep mode woken by keypad pin-change interrupt
  • Robustness: Input validation, RTC power-loss detection, and dedicated error states

Source is a single sketch organized into functional blocks (display, input, timekeeping, power, UI modes). Programming is performed via the board's ISP header.

Development History

Initial Prototype

This Arduino breadboard prototype was an MVP with the singular goal of counting down to the Artemis II launch, with all work being completed entirely the day prior. It has the 7-segment displays wired directly to an Arduino Mega, uses a DS1307 RTC breakout board, and lacks any inputs.

Initial prototype photo

Revised Prototype

This revised prototype contains around a month of additions and improvements to the initial prototype. These include the addition of keypad inputs (out of frame), a dot matrix display, and corrected/improved display wiring. The vast majority of the time since the initial prototype was spent programming the firmware.

Revised prototype photo

Version 1 PCB

This custom 2-layer PCB mounts directly to an Arduino Mega using header pins, and the 7-segment displays mount to the board. With exception to the SMD resistors, there are essentially no changes to the circuit or its components between the revised prototype and the version 1 board. The main goal of this design was to become familiar with KiCad and PCB design.

Version 1 schematic Version 1 image

Version 2 PCB

The main goal of this version was to eliminate the Arduino and breakout boards by integrating all necessary functionality onto the board itself. This includes driving the 7-segment displays with a MAX7219 in the same manner as the dot matrix to allow the use of an MCU that is easier to solder by hand (instead of the ATmega2560 used on the Arduino Mega). The board is still 2-layers, programming is done via the ISP header, and numerous test points were integrated for troubleshooting and experimentation.

Version 2 schematic Version 2 image

Version 3 PCB (Work in Progress)

In this version, the barrel jack is superseded by a USB-C port with power and USB 2.0 data functionality. The MCU and display drivers use surface-mount packages in favor of through holes and most passive components are downsized to 0603 parts compared to the 1206 parts on version 2, allowing the total board area to be reduced by 28% compared to version 2. The board was designed to reduce EMI (mainly radiated), which includes switching to a 4-layer board. The revision also addresses numerous smaller issues with the version 2 board, including a soft but audible whine.

Version 3 schematic Version 3 KiCad render

Parts

48
QtyValueFootprintReferences
60.1µFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC3, C4, C5, C6, C7, C9
410kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R5, R10
4MountingHole_3.2mm_M3MountingHole:MountingHole_3.2mm_M3MT3, MT3, MT3, MT3
34.7µFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC12, C13, C14
210µFlaunch_clock_footprints:lc_10µF_tantalumC10, C11
21kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR12, R13
222pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C2
24.7kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3, R4
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR8, R9
2MAX7221Package_SO:SOIC-24W_7.5x15.4mm_P1.27mmU2, U3
2~launch_clock_footprints:launch_clock_7segDS1, DS2
10.5AFuse:Fuse_1206_3216Metric_Pad1.42x1.75mm_HandSolderF1
110µFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC8
116MHzlaunch_clock_footprints:16MHz_resonatorX1
11MResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR11
122.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6
13VBattery:BatteryHolder_Keystone_500BT1
147.5kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR7
1AP22816BKWTPackage_TO_SOT_SMD:SOT-23-5U6
1ATmega328PPackage_QFP:TQFP-32_7x7mm_P0.8mmU1
1CP2102N-Axx-xQFN24Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mmU5
1DS3231MPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU4
1SAMESKY_UJ20-C-H-G-SMT-1-P16-TRlaunch_clock_footprints:lc_USB-C_2J1
1SW_TS18-5-25-SL-260-SMT-TRlaunch_clock_footprints:lc_reset_buttonS2
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U7
1~Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ2
1~Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_HorizontalS1
1~launch_clock_footprints:1088AS_footprintDS3

More from crnkovicaaron/launchclock

2
  • 2 layers139.7 × 53.3 mmLaunch clock pcb v2 demo, the printed circuit board in 3D

    Launch clock pcb v2 demo

    crnkovicaaron/launchclock

    Key components: - MCU: ATmega328P - RTC: DS3231M with CR1220 battery backup - Displays: MAX7219-driven dual 4-digit 7-segment (5641AS) and 8x8 dot matrix (1088AS) - Input: 4x4 matrix keypad - Power: 5V DC via 5.5x2.1mm…

    39 parts
  • 2 layers101.6 × 53.3 mmLaunch clock pcb v1 demo, the printed circuit board in 3D

    Launch clock pcb v1 demo

    crnkovicaaron/launchclock

    Key components: - MCU: ATmega328P - RTC: DS3231M with CR1220 battery backup - Displays: MAX7219-driven dual 4-digit 7-segment (5641AS) and 8x8 dot matrix (1088AS) - Input: 4x4 matrix keypad - Power: 5V DC via 5.5x2.1mm…

    34 parts

Similar boards

  • 2 layers149.3 × 104.5 mmSequencer, the printed circuit board in 3D

    Sequencer

    michd/modular-synth

    Building a hardware modular synthesizer, this is where I'll collect module schematics and hardware designs.

    132 parts20
  • 2 layers189.2 × 148.6 mmEnlarger, the printed circuit board in 3D

    Enlarger

    ahradrhah/pcb

    65 parts
  • 2 layers149.9 × 99.1 mmDash, the printed circuit board in 3D

    Dash

    benke97/ER17-Dash-Prototype

    KiCad projects

    70 parts
  • 2 layers170 × 90 mmTimer v2, the printed circuit board in 3D

    Timer v2

    sudochamp/enlarger-timer

    An f-stop calculation capable darkroom enlarger timer. Designed to switch mains voltage to be a drop-in solution.

    51 partsGPL-3.0
  • 2 layers65 × 56 mmSignalHAT, the printed circuit board in 3D

    SignalHAT

    RobertPHeller/RPi-RRCircuits

    A collection of circuit designs for various MCUs, not just Raspberry Pis relating to Model Railroading

    22 parts24
  • 2 layers123.8 × 74.3 mmClock board, the printed circuit board in 3D

    Clock board

    chrisgian05/Digital_LED_clock

    A 6-digit 7-segment clock (HH:MM:SS) built around an ATmega328P, an external RTC, and a constant-current LED driver — split across two custom PCBs I designed in KiCad.

    43 parts
  • 2 layers68.6 × 53.3 mmTheeDuinovUnrouted, the printed circuit board in 3D

    TheeDuinovUnrouted

    theevanich/TheeDuino

    My own Arduino board with a RTC!

    39 parts

Questions

How big is the Launch clock pcb v3 demo PCB?

It measures 126.1 × 43.6 mm and has 4 copper layers, 1.54 mm thick.

What parts does the Launch clock pcb v3 demo use?

48 parts, built around the ATMEGA328-PU, MAX7221CWG+, AP22816BKWT and DS3231MZ+. 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 Launch clock pcb v3 demo KiCad files?

From the crnkovicaaron/launchclock repository on GitHub, at the commit this page was made from: the board is hardware/launch_clock_pcb_v3_demo/launch_clock_pcb_v3_demo.kicad_pcb and its schematic hardware/launch_clock_pcb_v1_demo/launch_clock_pcb_v1_demo.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Launch clock pcb v3 demo design in my own project?

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