Microcontrollers (MCU) are used everywhere today...in microwave ovens, engine controls in cars, automatic bread makers, to distributed I/O Controllers in Mainframe Computers. This course is designed to provide a learning experience that will prepare students to enter the design community ready to design and work with these systems. Through a combined lecture and laboratory environment, the students will be introduced to the concepts of ARM-based microcontrollers. These concepts will then be utilized, in the laboratory, to provide solutions to typical applications problems. Many applications problems will be assigned, and the students will be required to design and implement the solutions. The goal of this course is to provide students with the knowledge of MCU architecture and application. At the end of the course students would acquire the following: (1) knowledge of the various software and hardware components of a microcontroller, (2) understanding of MCU design and instruction set architecture (ISA) and (3) ability to develop MCU applications using C language.