M2M & IoT Interface Design & Protocols for Embedded Systems (Coursera)

M2M & IoT Interface Design & Protocols for Embedded Systems (Coursera)

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 .

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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.
Course 3 of 3 in the Embedded Interface Design Specialization

Syllabus

WEEK 1
Introduction to M2M & IoT
An introduction to M2M (Machine-to-Machine) and IoT (Internet of Things) definitions, differences, and the importance of these elements in modern use and industry. Also a review of basic cloud architectures, and related terms and concepts. We also review system design and architecture tools like UML, use cases, and architectural patterns. Finally, we look at the class projects for demonstrating IoT and cloud-connected (virtual) devices and systems, and start to prepare for working with AWS, Python, and Node.JS.

WEEK 2
Cloud for IoT
Review of key protocols and elements to build cloud-connected IoT systems, including the most common IoT application protocols that connect devices to the cloud - MQTT, CoAP, WebSockets. We then examine what cloud systems must provide to support IoT design, elements like over-the-air updates, digital twins, and serverless processes. Finally we review the make up of one of the most complete cloud environments, AWS, and also look specifically at how it provides a framework for IoT connected devices and systems. We also provide the first cloud-connected IoT coding exercise for the course.

WEEK 3
Communications Protocols
This module focuses on connections between devices and the protocols that enable those connections at several levels. We start at the board level of devices, and then look at low-level communications with protocols such as I2C, SPI, and UART. We then move up into personal, local, and wide area network protocols, both wired and wireless: Ethernet, USB, WiFi, Zigbee, etc. Finally we look specifically at long distance protocols for devices that will run on batteries for over ten years - cellular protocols like LTE-M and NB-IoT, and non-cellular protocols such as LoRaWAN and SIGFOX. We'll also create a second program to extend the first coding exercise to explore other cloud services and APIs.

WEEK 4
Other Cloud and IoT Elements
Here we review the final elements that we will include in our tool sets for designing cloud-connected IoT systems. We will look at alternative cloud platforms to AWS, both commercial and open source. We consider cybersecurity issues for IoT devices and systems, ways to test, harden, and prepare our systems for public exposure. And we consider some underlying software technologies that enable the structure of an IoT system: message queuing, APIs, and microservices. We will close with peer review of ours and other's coding exercises, and (optionally) prepare for the final exam.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Python Data Analysis (Coursera) Coursera
Rice University

Python Data Analysis (Coursera)

This course will continue the introduction to Python programming that started with Python Programming Essentials and Python Data Representations. We'll learn about reading, storing, and processing tabular data, which are common tasks. We will also teach you about CSV files and Python's support for reading and writing them. CSV files are a generic, plain text file format that allows you to exchange tabular data between different programs. These concepts and skills will help you to further extend your Python programming knowledge and allow you to process more complex data.

Jun 15th 2026
4 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Jun 15th 2026
4 Weeks
Python Data Visualization (Coursera) Coursera
Rice University

Python Data Visualization (Coursera)

This if the final course in the specialization which builds upon the knowledge learned in Python Programming Essentials, Python Data Representations, and Python Data Analysis. We will learn how to install external packages for use within Python, acquire data from sources on the Web, and then we will clean, process, analyze, and visualize that data. This course will combine the skills learned throughout the specialization to enable you to write interesting, practical, and useful programs.

Jun 15th 2026
4 Weeks
Internet of Things: Communication Technologies (Coursera) Coursera
University of California, San Diego

Internet of Things: Communication Technologies (Coursera)

Have you wondered how “Things” talk to each other and the cloud? Do you understand the alternatives for conveying latency-sensitive real time data versus reliable signaling data? Building on the skills from the Sensing and Actuation course, we will explore protocols to exchange information between processors.

Jun 15th 2026
4 Weeks
Moving to the Cloud (Coursera) Coursera
University of Melbourne

Moving to the Cloud (Coursera)

The cloud is taking business by storm. In fact, due to the extraordinary growth of the cloud, it has been described as a tornado, not a fluffy white floating object! Commercial research analysts consider cloud as one of the most significant trends with a potential to change the whole global IT industry. Governments, including those in the US, Britain, and Australia, have cloud-first policies now in place which mandate cloud over non-cloud services in ICT procurement.

Jun 15th 2026
5-12 Weeks
Introduction to Architecting Smart IoT Devices (Coursera) Coursera
EIT Digital

Introduction to Architecting Smart IoT Devices (Coursera)

Embedded Systems are so ubiquitous that some of us take them for granted: we find them in smartphones, GPS systems, airplanes and so on. But have you ever wondered how these devices actually work? If so, you're in the right place! In this course, you'll learn about the characteristics of embedded systems: the possibilities, dangers, complications and recipes for success.

Jun 15th 2026
3 Weeks
Algorithmic Thinking (Part 2) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 2) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Jun 15th 2026
4 Weeks
Machine Learning for Data Analysis (Coursera) Coursera
Wesleyan University

Machine Learning for Data Analysis (Coursera)

Are you interested in predicting future outcomes using your data? This course helps you do just that! Machine learning is the process of developing, testing, and applying predictive algorithms to achieve this goal. Make sure to familiarize yourself with course 3 of this specialization before diving into these machine learning concepts. Building on Course 3, which introduces students to integral supervised machine learning concepts, this course will provide an overview of many additional concepts, techniques, and algorithms in machine learning, from basic classification to decision trees and clustering.

Jun 15th 2026
4 Weeks
Data Management and Visualisation (Coursera) Coursera
Wesleyan University

Data Management and Visualisation (Coursera)

Whether being used to customize advertising to millions of website visitors or streamline inventory ordering at a small restaurant, data is becoming more integral to success. Too often, we’re not sure how use data to find answers to the questions that will make us more successful in what we do. In this course, you will discover what data is and think about what questions you have that can be answered by the data – even if you’ve never thought about data before. Based on existing data, you will learn to develop a research question, describe the variables and their relationships, calculate basic statistics, and present your results clearly.

Jun 15th 2026
4 Weeks
Applied Plotting, Charting & Data Representation in Python (Coursera) Coursera
University of Michigan

Applied Plotting, Charting & Data Representation in Python (Coursera)

This course will introduce the learner to information visualization basics, with a focus on reporting and charting using the matplotlib library. The course will start with a design and information literacy perspective, touching on what makes a good and bad visualization, and what statistical measures translate into in terms of visualizations. The second week will focus on the technology used to make visualizations in python, matplotlib, and introduce users to best practices when creating basic charts and how to realize design decisions in the framework.

Jun 15th 2026
4 Weeks
Using Databases with Python (Coursera) Coursera
University of Michigan

Using Databases with Python (Coursera)

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization.

Jun 15th 2026
5-12 Weeks