Skip to the content
4 layers90 × 88 mmControl, the printed circuit board in 3D

Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

Size
90 × 88 mm
Copper layers
4
Thickness
1.6 mm
Parts
129
Nets
158
Pads
585
Tracks, vias
1,248, 101
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
15 Feb 2025
Updated
7 Nov 2026

Overview

Control is an open-source printed circuit board by AJain9199, from the AJain9199/AOS16 repository on GitHub. It is a 4-layer board of 90 × 88 mm with 129 parts on 158 nets, routed with 1,248 tracks and 101 vias.

It is built around the 74AHC1G08GW, 74AHC1G32GW and 74AHC1G04SE, with the 74HC173D, 74AHC1G00GW and 74LS157PC among its other parts. Its parts include 32 resistors, 32 diodes, 24 capacitors, 21 ICs and 12 connectors.

Main components

7

README

README.md

[blocked]


Logo

AOS16

A self-made 16-bit computer.

Table of Contents
  1. About The Project
  2. Pictures
  3. Technical Details
  4. Directory Structure
  5. To-Do
  6. Acknowledgments

About The Project

AOS16 is a self-made 16-bit Reduced Instruction Set Computer (RISC) on PCBs, complete with a homebrew GPU for screen output. It is fully planned, designed and fabricated from scratch. A Turing-complete, Harvard-style computer with a completely custom architecture, at a blistering fast 10MHz.

The project is divided into smaller subsytems on PCBs, designed to interconnect via a central bus.

Features

  • 16-bit address and data buses
  • Hardware double buffering with parallel CPU and GPU operation
  • 10 MHz clock
  • 6 general-purpose registers, a stack pointer and a flags register
  • 65 Kb of general purpose RAM
  • 131 Kb of framebuffer (double buffered, so 65Kb usable)
  • 131 Kb of program memory

Why?

This project was a learning effort for me. I started this project wanting to learn more about computer architectures and gain hands-on experience with electrical engineering. Also, building a computer, from scratch, is the coolest project I've seen around. Some inspiration from amazing engineers including Ben Eater and jdh were more than enough to convince me to try my hand at this project.

How's it different?

Most homebrew computers on the internet are 8-bit computers built on breadboards. AOS16 is novel in its capabilities, being a 16-bit computer built on PCBs with a much higher clock speed, with display support directly integrated.

(back to top)

Pictures

Simulation of Color Palette on Screen

A simulation of the computer in Digital displaying the color palette on the screen


A GPU Test

GPU displaying the pillars of creation


ALU PCB

The Arithmetic Logic Unit in KiCAD


Logic Simulation in Digital

The logic simulation in Digital.


Fabricated Reg4x16 PCB

The Reg4x16 PCB


Fabricated Double Buffer PCB

The Double Buffer PCB


(back to top)

Technical Details

Details about the design decisions, design of the instruction word, etc. can be found in the Design Doc.

Directory Structure

  • assembler: Contains the source code for the AOS16 assembler
  • sim: Logic simulation files written for Digital
  • microcode: Microcode implementations written in MiLa
  • tests: some basic tests for ICs and the simulation
  • common: basic KiCAD schematics (registers, transceivers) which are shared across subsystems

Each of the remaining folders represents a subsystem, built on a separate PCB. Each folder will contain a KiCAD schematic and PCB file.

To-do

Main Phases of the project:

  • Finalize project parameters and design goals
  • Hardware:
    • Logic Simulation and Design
    • PCB Design
    • PCB Fabrication & integration
  • Software:
    • Microcode (with MiLa)
    • Assembly language design
    • Assembler
    • ROM programming software

Component / PhaseLogic SimulationPCB DesignFabrication and Integration
Double Buffer✅✅✅
Memory Controller✅✅✅
ALU✅✅✅
Registers✅✅✅
Control Unit✅✅✅
Program Counter✅✅☐
GPU✅✅☐
Main Data Bus✅✅☐
Phase Completed✅✅☐

(back to top)

Acknowledgments

(back to top)

Parts

