Learning Goals 5 min
Yesterday you met the family. Today you turn "know all the boards" into a systematic checklist that picks the right one for any project. By the end of this lesson you will be able to:
- Use a five-question checklist to filter the Arduino family down to 1–2 candidate boards for any project brief.
- Estimate program size and RAM use from a feature list, and reject under-spec'd boards before wasting time.
- Balance hard requirements (must work) against soft ones (would be nice) so cost and effort stay in budget.
Warm-Up 10 min
Pick three project ideas from your head — wild ones are fine. Some examples:
- A weather station that tweets daily summaries.
- A wearable rhythm game (mat that lights up when you stomp).
- A self-driving line-follower for the school maker fair.
- An aquarium pump scheduler with phone notifications.
For each, jot down: what radios it needs, how many GPIO, how much RAM, voltage, power source, battery hours.
New Concept · The five-question checklist 25 min
Q1 — Does it need a radio? Which kind?
| Need | Best fit |
|---|---|
| None | UNO R3, Mega, Nano |
| Bluetooth Classic only | UNO + HC-05 module (cheapest) |
| BLE | Nano 33 BLE, UNO R4 WiFi, Nano ESP32, MKR WiFi 1010 |
| WiFi only | Nano ESP32, ESP8266 NodeMCU, MKR WiFi 1010 |
| WiFi + BLE | ESP32 family, UNO R4 WiFi, MKR WiFi 1010 |
| LoRa (long range) | MKR WAN 1310, LoRa add-on shields |
| Cellular | MKR GSM 1400, MKR NB 1500 |
Q2 — How many GPIO do you actually need?
Count every input and output:
- Buttons + switches + sensors (digital + analog).
- LEDs / motors / servos / displays.
- Add 2 for SPI (SCK + COPI + CIPO, with per-device CS).
- Add 2 for I²C (SDA + SCL — shared).
- Add 2 for serial (TX + RX if you talk to another microcontroller).
| GPIO total | Boards |
|---|---|
| ≤ 14 + 6 analog | UNO, Nano |
| ≤ 22 | Most modern boards |
| ~ 54 | Mega 2560 |
| > 54 | Add an I²C / SPI I/O expander (PCF8574, MCP23017) to any small board |
Q3 — How much memory will the sketch need?
Rough estimates for adding common features:
| Feature | Flash needed | RAM needed |
|---|---|---|
| Bare blink + Serial | ~2 KB | ~100 B |
| + Adafruit_GFX + SSD1306 | +15 KB | + 1 KB (framebuffer) |
| + ArduinoJson | +5 KB | + JsonDocument size |
| + WiFi + HTTP client | +30 KB | + 5 KB |
| + HTTPS (TLS) | +50 KB | + 30 KB during handshake |
| + ArduinoBLE | +20 KB | + 4 KB |
| + TensorFlow Lite Micro | +100 KB | + 50 KB+ |
Sum the estimates. Compare with the candidate board's flash/RAM. UNO's 2 KB RAM eats out fast: HTTPS alone won't fit. ESP8266's 80 KB RAM handles WiFi + HTTPS + a few KB of state comfortably.
Q4 — What's the power source?
| Power source | Best fit |
|---|---|
| USB always plugged | Any board |
| Mains adapter | Any board, ~5 V regulator |
| 2 AA / coin cell | Low-power boards: Nano 33 BLE, MKR + sleep modes |
| 4 AA / LiPo | Most ESP / UNO with battery shield |
| Solar + LiPo | ESP32 + TP4056 charger + careful deep sleep |
Q5 — What's the budget?
Cheapest first. For a one-off school project the savings don't matter; for a 30-student class deploying 30 devices, £5 vs £30 matters a lot.
| Budget per board | Options |
|---|---|
| £3–5 | Nano clone, NodeMCU ESP8266 |
| £7–15 | ESP32 DevKit, Nano ESP32, UNO R3 |
| £15–25 | Nano 33 BLE, MKR WiFi 1010, UNO R4 WiFi |
| £30–50 | Nano 33 BLE Sense |
| £80+ | Portenta H7 |
The decision tree
- Answer Q1 — radio. Filter the list.
- Answer Q2 — GPIO. Filter further.
- Answer Q3 — memory. Eliminate under-spec.
- Answer Q4 — power. Confirm low-power option if needed.
- Answer Q5 — pick the cheapest survivor.
Worked Example · Pick three boards live 25 min
Brief 1 — Smart Plant Monitor (L03-44)
Requirements list:
- WiFi for dashboard + alerts. (Q1)
- 1 analog (soil) + 1 GPIO (status LED) = 2 GPIO. (Q2)
- WebServer + HTTPS for webhooks: ~80 KB flash, ~35 KB RAM. (Q3)
- USB wall wart, runs continuously. (Q4)
- Budget: £5–10. (Q5)
Pick
NodeMCU ESP8266. WiFi ✓, 11 GPIO ✓, 80 KB RAM ✓ (HTTPS fits in headroom), USB-powered ✓, £4. The cheapest qualifying board.
Brief 2 — Wearable Gesture-Trigger
Requirements:
- BLE for phone connection. (Q1)
- 1 IMU (on-board), 1 LED. (Q2)
- TFLite Micro for gesture classification: ~150 KB flash, ~50 KB RAM. (Q3)
- Coin cell / LiPo, runs hours. (Q4)
- Budget: ~£30. (Q5)
Pick
Nano 33 BLE Sense. BLE ✓, on-board IMU ✓, 1 MB flash + 256 KB RAM ✓ (TFLite fits), low-power ✓, ~£30. Even cheaper option Nano 33 BLE (no Sense suffix) if you bring an external IMU and skip the microphone.
Brief 3 — Maker-fair robot car with phone control + obstacle avoidance + WiFi telemetry
Requirements:
- WiFi + BLE (or just one). (Q1)
- 4 motor IN + 2 enable + 2 sensor (HC-SR04) + 1 LED = 9 GPIO. (Q2)
- WebSocket + sensor sampling: ~50 KB flash, ~20 KB RAM. (Q3)
- 2S LiPo or 4 × AA. (Q4)
- Budget: ~£10. (Q5)
Pick
ESP32 DevKit. WiFi + BLE ✓, 24 GPIO ✓, 520 KB RAM ✓, runs from 5V battery via on-board regulator ✓, £7. Cheap, complete.
Avoid: UNO R3 + WiFi shield + BLE shield = clunky stack of 3 boards for £20+. The ESP32 era killed the "shield stack" pattern.
Try It Yourself · Pick boards for 3 fresh briefs 15 min
A weather-station rooftop sensor: temperature + humidity + barometric pressure + wind direction. Sends one reading every 10 minutes to the cloud over WiFi. Powered by a 4 W solar panel + LiPo battery. Should run for at least a year.
Reveal
ESP32 (or ESP8266) with deep sleep. WiFi ✓, lots of GPIO ✓, RAM fine for sensors + ArduinoJson ✓, deep sleep takes the average current to ~50 µA — solar/LiPo lasts indefinitely. ESP32 preferred for the lower deep-sleep current.
A theatre lighting controller with 48 individual dimmable LEDs, button input, MIDI in, no internet needed, plugged into mains.
Reveal
Mega 2560 for 48 PWM outputs (use 16-bit PWM via Timer1 if subtle fades matter), 4 hardware UARTs (one for MIDI), enough RAM. Alternative: UNO + WS2811 LED-string driver (then 1 GPIO drives 48+ LEDs). Choose Mega for hot-swap independence per channel; WS2811 for visual effects on a string.
A handheld camera that classifies what it sees in real time using a small ML model, displays the prediction on a small screen, runs on a 18650 LiPo for 3 hours.
Reveal
Portenta H7 + Vision Shield (camera + microphone). Dual-core ARM, runs OpenMV + TensorFlow Lite at 15 fps on QVGA frames. £100+ all-in but no other Arduino-family option fits.
Mini-Challenge · Build your decision flowchart 10 min
- Draw the five-question checklist as a flowchart in your notebook.
- For each leaf, write the recommended board.
- Laminate / tape into your engineering notebook's reference section.
- Use it for every future project. Note any time it picked the wrong board and refine.
Recap 5 min
Board choice is a 5-question filter, not a feel. Radios first, then GPIO, then memory, then power, then cost. Pick the cheapest qualifying board with reasonable headroom. Most school projects land on three families: UNO R3 (simple), ESP8266/ESP32 (WiFi), Nano 33 BLE family (BLE / low-power / ML). Tomorrow we tackle the practical side: what breaks when you move a UNO sketch to a Nano 33 BLE, and how to fix it.
- Hard requirement
- Something the project absolutely needs. Filter out boards that don't meet these.
- Soft requirement
- Nice-to-have. Used to choose between qualifying boards but doesn't exclude any.
- Headroom
- Spare capacity (RAM, flash, GPIO) beyond what the current feature set uses. Lets you add features later without re-spec'ing.
- Decision tree / flowchart
- A series of yes/no questions that funnel to a recommendation. The most reliable way to pick boards consistently.
- I/O expander
- An I²C or SPI chip that adds GPIO. Use when a small board doesn't have enough pins natively.
- Deep sleep
- Microcontroller mode where almost everything is off, drawing µA. Required for any long-life battery project. Covered in L04-37.
- OEM project
- A design intended to ship as a product. Picks based on cost / power / availability much more strictly than a hobby project.
Homework 5 min
- Draw the flowchart from §6. Bring it to next class.
- Apply it to one project idea you've been kicking around. What board does it pick?
- Read ahead to ARD-L04-03 (Migrating Sketches). Bring a UNO sketch + a Nano 33 BLE (or any non-UNO board) tomorrow.