Embedded Hardware and Operating Systems (Coursera)

Offered by EIT Digital,
Embedded Hardware and Operating Systems (Coursera)

This course is intended for the Bachelor and Master's students, who like practical programming and making IoTs applications! In this course we will talk about two components of a cyber physical system, namely hardware and operating systems. After completing this course, you will have the knowledge of both hardware components and operating systems. You are able to plan and use embedded operating systems in resource-constraint devices for Internet-of-Things (cyber physical system) applications.

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

In addition, you can use Cooja simulation for designing and simulating wireless sensor network applications.
We have 4 modules, each with a graded quiz in the end and finally we have one peer reviewed programming assignment.
The course is actually quite fun at the end when you are playing around with Cooja simulation for IoTs applications. So you can create and simulate your own design for sensor network applications. A lot of features and examples of Contiki and Cooja can be explored via assignments. There are some optional assignments of wireless sensor network applications for students who want to explore more about embedded OS in IoTs applications.

  • Marco Ramirez /University of Turku
  • Igor Tcarenko/ University of Turku
  • Nguyen Gia Tuan /University of Turku

Course 1 of 4 in the Development of Secure Embedded Systems Specialization

Syllabus

WEEK 1
Introduction to Embedded Hardware
This week will start from the basic information about Embedded Systems. Specifically, you will learn (1) what are embedded systems and where they are applied as well as (2) the main characteristics and challenges of embedded systems. (3) You will discover how embedded systems communicate with the outer world.

WEEK 2
Processing Elements of an Embedded System
This week we will go into details of what embedded systems consist of. Specifically you learn about the main blocks of any processing element of embedded systems. We will show you what (1) embedded processors consists of and its main features. You will learn what (3) reconfigurable architectures and FPGAs are, and what kind of (4) ready-made platforms you can use to start working with processing elements.

WEEK 3
Overview of operating systems and embedded operating systems
In this week, we start with an overview of operating systems and embedded operating systems for IoT. Primary functionalities of embedded operating systems are discussed. We learn how operating systems work: how memory is managed, how tasks are scheduled, what interrupts are and how they are handled. After this, we deepen our learning with the popular kernels for general and embedded operating systems. Linux (monolithic) kernel, micro kernel and modular kernel are presented. In addition, several popular embedded operating systems for IoT are presented. Concretely, after attending this week, you will able to (1) explain why embedded systems often require an operating system (2) describe how an embedded operating system works such as how memory is managed, how tasks are scheduled and how interrupts are handled. (3) You will be able to differentiate between popular kernels for embedded operating systems. (4) Differentiate between popular embedded operating systems for IoT.

WEEK 4
Contiki OS and Cooja simulation
In this week, we start to explore the Contiki Os in detail. First we discuss about the Contiki system and its kernel architecture. Furthermore, we explore how loadable programs are actually implemented in Contiki. Second, we go through services and libraries in Contiki to see how they are built and when they can be invoked. Third, we discuss communication in Contiki via details of uIp and Rime communication stacks in Contiki. Next, prototheads are discussed to describe how application code is processed in Contiki. Furthermore, APIs of multi-threading is discussed. Last but not least, the Cooja simulator - a simulator for wireless sensor networks based on Contiki is introduced. All steps of installing and applying Cooja for a wireless sensor network applications are presented in detailed via an example application. Concretely, after attending this week, you will able to (1) describe how Contiki system and its kernel architecture are built. (2) Distinguish Contiki services and libraries in terms of how they are built, when they are invoked and why they are used. (3) Describe how communication is implemented and supported in Contiki and what protocols Contiki can support. (4) Explore how application's code is processed in Contiki and important functions of API for multithreading in Contiki (5) use Cooja for simulating wireless sensor networks applications.

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

Related Courses

Productivity and Systems Development (Coursera) Coursera
University of California, Irvine

Productivity and Systems Development (Coursera)

This course provides hands-on experience with technology-based productivity tools, as well as foundational knowledge and understanding of system design and development. The course is designed to integrate concepts of hardware, software, and the Internet. This course also provides an overview of data security, data privacy, and ways to increase productivity and efficiency. Students will also investigate technology career paths and some of the various certifications available in the industry.

