Skip to the content
PCBKitNew board
2 layers101.6 × 27.9 mmProgram counter, the printed circuit board in 3D

Program counter

ifilot/sap-smd2

Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

Size
101.6 × 27.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
43
Pads
138
Tracks, vias
503, 34
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
14 Jan 2025
Updated
26 Jan 2025

Overview

Program counter is an open-source printed circuit board by ifilot, from the ifilot/sap-smd repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 2-layer board of 101.6 × 27.9 mm with 26 parts on 43 nets, routed with 503 tracks and 34 vias.

It is built around the 74HC245D, 74HC161S and 74HC00D. Its parts include 11 diodes, 4 capacitors, 4 ICs, 3 resistors and 2 connectors. It belongs with the retro computing and games boards of this library.

Main components

3

README

README.md

Modular 8-bit "Simple as Possible" TTL-Logics Computer

Work in Progress CERN-OHL

This project showcases the design and construction of a modular 8-bit computer built with TTL logic units. The core principle behind the project is to create a "Simple as Possible" system, focusing on simplicity, modularity, and compactness.

SAP-SMD demo

Key Features

  • TTL Logic-Based Design: The computer is built using traditional TTL (Transistor-Transistor Logic) components, adhering to a fundamental, hands-on approach to computing.
  • Modular Architecture: Designed for modularity, each functional unit (ALU, registers, memory, control logic, etc.) is implemented as a separate module, allowing for easy debugging, customization, and scalability.
  • Compact Form Factor: By predominantly using SMD (Surface-Mount Device) components, the overall size of the computer is significantly reduced compared to traditional through-hole designs, making it more efficient and portable.
  • Educational Value: Serves as an excellent learning resource for understanding the basic principles of digital logic, computer architecture, and how these concepts come together to form a functional computing system.
  • Customization Potential: The modular approach allows users to experiment with different configurations and expand the system to suit specific needs or projects.

Technical specifications

  • 8 bit program counter
  • 256 bytes of RAM and 256 bytes of program ROM
  • 256 configurable programs via a dip switch
  • Three general-purpose register: A, B and T
  • Simple ALU allowing for addition and subtraction
  • EEPROM-configurable instruction decoder
  • Custom assembly language including Python-based assembler

Goals of the Project

The project aims to:

  1. Simplify Complexity: Break down the workings of a computer into comprehensible modules without unnecessary abstraction.
  2. Promote Learning: Provide an accessible platform for enthusiasts, educators, and students to explore computer design.
  3. Encourage Miniaturization: Demonstrate how SMD components can be used effectively in hobbyist and educational projects to save space while maintaining functionality.

Why SMD Components?

SMD components offer several advantages:

  • Space Efficiency: Significantly smaller than through-hole components, enabling more compact designs.
  • Modern Availability: Easier to source and more reflective of contemporary electronics practices.
  • Scalability: Allows for a more complex system without requiring excessive physical space.

Who Is This For?

This project is ideal for:

  • Hobbyists and Makers interested in retrocomputing and hardware design.
  • Students and Educators looking for hands-on experience with digital logic and computing fundamentals.
  • Researchers and Enthusiasts exploring minimalist computing and modular design approaches.

Getting Started

  1. Clone the Repository: Download the files and schematics from this repository.
  2. Review the Documentation: Detailed explanations and schematics for each module are available in the docs directory.
  3. Assemble and Test: Follow the provided instructions to assemble and test the modules step-by-step.
  4. Customize: Modify or expand the design to suit your needs or explore specific areas of interest.

Contributing

Contributions to this project are welcome! If you have ideas for improvements, additional features, or alternative designs, feel free to fork the repository and submit a pull request.

Parts

