Most topics are interwoven throughout the semester rather than being covered sequentially, but a rough breakdown of time allocated to topics is Definition of embedded systems; design methodology (1 week) Hardware interfacing components [LEDs, LCDs, switches, logic families, analog-digital converters, etc] (1 week) Hardware interfacing techniques (1 1/2 weeks) Motorola 6811/12 family architecture (1 1/2 weeks) Motorola 6811/12 assembly language programming (1 week) Serial and parallel communication ports and drivers (1 week) Interrupt management (1 1/2 weeks) Project proposals, interim reports, and final presentations (5 1/2 weeks) The course is organized around completing a major design project of the student's choice; we work on these projects for most of the semester. These projects address real world problems and involve selecting appropriate components, interfacing various sensors and output devices to microcontrollers, developing appropriate printed circuit boards and physical packaging, and creating assembly language or other system software to operate the system. Students are responsible for selecting and ordering components for their projects while adhering to agreed timetables and budgets. Weekly oral and written progress reports are required in addition to a formal project proposal and final project documentation. To help prepare for the project, there are several lab exercises to reinforce embedded systems concepts; these are expected to be * a simple timer * a basketball shot clock * a digital thermometer (2 versions) * serial communication links