The fundamentals of embedded system hardware and firmware design will be explored. Issues such as embedded processor selection, hardware/firmware partitioning, glue logic, circuit design, circuit layout, circuit debugging, development tools, firmware architecture, firmware design, and firmware debugging will be discussed. A very popular microcontroller, will be studied. The architecture and instruction set of the microcontroller will be discussed, and a wire wrapped microcontroller board will be built and debugged. The course will culminate with a significant final project which will extend the base microcontroller board completed earlier in the course.