26
QtyValueFootprintReferences
8LED_SmallLED_SMD:LED_0805_2012MetricD1, D2, D3, D4, D5, D6, D7, D8
4CCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4
3330Resistor_SMD:R_0805_2012MetricR1, R2, R3
2220Resistor_SMD:R_Array_Convex_4x0603RN1, RN2
274HC161Package_SO:SO-16_3.9x9.9mm_P1.27mmU1, U2
174HC00Package_SO:SO-14_3.9x8.65mm_P1.27mmU4
174HC245Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmU3
1BUSConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ1
1CELED_SMD:LED_0805_2012MetricD9
1COLED_SMD:LED_0805_2012MetricD11
1JLED_SMD:LED_0805_2012MetricD10
1SIGNALSConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ2

Questions

How big is the Program counter PCB?

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

What parts does the Program counter use?

26 parts, built around the 74HC245D, 74HC161S and 74HC00D. 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 ifilot/sap-smd repository on GitHub, at the commit this page was made from: the board is pcb/components/program_counter/program_counter.kicad_pcb and its schematic pcb/backplates/bp-leanplate/bp-leanplate.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 CERN-OHL-S-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 ifilot/sap-smd

10
  • 2 layers101.6 × 55.9 mmClock, the printed circuit board in 3D

    Clock

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    72 parts2CERN-OHL-S-2.0
  • 2 layers101.6 × 55.9 mmInstruction decoder, the printed circuit board in 3D

    Instruction decoder

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    68 parts2CERN-OHL-S-2.0
  • 2 layers101.6 × 55.9 mmAlu advanced, the printed circuit board in 3D

    Alu advanced

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    51 parts2CERN-OHL-S-2.0
  • 2 layers101.6 × 55.9 mmRamrom, the printed circuit board in 3D

    Ramrom

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    48 parts2CERN-OHL-S-2.0
  • 2 layers101.6 × 55.9 mmAlu, the printed circuit board in 3D

    Alu

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    42 parts2CERN-OHL-S-2.0
  • 2 layers101.6 × 55.9 mmOutput register, the printed circuit board in 3D

    Output register

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    30 parts2CERN-OHL-S-2.0
  • 2 layers319.9 × 154.4 mmBp leanplate, the printed circuit board in 3D

    Bp leanplate

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    29 parts2CERN-OHL-S-2.0
  • 2 layers101.6 × 27.9 mmGeneral purpose registers, the printed circuit board in 3D

    General purpose registers

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    23 parts2CERN-OHL-S-2.0
  • 2 layers48.3 × 27.9 mmBusreader, the printed circuit board in 3D

    Busreader

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    16 parts2CERN-OHL-S-2.0
  • 2 layers101.6 × 55.9 mmLcd display, the printed circuit board in 3D

    Lcd display

    ifilot/sap-smd

    Modular 8-bit computer built with TTL logic units to create a "Simple as Possible" system

    12 parts2CERN-OHL-S-2.0

Similar boards

  • 2 layers245.1 × 160 mm8-Bit CPU 32k, the printed circuit board in 3D

    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 mm8-Bit CPU 32k, the printed circuit board in 3D

    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 mm8-Bit CPU 32k, the printed circuit board in 3D

    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 mm8-Bit CPU 32k, the printed circuit board in 3D

    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 layers208 × 110 mm8 16 computer 2, the printed circuit board in 3D

    8 16 computer 2

    halfburnttoast/TCPU816-v1

    Version 1.1 of my 8-bit, TTL computer.

    120 parts21
  • 4 layers158.8 × 104.1 mm8-Bit CPU, the printed circuit board in 3D

    8-Bit CPU

    frenchie/8-Bit-Computer

    An 8-Bit Computer

    323 parts20
  • 2 layers178 × 711 mmMSAP-2 rev.A SMD, the printed circuit board in 3D

    MSAP-2 rev.A SMD

    mehrantsi/MSAP-2

    An 8-bit computer. Successor to MSAP-1

    658 parts13MIT
  • 2 layers152.4 × 162.6 mmVGA, the printed circuit board in 3D

    VGA

    GeraKuznetsov/M68K-MBC

    A M68k Multi-Board Computer design. The design basics is as follows: 1) A backplane PCB contains the majority of the bus, such as the address and data lines. 2) Cards slot into the backplane.

    143 parts10