FRM-201 · Firmware & MCU · Practitioner

I2C, SPI & CAN Protocol Firmware — full syllabus

Implementing and debugging the buses embedded systems communicate over, from the firmware side.

Duration3 full days in person · 6 half-days online
Cohortmax 14 in person · 20 online
Pricefrom SAR 7,880 in person · local pricing per city
Delivery35% principles · 20% guided investigation · 45% engineering studio

Who this course is for

Firmware engineers responsible for the buses an embedded product talks over — I2C and SPI on the board, CAN across the machine — who need them to work and to fail gracefully.

Prerequisites

Course outline

Day 1 — I2C

  • Open-drain signalling, pull-up sizing and rise time: the physics under the protocol
  • Start/stop, addressing, ACK/NACK and repeated start
  • Clock stretching: slaves that need it and masters that mishandle it
  • Implementing master and slave firmware, polled and interrupt-driven
  • Stuck-bus detection and recovery: nine clocks and a clean reset

Day 2 — SPI

  • Modes 0–3, clock polarity and phase, and the mode-mismatch signature
  • Chip-select behaviour, framing and daisy chains
  • Full-duplex reality: what shifts in while you shift out
  • DMA-driven transfers: descriptor setup and the throughput ceiling
  • Multi-slave topologies and signal integrity at speed

Day 3 — CAN and CAN FD

  • Dominant/recessive signalling, bit timing and the sample point
  • CSMA/CR arbitration: why the lowest ID wins and what that does to latency
  • Acceptance filtering, masks and reducing ISR load
  • Error frames, error counters, bus-off and fault confinement
  • CAN FD: the second bit rate, longer payloads and arbitration-phase limits

Hands-on labs

  1. Lab: bring up I2C master and slave firmware on two boards and decode the traffic on a logic analyser before trusting the analyser's decoder
  2. Lab: inject NACK, clock-stretch and stuck-bus faults into your I2C link and implement recovery for each
  3. Lab: drive an SPI peripheral in each mode, capture the waveforms, and diagnose a deliberately mis-configured mode/polarity combination
  4. Lab: move an SPI transfer path from polling to DMA and measure CPU load and throughput before and after
  5. Lab: build a two-node CAN exchange, force arbitration collisions, inject errors up to bus-off, and implement and demonstrate recovery

Capstone project

Implement a three-bus firmware subsystem: an I2C sensor network, a DMA-driven SPI peripheral and a CAN node with a documented message plan and worst-case latency budget — each with fault injection and recovery logic. The evidence is your logic-analyser captures, the fault logs, the recovery state machines and a bus-load calculation showing the design margin.

What you leave with

Upcoming dates

DatesWhereSeatsEarly birdRegular
22 Nov – 24 Nov 20263 full days RiyadhIn person · KAFD Conference Centre 4 of 14 SAR 7,090until 23 OctSAR 7,880
29 Nov – 1 Dec 20263 full days Kuwait CityIn person · Al Hamra Tower 9 of 14 KWD 580until 30 OctKWD 650
29 Nov – 1 Dec 20263 full days MuscatIn person · Knowledge Oasis Muscat 4 of 14 OMR 730until 30 OctOMR 810
6 Dec – 13 Dec 20266 half-days Gulf bandLive online · 09:00–13:00 GMT+3 10 of 20 US$1,350until 6 NovUS$1,500
7 Dec – 9 Dec 20263 full days OttawaIn person · Kanata North Tech Park 9 of 14 CAD 2,570until 7 NovCAD 2,860
7 Dec – 14 Dec 20266 half-days Europe bandLive online · 09:00–13:00 CET 15 of 20 US$1,350until 7 NovUS$1,500
14 Dec – 16 Dec 20263 full days TorontoIn person · MaRS Discovery District 4 of 14 CAD 2,570until 14 NovCAD 2,860
14 Dec – 16 Dec 20263 full days LondonIn person · Shoreditch Works 9 of 14 GBP 1,480until 14 NovGBP 1,640
14 Dec – 21 Dec 20266 half-days Americas bandLive online · 13:00–17:00 ET 4 of 20 US$1,350until 14 NovUS$1,500
21 Dec – 23 Dec 20263 full days BerlinIn person · Factory Görlitzer Park 4 of 14 EUR 1,740until 21 NovEUR 1,930

Book a seat, or bring this course to your team

Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.

Course page & booking

Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.