This document provides an introduction to embedded systems. It discusses the difference between embedded systems and general purpose systems, provides examples of embedded systems, describes what a microcontroller is and the difference between microprocessors and microcontrollers. It also covers tradeoffs between hardware and software, characteristics of embedded system software and hardware, and common microcontroller families, languages and development tools used in embedded systems.