This course can also be taken for academic credit as ECEA 5348, part of CU Boulder’s Master of Science in Electrical Engineering degree. M2M and IoT Interface Design and Protocols is the third 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 connecting devices to each other and to the cloud to create prototypes and actual systems that flow data from devices to consumers. The class includes an introduction to M2M (Machine-to-Machine) and IoT (Internet of Things) concepts, using the cloud to develop IoT systems (specifically AWS (Amazon Web Services) and its IoT framework), a review of common communications protocols at every level of connected devices, and other IoT design concerns such as security, message queuing approaches, and the use and design of APIs and microservices . The content ranges from general design best practices to specifics for select tools and methods, but all are presented to support developing embedded devices in IoT applications. The class includes practical projects that let you try some of standard methods in software development of prototype graphical user interfaces for devices using AWS, Python, and optionally Node.JS. This course can be taken for academic credit as ECEA 5348, part of CU Boulder's Master of Science in Electrical Engineering degree.