Aug 31st 2026
3 Weeks
Hardware Security (Coursera) Coursera
University of Maryland, College Park

Hardware Security (Coursera)

In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will understand the vulnerabilities in current digital system design flow and the physical attacks to these systems. They will learn that security starts from hardware design and be familiar with the tools and skills to build secure and trusted hardware.

Aug 31st 2026
5-12 Weeks
Sistemas Operacionais e Você: Tornando-se um Usuário Avançado (Coursera) Coursera
Google

Sistemas Operacionais e Você: Tornando-se um Usuário Avançado (Coursera)

Neste curso – com uma combinação de palestras em vídeo, demonstrações e atividades práticas – você conhecerá os principais componentes de um sistema operacional e verá como executar tarefas críticas, como gerenciamento de software e usuários, e configuração de hardware. Vamos terminar com um exemplo de como esse conteúdo pode acabar surgindo em uma entrevista.

Aug 31st 2026
5-12 Weeks
Intro to Operating Systems 4: Persistence (Coursera) Coursera
Codio

Intro to Operating Systems 4: Persistence (Coursera)

Learn the inner workings of operating systems without installing anything! This course is designed for learners who are looking to maximize performance by understanding how operating systems work at a fundamental level. The modules in this course cover input and output, directories, file systems, data integrity and protection, and distributed systems.

Aug 31st 2026
5-12 Weeks
Introduction to Cybersecurity Foundations (Coursera) Coursera
Infosec

Introduction to Cybersecurity Foundations (Coursera)

Most introductory or beginner level cybersecurity courses are not truly beginner level. Most of them assume some level of technical competence and expect that cybersecurity is not your first technical job role. However, as I've successfully mentored people coming from fields such as nursing, aviation (an airline pilot!), and real estate, I've learned that these people are underserved as far a true introduction. This Learning Path is an answer to that gap.

Aug 31st 2026
4 Weeks
Linux Fundamentals (Coursera) Coursera
LearnQuest

Linux Fundamentals (Coursera)

This course is the first of a series that aims to prepare you for a role working as an information technology professional. In this course, you will be introduced to the Linux operating system. You will learn about the licensing model and several Linux distributions. We will go through some services delivered in the Linux operating system. We will conclude this course by looking at how to search and analyze text using command line tools in the operating system.

Sep 14th 2026
4 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Sep 14th 2026
5-12 Weeks
Designing Hardware for Raspberry Pi Projects (Coursera) Coursera
Johns Hopkins University

Designing Hardware for Raspberry Pi Projects (Coursera)

This is course 4 of this specialization (although it can be taken out of order) and focuses on applying experience and knowledge gained in the first three courses to build physical electronics hardware. Specifically, this course focuses on four areas: circuit simulation, schematic entry, PCB layout, and 3D CAD modeling. There are many excellent commercial applications available in these areas, however to give everyone access we'll be using all free and open-source software.

Aug 31st 2026
4 Weeks
Princípios básicos de apoio técnico (Coursera) Coursera
Google

Princípios básicos de apoio técnico (Coursera)

Este curso é o primeiro de uma série que visa a sua preparação para uma função de especialista de apoio técnico de TI de nível básico. Neste curso, ser-lhe-á apresentado o mundo das TI (Tecnologias de Informação). Vai descobrir as diferentes facetas das Tecnologias de Informação, como o hardware informático, a Internet, o software informático, a resolução de problemas e o serviço de apoio ao cliente. Vamos analisar como é que pode ser realizada uma entrevista técnica e fornecer sugestões sobre a melhor forma de se preparar para uma.

Aug 31st 2026
5-12 Weeks
Introduction to the Internet of Things and Embedded Systems (Coursera) Coursera
University of California, Irvine

Introduction to the Internet of Things and Embedded Systems (Coursera)

The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. We'll also cover key components of networking to ensure that students understand how to connect their device to the Internet.

Aug 31st 2026
4 Weeks