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

Fundamentals of Red Hat Enterprise Linux (Coursera) Coursera
Red Hat

Fundamentals of Red Hat Enterprise Linux (Coursera)

This course will provide you with a basic introduction to Linux® skills using Red Hat® Enterprise Linux 8. It will show you how a Linux system is organized, and will demonstrate introductory system administration tasks, which you will be able to practice on your own. You will be introduced to reasons why Linux and the open source development model are so important in today's computing environment. Linux systems are used everywhere—the internet, point-of-sale systems, and the world's stock markets. You’ll find Linux running smart TVs, in-flight entertainment systems, and most of the top supercomputers in the world.

Sep 28th 2026
5-12 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.

Sep 21st 2026
5-12 Weeks
UX and Interface Design for Embedded Systems (Coursera) Coursera
University of Colorado Boulder

UX and Interface Design for Embedded Systems (Coursera)

UX and Interface Design for Embedded Systems is the first 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 first course is focused on user experience (UX) and the related methods, practices, and principles that will help ensure your embedded interface designs for devices and systems are what your users both need and want.

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

Sep 14th 2026
5-12 Weeks
Core 2: OS, Software, Security and Operational Procedures (Coursera) Coursera
IBM

Core 2: OS, Software, Security and Operational Procedures (Coursera)

Are you interested in becoming a proficient and sought-after IT professional? Are you currently or do you plan to pursue a career in an IT support, network technician, or other IT-related role? This IBM course, designed for individuals with IT Fundamentals knowledge, is part of a series of courses that will help you prepare for the CompTIA Core 2 Certification exam. You will gain a solid foundation in operating systems, IT support best practices and procedures, and the skills necessary to excel in an IT role.

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

Sep 14th 2026
4 Weeks
C Programming: Advanced Data Types - 5 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Advanced Data Types - 5 (Coursera)

In this course you will define your own data types in C, and use the newly created types to more efficiently store and process your data. Many programming languages provide a number of built-in data types to store things such as integers, decimals, and characters in variables, but what if you wanted to store more complex data?

Sep 14th 2026
3 Weeks
Art of the MOOC: Experiments with Sound (Coursera) Coursera
Duke University,Berlin University of the Arts - UdK

Art of the MOOC: Experiments with Sound (Coursera)

Students of this course may try their hand at their own sound interventions and musical compositions, or simply focus on learning more about diverse musical traditions, sonic experimentation, and acoustic phenomena in everyday life. Designed by artist and Duke professor, Pedro Lasch, and UdK composer Mathias Hinke, this course is also co-taught by scholar and musician Jace Clayton (DJ Rupture) and curator Candice Hopkins (Documenta 14).

Sep 21st 2026
5-12 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.

Sep 14th 2026
1 Week