📖 What Pearson does

Chapter 7 is short and pedagogical. Pearson teaches you to read a schematic — the standardised diagram of a circuit. He uses the Rotterdam Metro as an analogy: the same colour-coded lines that mean “this train goes to Central Station” also mean “this wire carries the audio signal”. A schematic is a metro map for electrons.

This is a “no-project” chapter. It exists to teach literacy. The reward is the next chapter’s projects become readable.

🎓 Background: how to read our block diagrams

Our project’s design document / docs/DESIGN.md has block diagrams showing how firmware components talk to each other. The most useful mental model:

+----------+   +---------+   +---------+
| 4x4 BTN  +-->| input.c +-->| sequencer|
+----------+   +---------+   +---------+
                                  |
                                  v
                              +--------+
                              | AMY    |
                              +--------+
                                  |
                                  v
                              +-------+
                              | I2S TX|
                              +-------+
                                  |
                                  v
                              [DAC PCM5102A]
                                  |
                                  v
                              [headphones]

Reading a block diagram is exactly Pearson’s reading a schematic, except instead of “resistor”, “capacitor”, “555”, we have “input”, “sequencer”, “AMY”. The arrows mean “data flows this way”. The rectangles mean “subsystem”. Same idea, different vocabulary.

🔧 Try it on the device

This chapter has no exercises. It is a literacy lesson.

If you want to test your new literacy, open docs/DESIGN.md §3 in a text editor and read the first block diagram. Identify:

  • One module that produces data (probably sequencer_tick()).
  • One module that consumes data (probably amy_add_event()).
  • One arrow that goes the “wrong way” (a callback, an event subscription, an ISR).

If you can identify those three things, you have read your first schematic.

🛠 Code reference

  • The block diagrams — docs/DESIGN.md §3, throughout. Hand-curated, ASCII-art.
  • The actual code that flows — every .c file in main/ has its dependencies at the top:
    #include "freertos/FreeRTOS.h"
    #include "sequencer.h"
    #include "amy_bridge.h"
    
    The #include lines are the wires. The functions called inside the file are the signals travelling along those wires.

🚫 What we can’t simulate

Schematics are a literacy lesson. There is nothing to simulate — only to read.