Skip to the content
2 layers50 × 50 mmAttiny44-ring, the printed circuit board in 3D

Open Source Mechanical Split Flap Display, AKA Solari display

Size
50 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
28
Pads
64
Tracks, vias
145, 0
Pours
87
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
15 Jun 2014
Updated
1 Sep 2026

Overview

Attiny44-ring is an open-source printed circuit board by TheBeachLab, from the TheBeachLab/alphabets repository on GitHub, published under the MIT licence. It is a 2-layer board of 50 × 50 mm with 21 parts on 28 nets, routed with 145 tracks and 0 vias.

It is built around the ATTINY44A-SSU. Its parts include 3 connectors, 2 capacitors, 1 resistor and 1 IC. It belongs with the lEDs and displays boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

V2/Hardware/Final/electronics/attiny1624-ring/README.md

Alphabets V2 ATtiny1624 ring module

This directory contains the editable KiCad 10 design for one Alphabets V2 split-flap module. The board keeps the existing 2x3 synchronous-ring connector, drives an external four-input stepper board, reads a powered HOME sensor, and uses the ATtiny1624's one-wire UPDI programming interface.

The hardware assignment follows Microchip's ATtiny1624/1626/1627 data sheet. Microchip documents PA0 as UPDI/RESET and PA1, PA2, and PA3 as SPI0 MOSI, MISO, and SCK respectively. The standard programming connection is the 2x3, 2.54 mm UPDI header described in Microchip's UPDI connection guide.

Circuit

  • U1: ATtiny1624-SSU in SOIC-14.
  • J1: 2x3 SMD ring connector for LATCH, CLOCK, serial data, +5 V, and GND.
  • J3: four logic outputs for the external stepper driver.
  • J4: powered three-pin HOME sensor connector with a 10 kOhm pull-up.
  • J5: 2x3 SMD UPDI connector; pins 1, 2, and 6 carry UPDI, target VDD, and GND. Pins 3 through 5 are intentionally not connected.
  • R1: 10 kOhm UPDI pull-up; R2: 10 kOhm HOME pull-up.
  • C1: 100 nF local MCU decoupling; C2: 1 nF high-frequency bypass; C3: 10 uF board bulk capacitance.
  • JP1 through JP4, JP6, and JP9: removable 0 Ohm 1206 links that partition power, ground, and ring signals for assembly and diagnosis.

The board defines this ATtiny1624 signal assignment:

FunctionMCU signalPhysical pin
VDDVDD1
LATCHPA4 / SPI0 SS2
HOMEPA53
Motor 4PB36
Motor 3PB27
Motor 2PB18
Motor 1PB09
UPDIPA0 / UPDI10
DATA_INPA1 / SPI0 MOSI11
DATA_OUTPA2 / SPI0 MISO12
CLOCKPA3 / SPI0 SCK13
GNDGND14

PA6 and PA7 remain available and are intentionally not connected in this revision. The matching firmware and host-side protocol tests are in ATtiny1624 module firmware.

Connectors

ConnectorPinout
J1 CHAIN1 LATCH, 2 CLOCK, 3 DATA_IN, 4 +5V, 5 DATA_OUT, 6 GND
J3 DRIVER1 MOTOR1, 2 MOTOR2, 3 MOTOR3, 4 MOTOR4
J4 HOME1 +5V, 2 HOME, 3 GND
J5 UPDI1 UPDI, 2 target VDD, 3-5 NC, 6 GND

The chain connector follows the module protocol: pins 1, 2, 4, and 6 are bused, while pin 5 of one module feeds pin 3 of the next module.

Single-sided construction

  • Finished outline: 50 x 50 mm.
  • All routed copper is on F.Cu; the design contains no vias or back-copper tracks.
  • Preferred tracks are 20 mil (0.508 mm). Constrained neckdowns are 16 mil (0.4064 mm), above the 15 mil minimum.
  • Copper clearance is 0.40 mm for a 0.40 mm milling tool.
  • Corners use native KiCad arcs with adaptive radii from 0.20 to 2.00 mm.
  • Width transitions use curved copper tapers and routed SMD entries use curved teardrops.
  • Every discrete resistor and capacitor uses a hand-solderable 1206 footprint.

Ten insulated wire links cross above the routed copper. Solder insulated wire between the two pads of each footprint; the dashed F.Fab line marks its assembly path and is not copper:

ReferenceSignalPad spacing
JP5CLOCK22.3 mm
JP7DATA_IN25.6 mm
JP8DATA_OUT23.5 mm
JP10UPDI16.6 mm
JP11chain GND29.7 mm
JP12motor phase 323.5 mm
JP13MCU power source17.7 mm
JP14motor phase 130.3 mm
JP15motor phase 224.5 mm
JP16main power distribution27.0 mm

