

Program counter
Educational 8 bit CPU
- Size
- 100 × 50 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 59
- Nets
- 75
- Pads
- 301
- Tracks, vias
- 648, 286
- Pours
- 578
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 25 Feb 2026
- Updated
- 2 Nov 2026
Overview
Program counter is an open-source printed circuit board by ostertag, from the ostertag/edu8 repository on GitHub, published under the GPL-2.0 licence. It is a 2-layer board of 100 × 50 mm with 59 parts on 75 nets, routed with 648 tracks and 286 vias.
It is built around the ATMEGA328P-AU, 74HC245D and 74HC161S, with the 74HC165D among its other parts. Its parts include 14 capacitors, 9 resistors, 9 ICs, 5 diodes and 2 connectors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
4ATMEGA328P-AU
TQFP-32(7x7)-40℃~+85℃ 1.8V~5.5V 10bit 1KB 20MHz 23 2KB 32KB 8 Bit AVR Built-in FLASH TQFP-32(7x7) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)74HC245D
SO-20-300mil-40℃~+125℃ 1 160uA 2V~6V 7.8mA 7.8mA 74HC 8 9ns@4.5V,50pF Bidirectional Tri-State SOIC-20-300mil Buffers, Drivers, Receivers, Transceivers ROHSNexperiaBuffers, Drivers, Receivers, Transceivers74HC161S
SOP-160℃~+70℃ 20MHz 2V~6V 4 500mW Asynchronous Hexadecimal Counter Rising Edge Synchronous Up Counter SOP-16 Counters, Dividers ROHSGRCounters, Dividers74HC165D
SO-16-40℃~+125℃ 1 28ns@6V,50pF 2V~6V 35MHz 500mW 74HC 8 Parallel or Serial to Serial SOIC-16 Shift Registers ROHSNexperiaShift Registers
README
README.mdedu8
Educational 8 bit CPU
Parts
59| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | 100nF | Capacitor_SMD:C_0805_2012Metric | C1, C2, C3, C4, C5, C6, C7, C8, C12, C13, C14 |
| 7 | TestPoint | TestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mm | TP1, TP2, TP3, TP4, TP5, TP6, TP7 |
| 5 | 1k | Resistor_SMD:R_0805_2012Metric | R1, R2, R3, R4, R5 |
| 4 | 10k | Resistor_SMD:R_0805_2012Metric | R6, R7, R8, R9 |
| 4 | 74HC161 | Package_SO:SO-16_3.9x9.9mm_P1.27mm | U1, U2, U3, U4 |
| 4 | ToolingHole | MountingHole:ToolingHole_1.152mm | H3, H4, H5, H6 |
| 2 | 12pF | Capacitor_SMD:C_0805_2012Metric | C10, C11 |
| 2 | 74HC165 | Package_SO:SO-16_3.9x9.9mm_P1.27mm | U7, U8 |
| 2 | 74HC245 | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U5, U6 |
| 2 | Fiducial | Fiducial:Fiducial_0.5mm_Mask1mm | FID1, FID2 |
| 2 | MountingHole_Pad | MountingHole:MountingHole_2.5mm_Pad_Via | H1, H2 |
| 2 | SW_Push | 8-bit_computer:SW_Push_1P1T_XKB_TS-1187A | SW1, SW2 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric | C9 |
| 1 | 16MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | ATmega328P-A | Package_QFP:TQFP-32_7x7mm_P0.8mm | U9 |
| 1 | Conn_01x06_Pin | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J2 |
| 1 | Conn_01x18_Pin | Connector_PinHeader_2.54mm:PinHeader_2x09_P2.54mm_Horizontal | J1 |
| 1 | H_IN | LED_SMD:LED_0805_2012Metric | D3 |
| 1 | H_OUT | LED_SMD:LED_0805_2012Metric | D4 |
| 1 | INC | LED_SMD:LED_0805_2012Metric | D5 |
| 1 | L_IN | LED_SMD:LED_0805_2012Metric | D1 |
| 1 | L_OUT | LED_SMD:LED_0805_2012Metric | D2 |
| 1 | MAX7219_module | 8-bit_computer:MAX7219 7-segment module | DS1 |
| 1 | Val** | 8-bit_computer:by-nc-sa.eu | Ref** |
Questions
How big is the Program counter PCB?
It measures 100 × 50 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Program counter use?
59 parts, built around the ATMEGA328P-AU, 74HC245D, 74HC161S and 74HC165D. 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 Program counter KiCad files?
From the ostertag/edu8 repository on GitHub, at the commit this page was made from: the board is CAD/program_counter/program_counter.kicad_pcb and its schematic CAD/alu/alu.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Program counter design in my own project?
Its repository publishes it under the GPL-2.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).
More from ostertag/edu8
8- 2 layers

- 2 layers100 × 60 mm

- 2 layers100 × 70 mm

- 2 layers90 × 45 mm

- 2 layers80 × 40 mm

- 2 layers70 × 39 mm

- 2 layers75 × 28 mm

- 2 layers100 × 70 mm

Similar boards
- 2 layers245.1 × 160 mm

8-Bit CPU 32k
slu4coder/Minimal-64x4-Home-Computer
My DIY TTL home computer with VGA and PS/2 and 4x the processing power of a Commodore C64 or Apple II.
139 parts326 - 2 layers191.8 × 121.3 mm

8-Bit CPU 32k
slu4coder/Minimal-UART-Computer-1-2
Legacy: Version 1 and 2 of my TTL-only CPU featuring UART I/O, an expansion port, 512KB SSD at up to 10MHz clock speed
109 parts184 - 2 layers306.1 × 130.2 mm

8-Bit CPU 32k
slu4coder/Minimal-64-Home-Computer
Legacy: Full TTL-only home computer with VGA and PS/2 and twice the processing power of a Commodore 64
132 parts94 - 2 layers208.9 × 170.8 mm

8-Bit CPU 32k
slu4coder/Minimal-UART-Computer-3
Version 3 of my educational DIY TTL computer built around a UART serial interface - now with blinkenlights!
207 parts54 - 2 layers180.3 × 112.4 mm

- 2 layers369.6 × 127.6 mm

- 2 layers208 × 110 mm

- 4 layers158.8 × 104.1 mm
