Articles
One article per lesson, grouped by unit. Read the article for the why; do the lesson for the how. 30 articles, all paired.
Basics 3
Why blinking an LED is the most important program you'll write A blink is dismissed as the trivial hello-world of hardware. It's actually a complete computer system in three lines. read → Serial: the developer's flashlight in a dark room Hardware has no print statements. Except it does, and the protocol that runs them is the same one teletypes used in 1962. read → The hidden world of pull-up resistors You wire a button. Press it. Release it. The pin reads HIGH, then sometimes LOW, then random. The fix is one resistor. read →Digital I/O 4
What actually lives inside your Arduino Open an Uno. The big chip is the brain. What does that chip actually contain — and why is digitalWrite really just one register write? read → The Knight Rider scanner: arrays meet timing A row of LEDs sweeping back and forth is the cleanest possible introduction to indexed loops over hardware. read → Pot to serial: streaming an analog signal Reading a pot is half the picture. Streaming it over serial turns a static circuit into a live data feed. read → Traffic lights: state machines for embedded code A traffic light is the simplest computer program in the world. It's also a state machine — and once you see one, you start seeing them everywhere. read →Analog 5
Smooth PWM ramps: making digital pins fake analog PWM is a deception. The pin only knows HIGH and LOW — but by switching them fast and varying the ratio, you get something the eye reads as brightness. read → From sensor to pin: how a continuous signal becomes a number A potentiometer gives you "twelve o'clock." The chip reads 512. Where does that number come from? read → Pot dims LED: closing the analog loop A pot reads 0–1023. A PWM output writes 0–255. Connecting them is the simplest closed-loop control system you can build. read → RGB mixing: three PWM channels make any colour Your eye has three colour receptors. An RGB LED has three PWM-driven channels. Match the second to the first and you can make any colour. read → Building a voltage divider, and why it's everywhere Two resistors in series. One node between them. That's a voltage divider — and almost every analog sensor in your house works this way. read →Sensors 5
LDR night-light: when a resistor reads the world A photoresistor changes its resistance based on incident light. Wrap that in a divider and you have an analog light meter for free. read → Thermistors: temperature from resistance A bead of doped ceramic shifts resistance precisely with temperature. The conversion to °C goes through one beautiful equation. read → HC-SR04: distance from the time light couldn't reach Send a pulse of 40 kHz sound. Listen for the echo. Measure the microseconds. Multiply by 343 m/s and divide by two. Distance. read → Debouncing: why "one button press" is actually twenty A mechanical switch doesn't close cleanly. It bounces for a few milliseconds, faking dozens of press events. read → Wiring the HC-SR04: four pins, two signals VCC, GND, TRIG, ECHO. Two are power, two are logic. Routing them takes a minute and explains how sensor modules are designed. read →Communication 5
Serial echo: reading bytes back Sending text from a chip is easy. Receiving it — and doing something with it — is where most sketches stop. An echo loop is the smallest program that listens. read → On / Off: the smallest serial command parser Two strings. One newline-terminated line. A tiny if-else. Suddenly the chip listens, decides, and acts. read → CSV streams: structured telemetry from a tiny chip A serial line with one number per loop is debugging. A serial line with several comma-separated values is a data feed. read → Help menus: a small REPL for your sketch A "?" command that prints a list of available commands turns your sketch from a black box into something a user can poke at. read → Bare Uno + Serial: the smallest interesting circuit No LED. No resistor. No button. Just an Uno and the USB cable. You can still get useful work done. read →Display 4
How character LCDs talk: the HD44780 protocol A 16×2 LCD looks like a screen. It's actually a tiny computer with its own command set and 40 years of inertia behind it. read → Flicker-free counters: don't clear when you don't have to A counter that flashes between values means the screen is being cleared and rewritten every loop. Skip the clear; the flicker disappears. read → Live readouts: turn an LCD into a meter You've got a sensor. You've got a screen. Wire them together with a unit label and the device suddenly feels finished. read → Wiring an LCD: the six wires that matter A 16×2 LCD has 16 pins. Four are power and contrast. Six carry control + data. The others you don't connect unless you want to do something fancy. read →Drivers 4
Relays: when the chip can't drive enough current A microcontroller pin sources about 20 mA. A heater needs 8 amperes. A relay is the cheapest bridge between them. read → Servo sweep: hijacking PWM for position A hobby servo cares about pulse width, not duty cycle. The convention dates to model-aircraft radios from 1972, and you're still using it. read → Servo follows pot: composing input and output A pot drives a servo. The pot is a knob; the servo is a pointer. Connecting them in software is composition. read → The H-bridge: making a motor go backwards A motor with two wires can only spin one way per polarity. Reverse it with four switches and you have an H-bridge — the topology behind every cordless drill's reverse switch. read →Looking for the lessons themselves? Browse all lessons →