C: Developing in C on the AVR ATmega328P

A set of entries which comprise a course for learning how develop C programs for the AVR family and specifically the ATmega328P.

  • Developing in C for the ATmega328P: Entries are intended to help someone replace the Arduino C/C++/Custom software framework with a Standard C approach. The value of this approach is it can make learning C a little more approachable as the ATmega328P is a “relatively” simple microcontroller.
  • AVR Datasheet Note: Entries dive a little more deeply into the technical aspects of the ATmega328P chip. This content is intended to help somone understand how to use the datasheet to implement a specific function using the ATmega328P.
  • AVR-gcc Note: Entries focused on specifically using the AVR-gcc library or examples from the library.


  1. Developing in C for the ATmega328P: Introduction
  2. Developing in C for the ATmega328P: Setup (Linux/macOS/Windows)
  3. Developing in C for the ATmega328P: Standard C Framework
  4. AVR Datasheet Note: Blink
  5. AVR Datasheet Note: PWM
  6. AVR Datasheet Note: analogWrite
  7. AVR-gcc Note: Simple Project

Comments powered by Talkyard.