This project-based laboratory course involves the development of embedded system prototypes. Typical projects contain combinations of the following component types: transducers, analog front ends, micro-controllers and processors, FPGAs, digital signal processors, electrical interfaces, wired or wireless connectivity, printed circuit boards required for integration and test, and software/firmware modules needed to operate a designed system. The laboratory activity is a backdrop used to teach key aspects of the development process such as documentation, realistic use of requirements, design partition, integration strategy, interface design, risk mitigation, and design strategies to accommodate available resources. Students will select a project concept and then create an implementation plan that will define the semester's activity. Students may work independently or in teams to define, develop, test, and document their projects. Students are encouraged to select topics based on their interests and learning objectives. All projects are subject to instructor approval.
An undergraduate degree in electrical or computer engineering or computer science, 525.612 Computer Architecture, and working knowledge of C or C++ or instructor's approval.