// phase 1 — foundations hardware
| Item | Recommended | Price (approx) | Required | Notes |
| STM32 dev board |
Nucleo-F446RE or Nucleo-F411RE |
€14–18 |
must |
F4 family has FPU, plenty of timers, abundant docs. Avoid Blue Pill clones for learning. |
| USB-UART adapter |
CP2102 or FTDI FT232RL |
€3–8 |
must |
For UART CLI and debug logging. The Nucleo ST-Link also has a virtual COM port. |
| Logic analyser |
Saleae Logic 8 (or clone) |
€10–300 |
rec. |
Saleae clone (~€10 on AliExpress) works with Sigrok/PulseView. Genuine Saleae is better but expensive. |
| Breadboard + jumper wires |
Any 830-point breadboard |
€5–10 |
must |
For peripheral test circuits. |
// phase 2 — rtos hardware (adds to phase 1)
| Item | Recommended | Price | Required | Notes |
| Ethernet PHY module |
LAN8720 module (MII interface) |
€4–8 |
must |
Works with STM32 MAC peripheral. Many Nucleo boards need an adapter; check pinout for your board. |
| IMU sensor (simulated data OK) |
MPU-6050 breakout or LSM6DS3 |
€3–6 |
optional |
Simulated sensor data (incrementing counter + noise) is acceptable for Phase 2. Real sensor adds authenticity. |
| Temperature sensor |
DS18B20 (1-Wire) or TMP117 |
€2–5 |
optional |
Use STM32 internal temperature sensor (ADC channel 18) to avoid extra hardware in Phase 2. |
| Segger J-Link EDU |
J-Link EDU Mini |
€20 |
rec. |
Required for Segger SystemView tracing in Week 7. The Nucleo's ST-Link does not support SystemView. |
// phase 3 — motor control hardware (the main investment)
| Item | Recommended | Price | Required | Notes |
| Oscilloscope |
Rigol DS1054Z (4ch, 50MHz) |
€300–350 |
must |
Non-negotiable for motor control. You cannot tune a PID loop or verify FOC currents without a scope. DS1054Z can be hacked to 100MHz for free. |
| Upgraded STM32 board |
Nucleo-G431RB or Nucleo-G474RE |
€15–18 |
rec. |
G4 series has dedicated motor control timers (HRTIM), better ADC triggering, and dual op-amps for current sensing. Ideal for FOC. |
| BLDC gimbal motor |
BGM4108-130 or similar |
€15–25 |
must |
Low KV (slow), 12V, safe for learning. Never use high-KV drone motors for first FOC experiments. |
| Gate driver IC / board |
DRV8323RS evaluation board or L6234 module |
€8–25 |
must |
DRV8323RS: SPI-configurable, integrated protections, built-in current sense amps. Professional choice. L6234: simpler, cheaper, less protection. |
| Incremental encoder |
600 PPR or 1000 PPR encoder |
€8–15 |
must |
Required for FOC angle estimation. Many gimbal motors have Hall sensors — sufficient for trapezoidal commutation; encoder gives better FOC performance. |
| Current sense resistors |
10–50 mΩ, 1%, 2W shunt resistors |
€2–5 |
optional |
DRV8323RS has built-in current sense amplifiers — no external shunts needed if using that IC. |
| CAN transceiver |
SN65HVD230 (3.3V) breakout |
€2–4 |
must |
ISO 11898 compliant. Two needed for a minimal CAN bus (one node + USB-CAN analyser). Add 120Ω termination at each end. |
| USB-CAN analyser |
PCAN-USB (Peak) or Canable USB |
€20–150 |
rec. |
Canable (~€20) works with python-can and candump. PCAN-USB is the industry standard but expensive. Canable is sufficient for learning. |
| 12–24V bench power supply |
Any adjustable DC supply, 3A minimum |
€30–60 |
must |
Current-limiting capability is essential — it protects the motor and gate driver when you make wiring mistakes. Set current limit to 1–2A during initial commissioning. |
| Multimeter |
Any with DC current measurement |
€15–30 |
must |
For measuring idle current, verifying supply voltages, debugging wiring. |
// total hardware cost estimate
| Phase 1 essentials | | ~€25–40 | | |
| Phase 2 additions | | ~€30–50 | | |
| Phase 3 additions (without scope) | | ~€70–110 | | |
| Oscilloscope (Rigol DS1054Z) | | ~€300 | | |
| Total (with scope) | |
~€425–500 | |
If you already have a scope, total drops to ~€125–200 |
Budget tip: If you can't afford a Rigol DS1054Z, a used Rigol DS1052E or similar 2-channel 50MHz scope from eBay (~€80–120) is adequate for Phase 3. Phase 1 and 2 can be completed without a scope — a logic analyser suffices for digital debugging.
Where to buy: Mouser, Farnell, or DigiKey for proper components. AliExpress for cheap modules (gate driver breakout boards, CAN transceivers, encoder modules) — quality varies but acceptable for learning.
// books in the programme (your existing list)
Understanding and Using C Pointers — Richard Reese
Phase 1. Finish remaining chapters on function pointers and pointer arithmetic. Strong foundation for all subsequent C work.
Modern C — Jens Gustedt
Phase 1. Type system, memory model, undefined behaviour, modern idioms. Read cover to cover. Do every exercise.
Embedded Software Design — Jacob Beningo
Phase 1. HAL design, layered architecture, state machines, testing. The "professional architecture" book.
Hands-On RTOS with Microcontrollers — Brian Amos
Phase 2. FreeRTOS API from first principles. STM32-based examples. Follow every code example on hardware.
Embedded and Real-Time Operating Systems — K C Wang
Phase 2. RTOS theory: scheduling algorithms, IPC, priority inversion theory, memory management. The "why under the API" book.
Making Embedded Systems — Elicia White
Phase 2. Architecture decisions, hardware/software interface, design for testability. Short and insightful. Read in parallel with Amos.
Applied Embedded Electronics — Jerry Twomey
Phase 3. ADC, PWM generation, signal conditioning, gate drivers, encoder interfacing, current sensing. The hardware companion to Phase 3.
The Art of Designing Embedded Systems — Jack Ganssle
Phase 4. Professional craft: firmware quality, testing philosophy, the real cost of bugs, career development. Read slowly.
// books to add (not in your original list)
Control Systems Engineering — Norman Nise
Phase 3. The standard university textbook. Read Ch. 1–5 (modelling, time response), Ch. 8 (root locus), Ch. 9 (PID design), Ch. 10 (Bode plots, stability margins). Skip the rest. Used or older editions are fine and much cheaper.
Embedded Control Systems in C/C++ — Jim Mann
Phase 3. Bridges continuous-time control theory to discrete MCU implementation. Discrete PID, z-transform, anti-windup, fixed-point. Reads Nise → Mann → hardware. Essential.
Test-Driven Development for Embedded C — James Grenning
Phase 4. The definitive TDD resource for C. Mocking hardware registers, testing without a target, refactoring for testability. If you buy one book in Phase 4, make it this one.
// st microelectronics — free application notes
AN4220 — FOC library for STM32
st.com → search "AN4220"
Full FOC implementation in C for STM32. Covers Clarke/Park, SVPWM, current sensing timing, angle estimation. Read alongside your own Week 7–8 implementation.
AN4013 — STM32 timer overview
st.com → search "AN4013"
All STM32 timer modes, configurations, and use cases. Essential reference for PWM generation, encoder mode, input capture, and ADC trigger setup.
AN3116 — STM32 ADC modes
st.com → search "AN3116"
ADC regular/injected conversion modes, DMA, multi-ADC synchronous operation, trigger sources. Essential for Phase 3 current sensing setup.
STM32 Reference Manuals
st.com → product page → Documentation tab
The ground truth for every peripheral. Keep the RM for your target MCU open at all times during Phase 1–3. The register descriptions tell you exactly what every bit does.
// arm / cortex-m documentation
Cortex-M4 Technical Reference Manual
developer.arm.com/documentation/ddi0439
Core architecture: instructions, registers, exception handling, memory model, MPU, FPU. Essential for understanding HardFault decoding (Phase 2 Week 8) and context switching internals.
ARM Application Note 209 — Using Cortex-M3/M4 Fault Exceptions
developer.arm.com → search "AN209"
Explains CFSR, HFSR, BFAR, MMFAR registers in detail. Gives worked examples of common fault causes and how to decode them. Essential companion to Phase 2 Week 8 fault handler work.
// freertos
FreeRTOS Documentation
freertos.org/Documentation
Full API reference, kernel internals book (free PDF), and worked examples. Read the internals book alongside K C Wang in Phase 2.
FreeRTOS Source Code
github.com/FreeRTOS/FreeRTOS-Kernel
Read tasks.c, queue.c, list.c, and timers.c. Phase 2 Week 1 exercise: find xReadyTasksLists[] and understand how the scheduler picks the next task. Non-optional.
// lwip
LwIP Documentation
lwip.fandom.com/wiki/LwIP_Wiki
API reference, PBUF memory management, netconn API tutorial. Read the PBUF page carefully before Phase 2 Week 6 — PBUF exhaustion is the most common LwIP bug.
// standards and safety
MISRA-C 2012 Summary (free)
barr-group.com/code-craft/coding-standard
Free MISRA-C 2012 summary and comparison. Good starting point. The full document (~£30) is worth buying if you're serious about automotive work.
ISO 26262 Overview
iso.org/standard/68383.html
The standard itself is expensive, but many free introductory summaries exist. Search "ISO 26262 ASIL introduction". Understand ASIL A–D, Part 6 software requirements, and how MISRA-C relates to it.
// control theory
Brian Douglas — Control Systems Lectures (YouTube)
youtube.com/@BrianBDouglas
The best free control systems lecture series. Covers PID, Bode plots, root locus, Nyquist in clear visual format. Watch alongside Nise in Phase 3 Weeks 1–5. Start with the PID playlist.
Khan Academy — Laplace Transform
khanacademy.org → search "Laplace transform"
Free Laplace transform review. If your Laplace is rusty at the start of Phase 3, spend half a day here before opening Nise. Essential foundation for everything in Phase 3.
// essential channels
Phil's Lab — STM32 FOC from scratch series
youtube.com/@PhilsLab
The single most relevant YouTube resource for Phase 3. Phil implements FOC step-by-step on STM32 with oscilloscope verification at every stage — exactly the same path as this programme. Watch his FOC playlist during Phase 3 Weeks 7–9.
Brian Douglas — Control Systems Lectures
youtube.com/@BrianBDouglas
The clearest free control theory resource. PID intuition, Bode plots, root locus, Nyquist stability — all visualised. Watch the "Understanding PID Control" and "Bode Plots" playlists during Phase 3 Weeks 1–5.
Fastbit Embedded Brain Academy — STM32 peripheral deep dives
youtube.com/@FastbitEmbeddedBrainAcademy
Deep STM32 peripheral tutorials: DMA, UART, SPI, I2C, timers. Useful companion for Phase 1–2 hardware work when the reference manual isn't enough.
Mitch Davis — FreeRTOS tutorial series
youtube.com/@MitchDavisTech
Practical FreeRTOS on STM32. Good complement to Amos's book for Phase 2. Covers queues, semaphores, software timers with working code examples.
Beningo Embedded Group — Architecture and design videos
youtube.com/@BeningoEmbedded
Jacob Beningo's channel. Supplements his book (Phase 1). Covers HAL design, state machines, testing patterns — short, practical videos.
GreatScott! — Electronics fundamentals
youtube.com/@GreatScottLab
Clear electronics explanations: MOSFETs, op-amps, filters, power supplies. Useful for Phase 3 hardware concepts (gate drivers, current sensing, bootstrap circuits).
// specific playlists to watch by phase
Phase 1: Beningo Embedded — HAL design series. Fastbit — STM32 GPIO, UART, DMA tutorials.
Phase 2: Mitch Davis — FreeRTOS series. Fastbit — STM32 DMA deep dive. Segger — SystemView tutorial (segger.com).
Phase 3 (control theory): Brian Douglas — entire PID and Bode plot playlists. Essential. Watch before touching hardware.
Phase 3 (FOC implementation): Phil's Lab — FOC from scratch playlist. Watch Weeks 7–9 of the programme alongside this series.
Phase 4: Barr Group webinars on MISRA-C and ISO 26262 (barr-group.com — free registration). Beningo — unit testing in embedded C series.