129
QtyValueFootprintReferences
32220Resistor_SMD:R_0603_1608MetricR1, R2, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 +16
32LED_SmallLED_SMD:LED_0603_1608MetricD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +16
200.1uFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24 +4
8TestPointTestPoint:TestPoint_Pad_D1.0mmTP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8
5Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ6, J7, J9, J10, J11
40.01uFCapacitor_SMD:C_0603_1608MetricC8, C9, C10, C11
474AHC1G08Package_TO_SOT_SMD:SOT-23-5U9, U10, U20, U21
4SST39SF020Package_DIP:DIP-32_W15.24mm_SocketU4, U5, U6, U7
374AHC1G32Package_TO_SOT_SMD:SOT-23-5U12, U14, U18
24078Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU16, U17
274AHC1G04Package_TO_SOT_SMD:SOT-23-5U1, U11
274HC173Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU15, U19
2Conn_01x04Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ5, J8
2Conn_02x08_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_VerticalJ1, J2
174AHC1G00Package_TO_SOT_SMD:SOT-23-5U13
174LS157Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU22
174LS161Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU3
1Conn_01x01Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ12
1Conn_02x15_Odd_EvenConnector_IDC:IDC-Header_2x15_P2.54mm_VerticalJ3
1MCR-MCRIConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4
1SN74AHCT16374DGGRPackage_SO:TSSOP-48_6.1x12.5mm_P0.5mmU8

More from AJain9199/AOS16

12
  • 4 layers81 × 60 mmAOS16 GPU, the printed circuit board in 3D

    AOS16 GPU

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    118 parts1
  • 4 layers100 × 100 mmALU, the printed circuit board in 3D

    ALU

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    82 parts1
  • 2 layers156 × 77 mmBus boards, the printed circuit board in 3D

    Bus boards

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    78 parts1
  • 4 layers88 × 86 mmMemory Controller, the printed circuit board in 3D

    Memory Controller

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    70 parts1
  • 4 layers50 × 75 mmAOS16 Double Buffer, the printed circuit board in 3D

    AOS16 Double Buffer

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    69 parts1
  • 2 layers54 × 60 mmProgram Counter, the printed circuit board in 3D

    Program Counter

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    50 parts1
  • 2 layers36.5 × 47 mmAOS16 Register, the printed circuit board in 3D

    AOS16 Register

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    44 parts1
  • 2 layers18 × 77 mmBus Terminator, the printed circuit board in 3D

    Bus Terminator

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    38 parts1
  • 2 layers46 × 39 mmClock, the printed circuit board in 3D

    Clock

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    35 parts1
  • 2 layers33 × 36 mmAOS16 Timer, the printed circuit board in 3D

    AOS16 Timer

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    30 parts1
  • 2 layers31 × 77 mmBus Probe, the printed circuit board in 3D

    Bus Probe

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    27 parts1
  • 2 layers35 × 60 mmReg4x16, the printed circuit board in 3D

    Reg4x16

    AJain9199/AOS16

    Table of Contents About The Project Pictures Technical Details Directory Structure To-Do Acknowledgments

    24 parts1

Similar boards

  • 4 layers281 × 142 mmTuring Machine, the printed circuit board in 3D

    Turing Machine

    MelonMars/TuringPCB

    A Turing Machine that does not use any premade microchips, but rather is built exclusively on simple components.

    255 parts
  • 4 layers181.5 × 182.3 mmStencil, the printed circuit board in 3D

    Stencil

    jerry-kerenzikov/ytterbium

    Project files for Ytterbium modular CPU platform and Yprog programming tool

    421 partsCERN-OHL-S-2.0
  • 2 layersDiffuino selector, the printed circuit board in 3D

    Diffuino selector

    elixpo/elixpo_chapter

    Elixpo’s canonical collection for public build-and-release Chapters, bringing open-source software, reproducible research, hardware, and community contributions into one attributable record.

    46 parts85
  • 6 layers100 × 220 mmSrvant mk2, the printed circuit board in 3D

    Srvant mk2

    lwolf/srvant-board

    [WIP] Carrier board for the CM4 with BMC

    276 parts2
  • 2 layers33 × 85 mmLab3, the printed circuit board in 3D

    Lab3

    moi-script/pcb_ui

    A simple one-layer PCB "drawer": read a KiCad board, extract the copper traces, and turn them into travel-optimized G-code you can plot on a pen-plotter / small CNC driven by a microcontroller (GRBL — an Arduino running…

    19 parts
  • 2 layers32.8 × 32.1 mmSCS IMD AMD indicator, the printed circuit board in 3D

    SCS IMD AMD indicator

    EOSCogniton/ELIZ-2022

    Le Git Artemiz de l'EPSA. Contient le Catia, ainsi que la documentation en cours et quelques modèles.

    23 parts4
  • 2 layers90 × 109 mmInterface 303, the printed circuit board in 3D

    Interface 303

    jeanpri/303

    303 eurorack interface for x0x-heart

    169 parts23

Questions

How big is the Control PCB?

It measures 90 × 88 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Control use?

129 parts, built around the 74AHC1G08GW, 74AHC1G32GW, 74AHC1G04SE and 74HC173D. 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 Control KiCad files?

From the AJain9199/AOS16 repository on GitHub, at the commit this page was made from: the board is Control/Control.kicad_pcb and its schematic ALU/ALU.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Control design in my own project?

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