

Pcb9segCounter
SAO 9 Segment 2 Digit Counter
- Size
- 72.1 × 78.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 57
- Nets
- 33
- Pads
- 162
- Tracks, vias
- 335, 8
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 26 Sep 2024
- Updated
- 31 Oct 2025
Overview
Pcb9segCounter is an open-source printed circuit board by martinbros, from the martinbros/9SegCounter repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 72.1 × 78.5 mm with 57 parts on 33 nets, routed with 335 tracks and 8 vias.
It is built around the ATTINY84-20SSU, SK6805-EC10-000 and 10129381-906002BLF. Its parts include 19 capacitors, 18 diodes, 7 resistors, 6 switches and 2 connectors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
3ATTINY84-20SSU
SOIC-14-40℃~+85℃ 10bit 12 2.7V~5.5V 20MHz 512Byte 512Byte 8 Bit 8KB AVR Built-in FLASH SOIC-14 Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)SK6805-EC10-000
SMD-4P,1.1x1.1mm-40℃~+80℃ 0.33mm 0.3mA 1.1mm 1.1mm 120mcd~240mcd 160° 2000V 3.5V~5.5V 40mcd~80mcd 460nm~470nm 4kHz 520nm~530nm 60mcd~120mcd 620nm~625nm 800Kbit/s Built-in power-on reset circuit、Built-in one-way transmission function Semi-transparent lens SMD-4P,1.1x1.1mm RGB LEDs(Built-in IC) ROHSOPSCO OptoelectronicsUncategorised10129381-906002BLF
插件,P=2.54mm-55℃~+105℃ 110V 2 2.29mm 2.54mm 2.54mm 2.54mm 3A 5.84mm 6P Black Copper alloy Pin Header Through Hole 插件,P=2.54mm Pin Headers ROHSAmphenolPin Headers
README
README.mdNine Segment Counter SAO


Description
Use this handy little SAO to count whatever your heart desires: how many conversations you have at Supercon, how many times someone asks what SAO stands for, how many times someone asks "What are you working on?". By using the onboard buttons, I2C interface, or clocking the GP2 pin, the Nine Segment Counter SAO will indicate to the world whatever quantity you are keeping track of.
Operation
Store a 2 digit number and display the number using an atypical 9 segment display instead of the typical 7
Using the buttons, a user can store 49 unique numbers in non-volatile memory. Each unique number is identified by the color of the digits.
Using the I2C bus, the user has full read and write access to the ATTiny 84's 512 byte EEPROM and has full command of the display (displayed number and digit color).
Button Interface
- Pressing a button above a digit increases that digit by 1
- Pressing a button below a digit decreases that digit by 1
- The displayed digit is stored as a decimal 2 digit number (0-99)
- Pressing the buttons above and below a digit simultaneously changes the color of that digit
- Each unique two digit color combination corresponds to a unique number saved in non-volatile memory
- 7 unique colors per "ones" digit x 7 unique colors per "tens" digit = 49 unique values stored in non-volatile memory
- EEPROM Address location is built by taking the "ones" position color index (0-6) and adding it to the "tens" position color index which has been multipled by 10 (0-6 x 10) [e.g. 00, 02, 03 ... 07, 10, 11 ... 17, 20 ... 27 ... 77]
I2C Interface
- I2C Address: 4
Display Functions
- 1 8-bit message: the display will update to show the sent number (Displayed number is not stored in memory)
- 3 8-bit messages: set the RGB values of the digits to be displayed (Digit must be refreshed to update color)
- 6 8-bit messages: set the RGB values of the tens place digit and then ones place digit (Digit must be refreshed to update color)
Memory Functions
- 2 8-bit message: The sent number is converted to a 16-bit EEPROM address pointer, the display will update to display the value stored in memory.
- 4 8-bit messages: first 2 bytes are combined to a 16-bit EEPROM address pointer, third byte is the data to be stored in the EEPROM, the last byte is a throwaway
- 5 8-bit messages: The entire EEPROM is filled with the contents of the first message, the remaining 4 messages are discarded
GP1 Interface
- GP1 is normally pulled high. By driving GP1 low, the displayed number will be incremented by 1
- Max clock speed is ~150Hz
- Displayed number is not stored in memory
GP2 Interface
- GP2 is connected directly to the first Neopixel and is terminated with a 470 ohm resistor. If you desire, feel free to implement the Neopixel protocol and set the segments however you like! Use the reference photo below for the sequence of the neopixels.

Parts
57| Qty | Value | Footprint | References |
|---|---|---|---|
| 19 | 0.1u | Capacitor_SMD:C_0805_2012Metric | C1, C2, C3, C4, C5, C6, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 +3 |
| 18 | ~ | customParts:1x1mm SMD RGB LED | D1, D2, D3, D4, D5, D6, D7, D10, D11, D12, D13, D14, D15, D16, D17, D18 +2 |
| 5 | 1k | Resistor_SMD:R_0805_2012Metric | R2, R3, R5, R6, R7 |
| 4 | ~ | MountingHole:MountingHole_2.2mm_M2_ISO7380 | H1, H2, H3, H4 |
| 4 | ~ | customParts:PTS636 SK43 LFS | SW1, SW2, SW3, SW4 |
| 2 | ~ | customParts:9 Segment 38x19x3 | S1, S2 |
| 1 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4 |
| 1 | 500 | Resistor_SMD:R_0805_2012Metric | R1 |
| 1 | ATtiny84A-SS | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U1 |
| 1 | AVR-ISP-6 | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J1 |
| 1 | SAO | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J2 |
Similar boards
- 2 layers57.7 × 25.1 mm

- 4 layers109.5 × 60.7 mm

- 4 layers110.9 × 59.7 mm

- 4 layers109.4 × 54.3 mm

Procon button board
HandHeldLegend/HHL-ProCon-Parts
Replica parts for Switch Pro Controller
35 parts2GPL-3.0 - 4 layers140 × 51.5 mm

LatteJr Main Board
HandHeldLegend/Latte-Jr-HW
The 3D shell, buttons, and other associated models are licensed under a Creative Commons Attribution 4.0 International License .
129 parts - 4 layers125.7 × 76.5 mm

UGC Main R5
HandHeldLegend/GC-Ultimate
The 3D shell, buttons, and other associated models are licensed under a Creative Commons Attribution 4.0 International License .
159 parts62 - 6 layers12 × 12 mm

SK6805-EC10 8x8 1.5mm pitch
JChalka/SK6805-EC10-8x8
Gerber Files for RGKeeb 8x8 Matrix using SK6805-EC10
72 parts - 2 layers57.6 × 17.5 mm

Questions
How big is the Pcb9segCounter PCB?
It measures 72.1 × 78.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Pcb9segCounter use?
57 parts, built around the ATTINY84-20SSU, SK6805-EC10-000 and 10129381-906002BLF. 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 Pcb9segCounter KiCad files?
From the martinbros/9SegCounter repository on GitHub, at the commit this page was made from: the board is pcb9segCounter/pcb9segCounter.kicad_pcb and its schematic pcb9segCounter/9SegDigit.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Pcb9segCounter design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).