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.

Oct 26th 2026
5-12 Weeks
Linux System Administration with IBM Power Systems (Coursera) Coursera
IBM

Linux System Administration with IBM Power Systems (Coursera)

This course introduces administrative tasks that a system administrator can perform with Linux hosted on IBM Power servers. This includes virtualization concepts such as logical partitioning, installation of Linux, command-line operations, and more interesting administration and device management tasks. This course includes hands-on exercises with systems from an IBM data center.

Oct 26th 2026
4 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.

Oct 19th 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).

Oct 26th 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.

Oct 26th 2026
5-12 Weeks
C Programming: Using Linux Tools and Libraries - 7 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Using Linux Tools and Libraries - 7 (Coursera)

Learn how to use professional tools and libraries to write and build C programs within the Linux operating system. This seventh and final course in the C Programming with Linux Specialization will allow you to develop and use your C code within the Linux operating system. Using libraries in C is a fundamental concept when it comes to sharing code with others. In addition to compiling and linking, you will also learn how to pass arguments to an executable program.

Oct 26th 2026
3 Weeks
操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Oct 26th 2026
13-24 Weeks
Capstone: Autonomous Runway Detection for IoT (Coursera) Coursera
EIT Digital

Capstone: Autonomous Runway Detection for IoT (Coursera)

The students will develop a larger system using the learning outcomes from these courses, and the students will evaluate the developed system in a real-world programming environment. This course is a true engineering task in which the student must, not only implement the algorithm code, but also handle the interfaces between many different actors and hardware platforms.

Nov 2nd 2026
3 Weeks
VLSI CAD Part II: Layout (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part II: Layout (Coursera)

A modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Oct 19th 2026
5-12 Weeks