Learn digital logic: a free interactive course from 0 and 1 to state machines

No background needed. Every lesson happens in the Norro simulator, and Nora, the mascot, tells you the next step and checks that you did it. Here is the whole course — or start with a tutorial or the parts guide.

Course

1. Foundations: 0, 1 and Boolean algebra

  1. 0 and 1 — What a bit is, and how binary represents numbers
  2. NOT and bars — NOT, A' and Ā all mean the same thing
  3. Boolean algebra — AND is like multiplying, OR like adding — plus De Morgan's law

2. Basics

  1. Your first circuit — Switches, an AND gate and an LED — wire them up and light it
  2. Tidying up — Move, rename, resize, delete, undo — and move around the canvas

3. Gates & combinational circuits

  1. OR vs XOR — Compare two gates and learn to swap them
  2. NAND, the universal gate — Build a NOT from a single NAND
  3. Half adder — Wire up 1 + 1 = 10 yourself
  4. Decoder — Turn a binary number into “which line is on”
  5. Multiplexer — Use select lines to pick one of several inputs

4. Truth tables

  1. Truth tables — Read every row, and click one to set the switches

5. Timing & flip-flops

  1. Timing charts — Run the clock and watch signals change over time
  2. D flip-flop — Store one bit on the clock's rising edge

6. Buses & memory

  1. Buses — Number inputs, splitters, joiners and displays
  2. Registers & memory — Store a number in a register, plus ROM and RAM

7. Boolean expressions, K-maps & state machines

  1. Boolean expressions — Read expressions, and type one to build a circuit
  2. K-maps — Circle neighbouring 1s to simplify a circuit
  3. State machines — Build a “two 1s in a row” detector with the designer

8. More of Norro

  1. Examples — Load a ready-made circuit in one click
  2. Save & share — Save, open, export, and share circuits by link
  3. Challenges — Match a truth table using only the parts allowed
  4. More tools — Part info, state machines, language and Nora

Tutorials

Parts guide →