Course portal
The full free BitForBytes curriculum in one place: digital system design, Verilog and basic electronics modules, plus 90+ hands-on labs and practice tools.
The first five Foundations modules are open without an account; a free account opens every other module and saves your progress.
Foundations
- Module 1: Signals & Waves
- Module 2: Number Systems
- Module 3: Logic Gates
- Module 4: Karnaugh Maps
- Module 5: Verilog Core
Basic Electronics
- Module 1: Physics of Control
- Module 2: Silicon, Doping & Carriers
- Module 3: The P-N Junction
- Module 4: Rectifiers & Filters
- Module 5: Special-Purpose Diodes
- Module 6: BJT Construction & Operation
- Module 7: BJT DC Biasing
- Module 8: BJT AC Analysis
- Module 9: MOSFET Construction
- Module 10: Transistors & JFETs
Digital System Design
- Module 1: Binary & Boolean Logic
- Module 2: K-Maps · Architect of Logic
- Module 3: Circuit Realisation
- Module 4: Practice Arena
- Module 5: Universal Gates
- Module 6: Combinational & Sequential Circuits
- Module 7: The Half Adder
- Module 8: The Full Adder
- Module 9: Recall & Prove
- Module 10: The Ripple-Carry Adder
- Module 11: The Carry Look-Ahead Adder
- Module 12: The Parallel Prefix Adder
- Module 13: The Serial Adder
- Module 14: Recall & Prime
- Module 15: How Computers Subtract
- Module 16: The Half Subtractor
- Module 17: The Full Subtractor
- Module 18: Complements
- Module 19: The 10's Complement
- Module 20: The BCD Adder
- Module 21: Multiplexer (MUX)
- Module 22: Demultiplexer (DEMUX)
- Module 23: Decoders
- Module 24: Encoders
- Module 25: Code Converters
- Module 26: Universal Logic & Shannon
- Module 27: Binary Dividers
- Module 28: Sequential Logic Fundamentals
- Module 29: Latches
- Module 30: Flip-Flops
- Module 31: Flip-Flop Timing & Race-Around
- Module 32: Flip-Flop Representations
- Module 33: Flip-Flop Conversions
- Module 34: Registers & Shift Registers
- Module 35: Ripple Counters
- Module 36: Synchronous Counters
- Module 37: Ring & Johnson Counters
- Module 38: Analysing Clocked Sequential Circuits
- Module 39: Mealy & Moore Machines
- Module 40: Designing State Machines
- Module 41: Asynchronous Sequential Circuits
- Module 42: Hazards & Races
Verilog Fundamentals
- Module 1: Modules & Ports
- Module 2: Lexical Rules & Number Literals
- Module 3: Data Types: Nets, Variables & Arrays
- Module 4: System Tasks & Compiler Directives
- Module 5: Wires & Registers (Wire vs Reg)
- Module 6: Gate-Level Primitives
- Module 7: Dataflow & RTL Modeling
- Module 8: Behavioural Modelling
- Module 9: Blocking vs Non-blocking
- Module 10: Conditionals & Latches
- Module 11: Vectors & Buses
- Module 12: Finite State Machines
- Module 13: Testbenches & Simulation
- Module 14: Hierarchy & Parameters
- Module 15: Counters & Shift Registers
- Module 16: Memories & Register Files
- Module 17: Tasks & Functions
- Module 18: Timing & Clock Domains
- Module 19: Design: Traffic Light Controller
- Module 20: Design: An 8-bit ALU
- Module 21: Design: UART Transmitter
- Module 22: Loops & Generate
- Module 23: Delays, Events & the Simulation Queue
- Module 24: Coding for Synthesis
- Module 25: Design: Synchronous FIFO
- Module 26: Design: Seven-Segment Display Driver
- Module 27: Operators in Full
- Module 28: Parallel Blocks & Procedural Control
- Module 29: User-Defined Primitives
- Module 30: Switch-Level Modelling
- Module 31: Timing Checks & specify Blocks
- Module 32: Simulation Output & File I/O
- Module 33: Project: UART Receiver
- Module 34: Project: SPI Master
- Module 35: Project: Debouncer & PWM
- Module 36: Project: LFSR & CRC
- Module 37: Project: Round-Robin Arbiter