Learning Goals 5 min
One lesson to consolidate 47 lessons. We'll quiz the protocols, glance back at the eight clusters, and lock in the certification vocabulary you'll see on the L4 exam-prep lessons. By the end of this lesson you will:
- Recall the headline idea of each of L3's 8 clusters (A–H) plus the 3 builds (I).
- Distinguish the four communication protocols you met — UART, I²C, SPI, Bluetooth Classic vs BLE — by pin count, speed, and use case.
- Self-grade against a 12-question protocol-heavy quiz, identifying any clusters that need another look before Level 4.
Warm-Up 10 min
Open all your L3 sketches and your engineering notebook. Today is the last L3 lesson — flick through, remember what you built.
The 8 clusters at a glance
| Cluster | Topic | Capstone |
|---|---|---|
| A | Servo motors | Indicator Needle (L03-04) |
| B | DC motors + H-bridges | Two-Wheel Test Bed (L03-10) |
| C | Stepper motors | Rotating Display Platform (L03-14) |
| D | UART, I²C, SPI | Multi-Display Dashboard (L03-22) |
| E | Bluetooth control | Bluetooth-Controlled Car (L03-28) |
| F | WiFi + the Web | WiFi-Controlled Lamp (L03-34) |
| G | Time + Internet glue | Doorbell That DMs You (L03-38) |
| H | OOP + reusable code | Blinker Class (L03-42) |
| I | Big builds + reflection | Car v2, Plant Monitor, Pan-Tilt (L03-43..45) |
Recap · The four protocols 20 min
| Protocol | Wires | Speed | Use case | Lessons |
|---|---|---|---|---|
| UART | 3 (TX, RX, GND) | 9600 / 115200 baud typical | Point-to-point: Arduino ↔ HC-05, ESP, etc. | L03-15, L03-16 |
| I²C | 3 (SDA, SCL, GND) | 100 / 400 kHz | Many slow devices on the same bus (sensors, OLED) | L03-17, L03-18, L03-19 |
| SPI | 4 + 1 per device (SCK, COPI, CIPO, CS, GND) | up to 8 MHz on UNO | A few fast devices (displays, SD, radios) | L03-20, L03-21 |
| Bluetooth Classic (SPP) | UART-over-air | ~10 KB/s | Android-paired streaming, joystick robots | L03-23, L03-24, L03-25, L03-28 |
| BLE (GATT) | Service + characteristics | ~1 KB/s | iOS-compatible sensors, wearables, IoT | L03-26, L03-27 |
| WiFi (TCP/IP) | radio | up to ~1 MB/s on ESP | HTTP client / server, anywhere on a network | L03-29..34 |
Choose by question: How many devices? UART = 1, I²C = many, SPI = few. Distance? Wires = within a board, Bluetooth = ~10 m, WiFi = a building, internet = anywhere.
One-line cluster recaps
- A · Servos: 3-wire pulse-position,
Servolibrary, slew-limiting. - B · DC motors: H-bridge + flyback diode + signed PWM speed.
- C · Steppers: count clicks for absolute position,
Stepperlibrary, 28BYJ-48 + ULN2003. - D · Protocols: UART point-to-point, I²C shared bus, SPI 4-wire fast.
- E · Bluetooth: Classic for Android, BLE for everything.
- F · WiFi: ESP boards, HTTP client AND server, JSON APIs.
- G · Time + Glue: NTP gives time, webhooks push to the world.
- H · OOP: arrays → structs → classes, write once, reuse forever.
- I · Builds: scale up earlier projects with the new tools.
Quiz · Twelve protocol-heavy questions 25 min
Write your answers in your notebook before revealing. Each question maps to one or two lessons; if you get it wrong, that's the lesson to revisit.
How many wires does I²C need for 5 devices on the same UNO?
Reveal
2 wires + ground = 3 total. Every device shares SDA + SCL. (L03-17)
What's the default baud rate for AT-mode communication with an HC-05?
Reveal
38400 — always, regardless of the data-mode baud setting. (L03-24)
An SSD1306 OLED is at address 0x3C. What byte appears on SDA for the "write" address byte?
Reveal
0x3C = 0b0111100. Shift left, R/W = 0: 0b01111000 = 0x78. (L03-17 §4)
You have an ESP8266 and need to GET a URL that's HTTPS-only. What library and what extra step?
Reveal
Use WiFiClientSecureBearSSL + setInsecure() (skip cert check) + ESP8266HTTPClient. The handshake uses ~30 KB of RAM. (L03-36)
Why does the L298N's "5V enable" jumper need to be removed when VS > 12 V?
Reveal
The on-board 7805 regulator overheats above ~12 V input. Removing the jumper disables the regulator; supply 5 V externally to the +5V pin. (L03-08)
The 28BYJ-48 has 2048 full steps per revolution. How many steps for exactly 60°?
Reveal
2048 × 60 / 360 = ~341 steps. (L03-11 §5)
What's the difference between BLENotify and BLEIndicate?
Reveal
Both are push mechanisms. Notify is unacknowledged (fast); Indicate is acknowledged (slower but guaranteed). (L03-27 §3)
Why does the UNO's hardware SPI use pins 11, 12, 13 specifically?
Reveal
The ATmega328P's built-in SPI peripheral is hardwired to those exact pins (MOSI, MISO, SCK). You can't move it without bit-banging in software. (L03-20)
You want your ESP-driven IoT lamp to survive a router reboot. What pattern handles it?
Reveal
Non-blocking reconnection logic at the top of loop(): every N seconds while disconnected, call WiFi.disconnect() + WiFi.begin() again. (L03-30 §3 ensureWiFi)
Why is "parallel arrays" a worse pattern than "array of structs"?
Reveal
Adding a new entity needs you to update all the arrays in lockstep; easy to miss one. With a struct, one row covers all fields. (L03-40)
What's the difference between the constructor and begin() on Arduino library classes?
Reveal
Constructor runs at global-object init time, before setup() — many Arduino APIs (Serial, Wire) aren't ready yet. begin() runs from setup() when the runtime is initialised. (L03-41)
Your robot car browns out (Arduino resets) every time you accelerate. Two likely fixes.
Reveal
(1) Add a 470 µF bulk capacitor across the L298N's VS and GND close to the chip — absorbs current spikes. (2) Use a battery with a higher peak rating (2S LiPo) so it doesn't sag under load. (L03-46)
Self-assessment 10 min
Tally your scores. For each wrong answer, the question lists the lesson(s) to revisit. Use the next few days before Level 4 starts:
- 10–12 right: solid. Skim only your specific weak spots.
- 7–9 right: re-read the lessons next to wrong answers. Re-do their Try It Yourself tasks.
- 4–6 right: spend a study session per weak cluster. Re-build the capstone project of any cluster you scored 0 on.
- < 4 right: replay clusters D + E + F. Most of L4 builds on protocols.
Mini-Challenge · One sentence per cluster 10 min
In your engineering notebook, write a single sentence that captures the headline lesson of each cluster A–H. No looking. The act of summarising in your own words is the difference between "read" and "remembered".
Compare with the §3 one-line recaps after you've written all 8. Anywhere your sentence misses the headline, that's a cluster to study.
Final recap 5 min
You finished Level 3. You can drive any combination of motor, talk to any sensor on any of three protocols, put a device on the internet, push notifications from physical events to phones, write reusable class-based code, and reason about power budgets. Level 4 is the cert prep — same hardware skills, sharper exam-style focus, plus IoT cloud, MQTT, edge AI, robotics, and a full mock exam in the last lesson. See you in L04-01.
- Pulse-position modulation (servos)
- 1.0–2.0 ms pulse every 20 ms encodes angle.
- H-bridge
- Four-transistor circuit for bidirectional DC motor control.
- Stepper
- Motor that advances in fixed angular "clicks" — count steps for position.
- UART / I²C / SPI
- Three serial protocols: point-to-point, multi-drop, four-wire-fast.
- Address byte (I²C)
- 7-bit device ID + R/W bit. First byte of every transaction.
- Chip select (SPI)
- Per-peripheral wire that selects who's being talked to.
- Bluetooth Classic vs BLE
- Classic = UART-over-air (Android); BLE = attribute-based (iOS + Android).
- HTTP client / server
- Fetch vs serve. Same protocol, opposite directions.
- JSON
- The lingua franca of web APIs. Use ArduinoJson to parse/build.
- Webhook
- Outbound POST that triggers something on a remote service.
- NTP
- Network Time Protocol — real-world clock for any internet device.
- Class
- Struct + methods + access control. Encapsulation building block.
- Constructor / begin()
- Setup pair: constructor before
setup(),begin()inside it. - Power budget
- Capacity ÷ average draw = runtime. Account for peak sag separately.
- Brownout
- Supply sag below regulator minimum → chip reset.
- Bulk capacitor
- Big cap across noisy load's power rails to smooth peaks.
- Pull-up resistor
- Hold a wire HIGH when nothing's driving. Required on I²C lines.
- Flyback diode
- Protects switches from inductive kicks when motors / coils turn off.
Homework 5 min
- Take the quiz; record your score.
- Revisit any cluster where you scored 0.
- Pick your favourite of the L3 capstones (Indicator Needle, Two-Wheel rover, Rotating Display, Multi-Display Dashboard, BT Car, WiFi Lamp, DM Doorbell, or Blinker class) — write a one-paragraph reflection: what surprised you, what you'd do differently, what real product it reminded you of.
- Bring a fresh notebook to L04-01: cert prep starts there.
Congratulations on finishing Level 3. The next 48 lessons (L4) cover IoT Cloud, MQTT, LoRa, robotics with PID, embedded ML on TensorFlow Lite Micro, and a complete run-up to the Arduino Certification exam. See you in L04-01.