Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

Problem-solving recipes

A step-by-step procedure for every problem type this course teaches — what to do first, what to do next, and how to tell which case you're in.

What are you being asked to do?

What is in front of you right now?

  • You're about to buy or plan something → Choose a board for a project, then Check a board listing before buying. Someone has described a whole device in everyday words → Plan a small embedded project from a request.
  • You have a number to read or convert → a value with the wrong prefix: Convert between SI prefixes; coloured bands: Read a resistor's colour code; a limit for a chip: Answer a design question from a datasheet.
  • You're choosing a part's value → an LED: Size an LED's series resistor; a voltage too high for a pin: Scale a voltage down for an input pin; a delay or a slow filter: Size an RC for a delay or a filter; smoothing PWM into a steady voltage: Size an RC filter for PWM; a coil: Choose and fit a flyback diode; a supply at the wrong voltage: Choose a regulator for a board or module.
  • A pin has to turn something on → first Can this pin drive it directly? If not, an NPN switch: Size an NPN base resistor; a DC motor: Wire a DC motor to a board safely.
  • You're wiring power or two boards together → a battery or adapter: Power a board from something other than USB; a 3.3 V part and a 5 V part: Connect a 3.3 V part and a 5 V part; a schematic to build: Build a schematic on a breadboard. Before every power-up: Check a circuit before you power it. Something already misbehaves and the firmware is known to work: Find a wiring fault.
  • The computer and the board aren't talking → no port, or the wrong one: Find the port your board is on. A normal upload: Upload firmware to a board. An upload or a sketch that fails: When an upload fails, in order.
  • Firmware has a raw reading → an ADC code: Turn an ADC reading into a real-world value; a thermistor: Turn a thermistor reading into degrees; an ultrasonic echo: Turn an echo time into a distance. Readings steadily off: Calibrate a sensor with two reference points; readings noisy: Choose an EMA's alpha. Still choosing the sensor: Check a sensor against your board and your project.
  • It runs on a battery → one steady current: Estimate a battery's life, best case; a device that sleeps and wakes: Estimate battery life from a duty-cycle table; charged by the sun: Size a solar panel and battery for a small node.

Planning and buying

Reading numbers and documents

Choosing part values

Switching loads from a pin

Power, wiring and faults

Getting firmware onto the board

From raw readings to real values

Batteries and energy