Skip to content

EduAVR course outline

EduAVR teaches AVR from the hardware upward, with Assembly and C side by side.

Single source of truth

This Markdown file and the course lessons are the course source. GitHub Pages generates the HTML edition directly from the Markdown sources.

Current core course

  1. Course principles
  2. Open AVR toolchain
  3. AVR architecture
  4. GPIO
  5. Stack and functions
  6. Timers and interrupts
  7. PWM
  8. USART
  9. Dual-UART bridge
  10. SPI
  11. TWI / I2C
  12. EEPROM
  13. ADC
  14. Pointers, buffers and structs
  15. volatile, interrupts and atomicity
  16. SRAM and stack resource budgets

Planned core expansion

M6 extension — optimization and code analysis

Lesson 17 adds optimization-level comparison and generated-assembly analysis, backed by paired C/Assembly examples and Q1 evidence.

Milestone mapping: M7 = networking/Home Assistant, M8 = capstone projects. These remain roadmap scope until the lessons, examples and qualification evidence are complete.

The original curriculum also identifies these topics for dedicated lessons as the course grows:

  • compiler optimization/disassembly
  • small reusable drivers
  • systems integration
  • capstone project

These are roadmap items rather than published core lessons until their Markdown lesson, examples and appropriate qualification evidence exist.

Working method

Each lesson combines theory with practical inspection of the machine. Build C and Assembly, inspect disassembly, use simulation wherever it provides valid evidence, and move to physical hardware only when the claim depends on electrical or other non-modeled behavior.

Reference appendices

Published appendices currently cover:

These sources now exist in both language tracks. Semantic parity is reviewed separately from mere file presence.

The appendices are reference material and advanced practice. They can mature while EduBoard-AVR hardware is being stabilized because most are not tied to a moving board revision.

M6 extension — code size and SRAM analysis

Lesson 18 turns ELF section and symbol data into a reproducible Flash/SRAM report, while keeping dynamic stack usage as a separate runtime measurement.