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

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.

Sep 7th 2026
4 Weeks
CPS Design with ARM Core using MicroPython for Industries (Coursera) Coursera
L&T EduTech

CPS Design with ARM Core using MicroPython for Industries (Coursera)

This course equips participants with the knowledge and hands-on skills needed to design and implement ARM Processor with Micro python in Cyber-Physical Systems (CPS) for industrial and use. Covering foundational concepts and practical development with Micro python programming on ARM processors, participants will explore the Consumer Industry, Smart City Perspective of CPS, and gain expertise to design and control the evolving smart systems.

Sep 7th 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.

Aug 31st 2026
5-12 Weeks
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
Dasar-Dasar Dukungan Teknis (Coursera) Coursera
Google

Dasar-Dasar Dukungan Teknis (Coursera)

Materi ini adalah rangkaian pertama dari keseluruhan program pelatihan yang akan membantu Anda untuk berperan sebagai Spesialis Teknisi IT tingkat pemula. Dalam kursus ini, Anda akan diperkenalkan ke dunia Teknologi Informasi, atau IT. Anda akan mempelajari berbagai aspek Teknologi Informasi, seperti perangkat keras komputer, Internet, perangkat lunak komputer, pemecahan masalah, dan layanan pelanggan. Pelatihan ini mencakup berbagai topik dalam dunia IT yang dirancang untuk memberi Anda gambaran tentang pelajaran apa yang akan diperoleh melalui program sertifikasi ini.

Sep 7th 2026
5-12 Weeks
Embedded Hardware and Operating Systems (Coursera) Coursera
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.

Sep 21st 2026
4 Weeks
Linux Cloud and DevOps (Coursera) Coursera
LearnQuest

Linux Cloud and DevOps (Coursera)

In this course, we look at Cloud, DevOps and the Linux operating system. The course material is a good for anyone preparing for the Linux Foundation Certified IT Associate (LFCA) exam or just interested in learning more about Linux. This course is the fourth course in a series that aims to prepare you for working as an information technology professional.

Sep 7th 2026
4 Weeks
Operating Systems and You: Becoming a Power User (Coursera) Coursera
Google

Operating Systems and You: Becoming a Power User (Coursera)

In this course, you’ll learn how to use the major operating systems, Windows and Linux, which are a core component of IT. Through a combination of video lectures, demonstrations, and hands-on practice, you’ll learn about the main components of an operating system and how to perform critical tasks like managing software and users, and configuring hardware.

Aug 31st 2026
5-12 Weeks
Network Principles in Practice: Linux Networking (Coursera) Coursera
University of Colorado Boulder

Network Principles in Practice: Linux Networking (Coursera)

Welcome! In this course, titled "Network Principles in Practice: Linux Networking," we delve into the dynamic domain of Linux Networking, featuring a robust set of features essential for contemporary networked systems. Departing from traditional approaches, our emphasis is on practical application over foundational knowledge. Throughout the course, you'll explore the integration of concepts into Linux, gaining hands-on experience in architecting and implementing complex networks and systems.

Sep 14th 2026
5-12 Weeks