Real-Time Project for Embedded Systems (Coursera)

Real-Time Project for Embedded Systems (Coursera)

The final course emphasizes hands-on building of an application using real-time machine vision and multiple real-time services to synchronize the internal state of Linux with an external clock via observation. Compare actual performance to theoretical and analysis to determine scheduling jitter and to mitigate any accumulation of latency.

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

The verification of the final project will include comparison of system timestamp logs with a large set of images which can be encoded into a video. The final report will be peer reviewed and the captured frames and video uploaded for scripted assessment.
Course Learning Outcomes:

  • Outcome 1: Decompose a problem and set of basic real-time requirements into software modules and Linux POSIX real-time threads
  • Outcome 2: Analyze services in terms of C (execution time), T (request period), and D (deadlines for completion) to establish feasibility and margin for meeting requirements
  • Outcome 3: Design and construct a solution for a native Linux system equipped with a webcam to verify and demonstrate system synchronization using machine vision processing

Course 4 of 4 in the Real-Time Embedded Systems Specialization.

What You Will Learn

  • Real-time system design concepts and decomposition of functions and indentification of key services
  • De-coupling of I/O from real-time processing to avoid response time over-runs
  • Using AMP design principles with Rate Monotonic policy, analysis and theory
  • Using AMP design principles with best-effort an parallel real-time co-processing

Syllabus

WEEK 1
RTES Project Goals and Objectives
This module provides background on the RTES project including the concept of a "visual synchronome", where a camera is used to synchronize time between an external clock and an embedded computer. The project requires synchronization at both 1 Hz and 10 Hz, where the real-time services must acquire camera frames, select stable (non-blurred) frames and write them to a flash file system. The project requires a good understanding of RMA, real-time scheduling, and design principles for multi-service real-time systems.

WEEK 2
Completion of RTES Project and Preliminary Functional Testing
Different design approaches for the RTES project are reviewed in this module including the "shot gun" start, where clock ticks are detected once at the start, the full synchronome continuous tick detection approach, and different options for implementation. RTES project designers must decide on a camera interface, for example a V4L2 (Video for Linux 2) interface to UVC (Universal Video Controller) driver, or an OpenCV interface to a camera.

WEEK 3
Timing Analysis — Comparison of Actual to Predicted Service Time Events
To ensure that a real-time design is properly implemented, timing analysis based upon system logging and tracing must be used to verify that actual timing compared to theoretical RMA. This module provides and overview of methods and suggests the most efficient methods to debug and verify timing of the RTES project. The module includes a 1 Hz peer review of design and code to assist with RTES project improvement for external clock synchronization using camera images with a ticking analog clock.

WEEK 4
Methods for System Verification and Validation of RTES project
This module covers methods of tracing and profiling for the overall RTES project platform including networking, system profiling, and methods to trace real-time services in particular. The module includes a 10 Hz peer review of design and code to assist with RTES project improvement for external clock synchronization with a digital stopwatch at this higher rate compared to 1 Hz.

WEEK 5
Final Project Review and Presentation
The overall RTES project should be completed for this module. Students can review tips and examples for how to prepare their design materials, their RMA, and code for review. The process for inspection to verify and validate the design based upon the RTES project rubric is defined here as well.

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 FPGA Design for Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Introduction to FPGA Design for Embedded Systems (Coursera)

Programmable Logic has become more and more common as a core technology used to build electronic systems. By integrating soft-core or hardcore processors, these devices have become complete systems on a chip, steadily displacing general purpose processors and ASICs. In particular, high performance systems are now almost always implemented with FPGAs. This course will give you the foundation for FPGA design in Embedded Systems along with practical design skills.

Jul 27th 2026
4 Weeks
Unix System Basics (Coursera) Coursera
Codio

Unix System Basics (Coursera)

Explore Unix system basics without installing anything! This course is designed for learners with no technical experience, providing a solid foundation of Unix basics. Learners will gain hands-on practice on an Ubuntu system that can be easily transferred to other Unix-based operating systems. The modules in this course cover what characterizes Unix-based operating systems, navigating, searching, and editing files and directories using the command line.

Jul 27th 2026
3 Weeks
Linux System Programming and Introduction to Buildroot (Coursera) Coursera
University of Colorado Boulder

Linux System Programming and Introduction to Buildroot (Coursera)

This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux Embedded System, including kernel and root filesystem details are discussed. The Buildroot build system is introduced, which students use to build their own custom Embedded Linux system through programming assignments.

Jul 27th 2026
4 Weeks
Linux Server Management and Security (Coursera) Coursera
University of Colorado System

Linux Server Management and Security (Coursera)

Whether you are accessing a bank website, Netflix or your home router, chances are that your computer is interacting with a Linux system. The world runs on Linux. In this course, we will dive into how Linux works from an enterprise perspective. In week 1 we will look at what Linux is used for in the enterprise. By the end of week 1, you will be able to differentiate between different versions of Linux and understand how they are used in an enterprise environment. In week 2, we will explore how Linux systems are configured.

Jul 27th 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.

Jul 20th 2026
4 Weeks
Architecting Smart IoT Devices (Coursera) Coursera
EIT Digital

Architecting Smart IoT Devices (Coursera)

This course will teach you how to develop an embedded systems device. In order to reduce the time to market, many pre-made hardware and software components are available today. You'll discover all the available hardware and software components, such as processor families, operating systems, boards and networks. You'll also learn how to actually use and integrate these components.

Jul 27th 2026
5-12 Weeks
System Validation: Automata and behavioural equivalences (Coursera) Coursera
EIT Digital

System Validation: Automata and behavioural equivalences (Coursera)

Have you ever experienced software systems failing? Websites crash, calendar not synchronising, or even a power blackout. Of course you have! But did you know that many of these errors are the result of communication errors either within a system or between systems? Depending on the system, the impact of software failures can be huge, even resulting in massive economic damage or loss of lives. Software, and in particular the communication between software-intensive systems, is very complex and very difficult to get right. However, we _need_ dependability in the systems we use, directly or indirectly, to support us in our everyday lives.

Jul 27th 2026
3 Weeks
Real-Time Embedded Systems Theory and Analysis (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Theory and Analysis (Coursera)

This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system.

Jul 20th 2026
4 Weeks
Fundamentos do Suporte Técnico (Coursera) Coursera
Google

Fundamentos do Suporte Técnico (Coursera)

Ele é o primeiro de uma série que visa prepará-lo para entrar no mercado de TI como especialista de suporte técnico. Neste curso, apresentaremos o mundo da Tecnologia da Informação, ou TI. Você aprenderá sobre diversas facetas da Tecnologia da Informação, como hardware, software, internet, resolução de problemas e atendimento ao cliente. Mostraremos como uma entrevista técnica costuma transcorrer e daremos dicas de como se preparar melhor para esse tipo de ocasião.

Jul 27th 2026
5-12 Weeks
Protecting Cloud Architecture with Alibaba Cloud (Coursera) Coursera
Alibaba Cloud Academy

Protecting Cloud Architecture with Alibaba Cloud (Coursera)

The Security Exam Preparation Course is a series of online courses covering topics including Linux and Windows OS basics and operations, network fundamentals, host security, application security, network security, and data security. It is designed to help you understand how these products work, how they should be used, and help you gain the required knowledge to prepare for the ACA/ACP level cloud security specialist.

Jul 20th 2026
5-12 Weeks