Skip to the content
PCBKitNew board
2 layers81.3 × 82.6 mmProgram Counter, the printed circuit board in 3D

Building a computer from scratch using 74xx logic chips

Size
81.3 × 82.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
15
Nets
85
Pads
250
Tracks, vias
788, 9
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
11 Apr 2018
Updated
4 May 2020

Overview

Program Counter is an open-source printed circuit board by DutchMaker, from the DutchMaker/TTL-computer repository on GitHub. It is a 2-layer board of 81.3 × 82.6 mm with 15 parts on 85 nets, routed with 788 tracks and 9 vias.

Its parts include 9 ICs and 2 connectors.

README

README.md

74xx Computer

My attempt at building a computer from scratch with 74xxx logic chips.

Project Shelved!

I have abandoned this project, but only to reboot it with a different approach.
Make sure to check The DM-02 Computer which is my second attempt at a computer from scratch!

Status as of September 4th, 2019:

General architecture has been worked out as high level schematic.

Worked on instruction set, micro code, module documentation & general notes from time to time (see: Documentation). Only thing missing right now is some documentation on each of the modules.

The entire computer has been built in Logisim to verify that the way I had everything in mind is actually going to work.

I've built a microcode compiler for the Controller's ROM image. This takes a source file which defines all the microcode and compiles it into a binary image that is loaded into the microcode ROM.

The 74xx Computer's instruction set has been implemented, its assembly language is fully documented and I've built an assembler to convert assembly programs to machine code.

Circuit diagrams and PCBs have all been designed in KiCad and have been or are currently being produced:

  • Clock (built and tested)
  • Registers (built and tested)
  • ALU (built and tested)
  • Program Counter (built and tested)
  • Stack Pointer (built and tested)
  • Flags register (built and tested)
  • Memory (built and tested)
  • Memory Access Register (built and tested)
  • Controller (redesigned circuit to account for reset ciruitry - waiting for PCB production)
  • Main Board ( built and tested)

TODO's / Plans:

  • Build the computer in real life (IN PROGRESS)
    • First revision is based on separate PCBs that are all connected together by one large main PCB.
    • If all works out, there may be a second revision will be one large PCB that contains all modules as one circuit.
  • Write additional/updated documentation on all modules.

Assembled computer

Parts

15
QtyValueFootprintReferences
474x191Package_DIP:DIP-16_W7.62mmU2, U3, U4, U5
474x245Package_DIP:DIP-20_W7.62mmU6, U7, U8, U9
2470Resistor_THT:R_Array_SIP9RN1, RN2
2HDSP-4830_2Display:HDSP-4830BAR1, BAR2
174x02Package_DIP:DIP-14_W7.62mmU1
1Conn_01x18_MaleConnector_PinHeader_2.54mm:PinHeader_1x18_P2.54mm_VerticalJ1
1MEMORY ADDRESSConnector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_VerticalJ2

Questions

How big is the Program Counter PCB?

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

What parts does the Program Counter use?

15 parts. 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 DutchMaker/TTL-computer repository on GitHub, at the commit this page was made from: the board is Circuits/KiCad/Program-Counter/Program-Counter.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Program Counter design in my own project?

Its repository states no licence, so its author keeps all rights: ask DutchMaker before reusing the design.

More from DutchMaker/TTL-computer

10
  • 2 layers191.1 × 114.3 mmController, the printed circuit board in 3D

    Controller

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    60 parts24
  • 2 layers286.4 × 484.5 mmCircuits, the printed circuit board in 3D

    Circuits

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    58 parts24
  • 2 layers144.8 × 114.3 mmMemory Access Register, the printed circuit board in 3D

    Memory Access Register

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    39 parts24
  • 2 layers76.2 × 68.6 mmClock, the printed circuit board in 3D

    Clock

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    38 parts24
  • 2 layers132.1 × 86.4 mmALU, the printed circuit board in 3D

    ALU

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    30 parts24
  • 2 layers149.2 × 86.4 mmMemory, the printed circuit board in 3D

    Memory

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    29 parts24
  • 2 layers76.2 × 55.9 mmFlags Register, the printed circuit board in 3D

    Flags Register

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    16 parts24
  • 2 layers81.3 × 50.8 mmStack Pointer, the printed circuit board in 3D

    Stack Pointer

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    9 parts24
  • 2 layers55.9 × 52.1 mmRegister, the printed circuit board in 3D

    Register

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    7 parts24
  • 2 layers53.3 × 52.1 mmInstruction Register, the printed circuit board in 3D

    Instruction Register

    DutchMaker/TTL-computer

    Building a computer from scratch using 74xx logic chips

    6 parts24

Similar boards

  • 2 layers19 × 76 mmSub, the printed circuit board in 3D

    Sub

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    15 parts3kApache-2.0
  • 2 layers26.7 × 62.2 mmDeniseadapter, the printed circuit board in 3D

    Deniseadapter

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    15 parts1kGPL-3.0
  • 2 layers100 × 44 mmVideoslot, the printed circuit board in 3D

    Videoslot

    mntmn/amiga2000-gfxcard

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

    15 parts1k
  • 2 layers91 × 51 mmBusinessCard, the printed circuit board in 3D

    BusinessCard

    hackclub/OnBoard

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

    15 parts915
  • 2 layers24.3 × 57.9 mmFlosspods pro flex, the printed circuit board in 3D

    Flosspods pro flex

    kenp-io/not-for-airpods-repairs

    The content of this repository is licensed under the WTFPL License. Please have a close look at the terms before using this material.

    15 parts609WTFPL
  • 2 layers20.3 × 15.2 mmL0 Load, the printed circuit board in 3D

    L0 Load

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    15 parts546MIT
  • 2 layers68 × 50 mmEleLab v2 PowerFeed, the printed circuit board in 3D

    EleLab v2 PowerFeed

    Chrismettal/EleLab_v2

    Cheap DIY lab system for hobbyists and the tinkering folk

    15 parts531GPL-3.0
  • 2 layers50.8 × 35.6 mmInterface, the printed circuit board in 3D

    Interface

    harbaum/I2C-Tiny-USB

    Cheap and simple I²C to USB interface

    15 parts454