Skip to the content
PCBKitNew board
2 layers101.6 × 55.9 mmInstruction decoder, the printed circuit board in 3D

Instruction decoder

ifilot/sap-smd2

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

Size
101.6 × 55.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
68
Nets
129
Pads
410
Tracks, vias
1,563, 111
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
14 Jan 2025
Updated
26 Jan 2025

Overview

Instruction decoder 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 × 55.9 mm with 68 parts on 129 nets, routed with 1,563 tracks and 111 vias.

It is built around the 74HC238D, 74HC00D and 74HC161S. Its parts include 32 diodes, 11 capacitors, 10 ICs and 7 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

68
QtyValueFootprintReferences
10CCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C6, C7, C8, C9, C10
674HC238Package_SO:SO-16_3.9x9.9mm_P1.27mmU4, U5, U7, U8, U9, U10
4220Resistor_SMD:R_Array_Convex_4x0603RN5, RN6, RN7, RN8
4330Resistor_SMD:R_Array_Convex_4x0603RN1, RN2, RN3, RN4
2SST39SF040Package_LCC:PLCC-32_THT-SocketU2, U6
1.1uFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC11
174HC00Package_SO:SO-14_3.9x8.65mm_P1.27mmU3
174HC161Package_SO:SO-16_3.9x9.9mm_P1.27mmU1
1CONTROL LINESConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ7
1INSTRUCTIONConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ1
1OCLA0LED_SMD:LED_0805_2012MetricD21
1OCLA1LED_SMD:LED_0805_2012MetricD22
1OCLA2LED_SMD:LED_0805_2012MetricD23
1OCLA3LED_SMD:LED_0805_2012MetricD24
1OCLB0LED_SMD:LED_0805_2012MetricD29
1OCLB1LED_SMD:LED_0805_2012MetricD30
1OCLB2LED_SMD:LED_0805_2012MetricD31
1OCLB3LED_SMD:LED_0805_2012MetricD32
1ORTHOGONAL CONTROL LINES 1AConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ3
1ORTHOGONAL CONTROL LINES 1BConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ4
1ORTHOGONAL CONTROL LINES 2AConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ5
1ORTHOGONAL CONTROL LINES 2BConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ6
1PARALLEL CONTROL LINESConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalJ2
1PCL0LED_SMD:LED_0805_2012MetricD17
1PCL1LED_SMD:LED_0805_2012MetricD18
1PCL2LED_SMD:LED_0805_2012MetricD19
1PCL3LED_SMD:LED_0805_2012MetricD20
1PCL4LED_SMD:LED_0805_2012MetricD25
1PCL5LED_SMD:LED_0805_2012MetricD26
1PCL6LED_SMD:LED_0805_2012MetricD27
1PCL7LED_SMD:LED_0805_2012MetricD28
1T0LED_SMD:LED_0805_2012MetricD1
1T1LED_SMD:LED_0805_2012MetricD2
1T10LED_SMD:LED_0805_2012MetricD11
1T11LED_SMD:LED_0805_2012MetricD12
1T12LED_SMD:LED_0805_2012MetricD13
1T13LED_SMD:LED_0805_2012MetricD14
1T14LED_SMD:LED_0805_2012MetricD15
1T15LED_SMD:LED_0805_2012MetricD16
1T2LED_SMD:LED_0805_2012MetricD3
1T3LED_SMD:LED_0805_2012MetricD4
1T4LED_SMD:LED_0805_2012MetricD5
1T5LED_SMD:LED_0805_2012MetricD6
1T6LED_SMD:LED_0805_2012MetricD7
1T7LED_SMD:LED_0805_2012MetricD8
1T8LED_SMD:LED_0805_2012MetricD9
1T9LED_SMD:LED_0805_2012MetricD10

Questions

How big is the Instruction decoder PCB?

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

What parts does the Instruction decoder use?

68 parts, built around the 74HC238D, 74HC00D and 74HC161S. 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 Instruction decoder KiCad files?

From the ifilot/sap-smd repository on GitHub, at the commit this page was made from: the board is pcb/components/instruction_decoder/instruction_decoder.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 Instruction decoder 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 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 mmProgram counter, the printed circuit board in 3D

    Program counter

    ifilot/sap-smd

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

    26 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 layers131.9 × 164.6 mmTic layout1, the printed circuit board in 3D

    Tic layout1

    alexiosc/cft

    The CFT homebrew minicomputer

    184 parts6GPL-3.0
  • 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