This document provides an overview of an introduction lecture on the ATmega328 microcontroller and Arduino. It discusses the ATmega328 architecture including memory layout, CPU, registers, instruction set, I/O pins and timers. It also covers the Arduino C/C++ language features used to interface with the microcontroller hardware including functions for digital I/O, analog I/O, serial communication and timing. Example blink and serial programs are shown.