Introduction to embedded systems design tools and hardware programmers. Experiments using both simulation and practical implementation of the basic building blocks of a microcontroller including timers, counters, PWM generation, I/O techniques and requirements, A/D conversion, serial communications. Experiments to explore the system design process using hardware-software co design process. Design project.