# geohot/fromthetransistor

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/geohot-fromthetransistor).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

6,524 stars · 525 forks

## Links

- GitHub: https://github.com/geohot/fromthetransistor
- awesome-repositories: https://awesome-repositories.com/repository/geohot-fromthetransistor.md

## Description

This project consists of technical instructional guides and a structured computer science curriculum designed to teach the construction of a full computing stack from transistors up to a web browser. It provides a 12-week educational course that covers the fundamental domains of computer architecture and digital logic design.

The curriculum is distinguished by its first-principles approach, guiding the learner through the engineering of CPUs, FPGAs, and PCBs using digital logic and hardware description languages. It includes specific syllabi for building a hardware design, a TCP/IP network stack, and a functional operating system.

The project covers a broad range of systems programming and hardware engineering capabilities. These include the creation of compiler toolchains featuring assemblers, linkers, and C compilers, as well as the development of kernels for memory management and process scheduling. It further extends to networking stack development and the construction of a text-based web browser.

## Tags

### Education & Learning Resources

- [Computer Science Education](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education.md) — Provides a comprehensive 12-week curriculum for building a full computing stack from transistors to a web browser. ([source](https://github.com/geohot/fromthetransistor#readme))
- [Computer Systems Education](https://awesome-repositories.com/f/education-learning-resources/computer-systems-education.md) — Teaches computing fundamentals by guiding the construction of a full hardware and software stack.
- [Computer Science Curricula](https://awesome-repositories.com/f/education-learning-resources/educational-resources/courses-training-certifications/courses-structured-learning/computer-science-curricula.md) — Ships a structured 12-week academic curriculum covering the full computing stack from transistors to browsers.
- [Kernel Internals Tutorials](https://awesome-repositories.com/f/education-learning-resources/operating-system-tutorials/kernel-internals-tutorials.md) — Provides a learning path that breaks down kernel internals including memory management and process scheduling.
- [Network Stack Implementation Guides](https://awesome-repositories.com/f/education-learning-resources/tcp-ip-socket-programming-guides/network-stack-implementation-guides.md) — Provides a structured technical curriculum for implementing ethernet controllers and TCP/IP networking protocols.
- [Hardware Design Curricula](https://awesome-repositories.com/f/education-learning-resources/hardware-design-curricula.md) — Provides a structured guide for engineering CPUs, FPGAs, and PCBs using digital logic.
- [Hardware Implementation Projects](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/computer-science-concepts/curriculum-implementation-sources/hardware-implementation-projects.md) — Provides a curriculum for constructing digital logic components and CPUs from basic gates. ([source](https://github.com/geohot/fromthetransistor/blob/master/README.md))

### Hardware & IoT

- [Digital Circuit Construction](https://awesome-repositories.com/f/hardware-iot/digital-circuit-construction.md) — Implements digital logic circuits for CPUs, UARTs, and Ethernet controllers using hardware description languages. ([source](https://github.com/geohot/fromthetransistor#readme))
- [Digital Logic Design Tools](https://awesome-repositories.com/f/hardware-iot/digital-logic-design-tools.md) — Provides a framework for creating CPUs and hardware controllers using digital logic and FPGA boards.
- [DIY Electronics Assembly](https://awesome-repositories.com/f/hardware-iot/diy-electronics-assembly.md) — Covers the process of building physical hardware by designing circuit blueprints and soldering custom boards. ([source](https://github.com/geohot/fromthetransistor#readme))
- [FPGA Hardware Design](https://awesome-repositories.com/f/hardware-iot/fpga-hardware-design.md) — Teaches the implementation of custom CPU and peripheral designs on FPGA programmable logic arrays.
- [Gate-Level CPU Synthesis](https://awesome-repositories.com/f/hardware-iot/hdl-logic-synthesis/gate-level-cpu-synthesis.md) — Guides the construction of a CPU and memory controllers by combining basic digital logic gates.
- [Physical Board Integration](https://awesome-repositories.com/f/hardware-iot/pcb-design-assets/physical-board-integration.md) — Teaches how to connect physical components through custom circuit board layouts and reflow soldering.
- [Physical Hardware Engineering Guides](https://awesome-repositories.com/f/hardware-iot/pcb-design-tooling/physical-hardware-engineering-guides.md) — Offers instructional material for engineering physical computing systems, including PCB design and FPGA reflowing. ([source](https://github.com/geohot/fromthetransistor/blob/master/README.md))

### Networking & Communication

- [Network Stacks](https://awesome-repositories.com/f/networking-communication/network-stacks.md) — Implements layered communication protocols, including hardware drivers and software stacks for Ethernet and TCP. ([source](https://github.com/geohot/fromthetransistor#readme))

### Operating Systems & Systems Programming

- [Operating System Development](https://awesome-repositories.com/f/operating-systems-systems-programming/operating-system-development.md) — Teaches the comprehensive process of building a kernel that manages memory, process scheduling, and filesystems. ([source](https://github.com/geohot/fromthetransistor#readme))
- [TCP/IP Stacks](https://awesome-repositories.com/f/operating-systems-systems-programming/systems-programming/bare-metal-development/tcp-ip-stacks.md) — Provides a technical implementation of a TCP/IP network stack layered over Ethernet hardware drivers.

### Programming Languages & Runtimes

- [Compiler Toolchain Development](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-toolchain-development.md) — Guides the creation of a complete toolchain featuring an assembler, C compiler, and linker. ([source](https://github.com/geohot/fromthetransistor#readme))
- [Educational Toolchains](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-toolchain-development/minimalist-toolchains/educational-toolchains.md) — Offers an educational path for creating simplified assemblers, linkers, and compilers to teach build system mechanics. ([source](https://github.com/geohot/fromthetransistor/blob/master/README.md))

### Software Engineering & Architecture

- [Kernel](https://awesome-repositories.com/f/software-engineering-architecture/resource-management/kernel.md) — Implements a central kernel that manages process scheduling, memory allocation, and system call interfaces.

### Web Development

- [Web Browsers](https://awesome-repositories.com/f/web-development/web-browsers.md) — Includes instructions for constructing a functional text-based web browser using networking and dynamic linking. ([source](https://github.com/geohot/fromthetransistor#readme))