Files and reproducible validation

  • attiny1624-ring.kicad_pro, .kicad_sch, and .kicad_pcb: editable native KiCad project files.
  • fabrication/: Gerbers, drill outputs, BOM, positions, and STEP model.
  • preview/: top render, front-copper drawing, and schematic drawing.
  • validation/: ERC and DRC/schematic-parity reports.
  • routing/attiny1624-ring.ses: checked-in single-layer routing session.
  • tools/: deterministic generators, route import, organic post-processing, and project-specific electrical/mechanical checks.

The normal reproducible path starts from the checked-in route:

sh
make schematic board route organic check fabrication previews

Set KICAD_CLI, KICAD_PYTHON, KIUTILS_PYTHON, and KICAD10_FOOTPRINT_DIR for the installed KiCad environment. When placement or the netlist changes, create a new session with:

sh
make autoroute FREEROUTING_JAR=/path/to/freerouting.jar

make check enforces the 50 x 50 mm outline, front-copper-only routing, zero vias, 16/20 mil widths, ten wire links, native arcs, teardrops, zero ERC/DRC violations, zero unrouted connections, and exact schematic-to-PCB parity.

Parts

21
QtyValueFootprintReferences
10R CHAIN DATA_OUT jumper 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJP8
10R CHAIN power bridge 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJP19
10R CLOCK MCU bridge 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJP16
10R CLOCK input jumper 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJP5
10R DATA chain bridge 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJP17
10R DATA input jumper 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJP7
10R ISP RESET crossover 1206Alphabets:R_1206_3216Metric_CompactCrossoverJP24
10R ISP SCK crossover 1206Alphabets:R_1206_3216Metric_CompactCrossoverJP25
10R ISP VCC bridge 1206Alphabets:R_1206_3216Metric_CompactCrossoverJP20
10R LATCH crossover 1206Alphabets:R_1206_3216Metric_CompactCrossoverJP22
10R LATCH input jumper 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJP6
10R MCU power bridge 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderJP18
10R POWER crossover 1 1206Alphabets:R_1206_3216Metric_CompactCrossoverJP21
10R POWER crossover 2 1206Alphabets:R_1206_3216Metric_CompactCrossoverJP23
1100n MCU 1206Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC1
110k RESET pull-up 1206Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR2
110u BULK 1206Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC2
1ATtiny44A-SSPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU1
1AVR_ISP_2X3Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical_SMDJ5
1CHAIN_RINGConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical_SMDJ1
1STEPPER_DRIVER_INConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical_SMD_Pin1LeftJ3

More from TheBeachLab/alphabets

1
  • 2 layers50 × 50 mmAttiny1624-ring, the printed circuit board in 3D

    Attiny1624-ring

    TheBeachLab/alphabets

    Open Source Mechanical Split Flap Display, AKA Solari display

    26 parts134MIT

Similar boards

  • 2 layersSv650 board, the printed circuit board in 3D

    Sv650 board

    RaysceneNS/SV-650-GearPositionIndicator

    This is a simple circuit that augments the second gen Suzuki SV650 to have a gear position indicator.

    10 parts12
  • 2 layers25.8 × 20 mmTM Warthog Open Analog Slew, the printed circuit board in 3D

    TM Warthog Open Analog Slew

    ServError/Thrustmaster_Warthog_Throttle_Alps_Slew_Mod

    An open source replacement for the terrible TM Warthog Throttle slew stick

    10 parts12
  • 2 layers30.5 × 24.1 mmTiny44, the printed circuit board in 3D

    Tiny44

    machineagency/tandem

    Backend functionality for physical-digital notebooks

    10 parts4CC-BY-4.0
  • 2 layersT44-serial clock v4, the printed circuit board in 3D

    T44-serial clock v4

    danlil666/documentation

    This is the starting point of me trying to use GitHub.

    15 partsMIT
  • 2 layers28.3 × 39.8 mmLevelShifter, the printed circuit board in 3D

    LevelShifter

    gusmanb/logicanalyzer

    24 channel, 100Msps logic analyzer hardware and software

    21 parts5.1kGPL-3.0
  • 2 layers171.2 × 72.9 mmAmiga gfxcard before pour, the printed circuit board in 3D

    Amiga gfxcard before pour

    mntmn/amiga2000-gfxcard

    MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog

    21 parts1k
  • 2 layers93.9 × 46 mmRectifier, the printed circuit board in 3D

    Rectifier

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    21 parts990GPL-3.0
  • 2 layers45.5 × 42.9 mmEsphome han reader, the printed circuit board in 3D

    Esphome han reader

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    21 parts915

Questions

How big is the Attiny44-ring PCB?

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

What parts does the Attiny44-ring use?

21 parts, built around the ATTINY44A-SSU. 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 Attiny44-ring KiCad files?

From the TheBeachLab/alphabets repository on GitHub, at the commit this page was made from: the board is V2/Hardware/Prototype/electronics/attiny44-ring/attiny44-ring.kicad_pcb and its schematic V2/Hardware/Final/electronics/attiny1624-ring/attiny1624-ring.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Attiny44-ring 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).