Skip to content

Computer Engineering — build a computer from one bit

Computer Engineering

A bottom-up studio: start with a single wire and finish with a machine you built yourself. No prerequisites, nothing to install — every study runs in the browser. Part I is about signals: the bit, the three gates that decide everything, the one gate that can build them all, and how a select line steers data. Part II turns signals into arithmetic: the half and full adder, an eight-bit carry chain you can watch race, two's complement, and the ALU with its flags register. Part III makes circuits remember — latches, registers, RAM, the program counter — and Part IV is the payoff: the ALB-8, a complete in-house 8-bit machine you program by hand, ending on a dev board with memory-mapped LEDs and switches. The studio is open to everyone — no lessons required, no XP to spend.

The road you just walked

Twenty-two studies: one wire, three gates, an adder, an ALU, a latch, a register file, and finally the ALB-8 — a working 8-bit CPU with thirteen instructions, memory-mapped I/O, and programs you assembled by hand. It is the same road the real machines took: the Manchester Baby stored thirty-two words; EDSAC ran on a delay line; the PDP-8 put a computer on a desk. The ALB-8 is small for the same reason they were — so you can hold the whole machine in your head at once.

And it is not a dead end: ALB itself hosts a complete CHIP-8 interpreter — the program that drew this site's logo — and MALBR compiles to bare-metal Rust for real boards. The studio's machine is a teaching machine; the road from here leads to silicon.

Keep exploring

Numbers first, if you want the math behind the circuits: binary and hexadecimal in the Math track. Then the histories: UNIVAC I, the EDVAC report, and the Manchester Mark 1 in the Wiki. When you're ready to write code for hardware instead of simulating it, the Handbook covers ALB's STRUCT/BITFIELD types, and the technology page lists the compiler backends — including MALBR, which emits bare-metal Rust for embedded boards.