Rapid Prototyping is the second of three classes in the Embedded Interface Design (EID) specialization, an online version of the on-campus EID class taught in graduate embedded systems design. This course is focused on rapid prototyping of devices and systems and the related methods, practices, and principles that will help ensure your embedded interface designs are what your users both need and want. The class includes an introduction to rapid prototyping, prototyping device and system user interfaces, prototyping devices, and design considerations and perspectives for devices. The content ranges from general design best practices to specifics for embedded devices of different types and specific flavors of user interfaces, but all are presented to support developing embedded devices. The class includes practical projects that let you try some of standard methods in software development of prototype graphical user interfaces for devices using Qt and HTML. This course can be taken for academic credit as ECEA 5347, part of CU Boulder's Master of Science in Electrical Engineering degree.
Introduction to Rapid Prototyping
-An introduction to rapid prototyping of embedded devices and interfaces. Includes a review of prototyping; approaches, goals, fidelity, and other concerns. Also a look at the embedded device product development cycle and how it relates to prototyping, as well as special considerations for prototypes and products that use wireless communications. Includes a brief review of the class programming assignments for prototyping Qt and HTML interfaces as used for embedded devices, and pre-project preparation suggestions.
Prototyping Device UIs
-A review of the mechanics and methods of creating user interfaces for embedded devices and systems. We'll look at using Qt, HTML, and other tools for creating prototype and product interfaces. We'll consider best practices for GUI designs, and look at the microinteraction model, which helps isolate key interactions to create signature moments for our device designs. The first development project, developing a Qt interface with Python, is also part of this module.
Prototyping Embedded Devices
-In this module we'll look at choosing elements for prototyping embedded devices. First a look at the Pugh Matrix for assessing alternative designs by examining ranked criteria, then a review of hardware platforms and supporting software operating systems that can combine to provide a prototype of a working embedded device or system. In particular, we'll look at the elements of FreeRTOS for microprocessor based prototypes that may need IoT or cloud connectivity. The second programming project, developing an HTML-based device interface is part of this module.
Design for IoT Devices
-This module examines various views of developing IoT and connected embedded devices and systems. We will consider the impact of data, its form, structure, and flow on designs, and we will consider some different perspectives on how we consider aspects of designs. We'll look at the use of Artificial Intelligence elements in developing networks of IoT devices, and we'll examine some specific design considerations foe wearable devices and voice user interfaces. Also in this module we'll perform peer reviews on the development performed earlier in the class to compare and contrast approaches for prototyping device UIs.