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

Introduction to Embedded Machine Learning (Coursera) Coursera
Edge Impulse

Introduction to Embedded Machine Learning (Coursera)

Machine learning allows us to teach computers to make predictions and decisions based on data and learn from experiences. In recent years, incredible optimizations have been made to machine learning algorithms, software frameworks, and embedded hardware. Thanks to this, running deep neural networks and other complex machine learning algorithms is possible on low-power devices like microcontrollers. This course will give you a broad overview of how machine learning works, how to train neural networks, and how to deploy those networks to microcontrollers.

Sep 13th 2026
3 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
Computer Hardware and Software (Coursera) Coursera
University of California, Irvine

Computer Hardware and Software (Coursera)

This course provides foundational understanding of how computers process information through hardware and software. You will investigate the world of Information Technology (IT) and survey hardware components, mobile devices, operating systems, programs and apps, network fundamentals, the Internet, and touch on security and ethics.

Aug 31st 2026
3 Weeks
Competencias digitales. Conceptos y herramientas básicas (Coursera) Coursera
Universitat Autònoma de Barcelona

Competencias digitales. Conceptos y herramientas básicas (Coursera)

Los continuos cambios tecnológicos, sobre todo en aquellos aspectos vinculados a las tecnologías de la información y la comunicación (TIC) hacen que las personas tengan la necesidad de actualizarse de forma continua para que sus conocimientos no queden obsoletos. En este contexto, para las empresas se convierte en algo imprescindible disponer de profesionales que tengan las competencias necesarias para ejercer con éxito las actividades que requieren en su lugar de trabajo.

Aug 31st 2026
4 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
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
Interfacing with the Arduino (Coursera) Coursera
University of California, Irvine

Interfacing with the Arduino (Coursera)

Arduino senses the environment by receiving inputs from add-on devices such as sensors, and can control the world around it by adjusting lights, motors, and other actuators. In this class you will learn how and when to use the different types of sensors and how to connect them to the Arduino. Since the external world uses continuous or analog signals and the hardware is digital you will learn how these signals are converted back-and-forth and how this must be considered as you program your device. You'll also learn about the use of Arduino-specific shields and the shields software libraries to interface with the real world.

Aug 31st 2026
4 Weeks
Hands-on Introduction to Linux Commands and Shell Scripting (Coursera) Coursera
IBM

Hands-on Introduction to Linux Commands and Shell Scripting (Coursera)

This mini-course provides a practical introduction to commonly used Linux / UNIX shell commands and teaches you basics of Bash shell scripting to automate a variety of tasks. The course includes both video-based lectures as well as hands-on labs to practice and apply what you learn. You will have no-charge access to a virtual Linux server that you can access through your web browser, so you don't need to download and install anything to perform the labs.

Aug 31st 2026
1 Week
Interagir com sistemas operativos (Coursera) Coursera
Google

Interagir com sistemas operativos (Coursera)

Neste curso, através de uma combinação de palestras em vídeo, demonstrações e experiências práticas, vai adquirir conhecimentos acerca dos componentes principais de um sistema operativo e como realizar tarefas críticas, como gerir software e utilizadores e configurar hardware. Vamos terminar com um exemplo de como este conteúdo pode surgir no contexto de uma entrevista.

Aug 31st 2026
5-12 Weeks
Internet of Things V2: DragonBoard™ bring up and community ecosystem (Coursera) Coursera
University of California, San Diego

Internet of Things V2: DragonBoard™ bring up and community ecosystem (Coursera)

Do you want to develop skills to prototype embedded products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC).

Aug 31st 2026
5-12 Weeks