Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Model Based Design: Build Embedded Systems with Simulink
Rating: 3.9 out of 5(223 ratings)
3,605 students

Model Based Design: Build Embedded Systems with Simulink

Model Based Development - MBD: From Requirements to Testing on Hardware
Created byMahmoud Zidan
Last updated 4/2025
English

What you'll learn

  • Understand the concept of Model Based Design
  • Navigate the Simulink Environment
  • Configure Simulink Model for Code Generation
  • Integrate Hand-Written Code with Generated Code from Simulink
  • Deploy Code on Microcontroller
  • Test Code on Real Hardware
  • Requirements Analysis
  • Interface Sensors and Actuators with Microcontroller
  • Develop Algorithms for Different Sensors Using Simulink
  • How to Read and Write Digital Signals
  • Read Analog Signals
  • Measure Distance Using Ultrasonic Sensor
  • Use LDR (Photoresistor)
  • Develop Algorithm for Rotary Encoder
  • Algorithm for Infrared Sensor
  • DC Motor Control using Digital and Analog Signals

Course content

7 sections27 lectures3h 22m total length
  • Introduction to Model Based Design9:19

    This lesson will introduce you to the concept of Model Based Design.

  • Quiz 1
  • MBD Example (DC Motor Control - Part 1)8:24

    This lesson will get you familiar with Simulink interface by building a model of DC motor control.

  • MBD Example (DC Motor Control - Part 2)5:41

    In this lesson we continue the development of the closed control loop of the DC motor

  • Quiz 2

Requirements

  • Basic Knowledge of Embedded Systems, Simulink is preferred but not necessary

Description

Model Based Design: to be MBD Engineer

We will dive into the world of Model Based Design and Embedded Systems, explore the entire software development life cycle.

Initiate the process by comprehending the requirements, transforming them into models, generate code from models, integrate codes and deploy on hardware.

Throughout this course, we will guide you systematically in the creation of embedded systems projects and leveraging the power of the model based approach with Simulink.

You’ll gain expertise in constructing models tailored for code generation, deploying this code seamlessly onto microcontrollers, and conducting real-world hardware testing.

Furthermore, we will provide you with a comprehensive introduction to the essential Simulink blocks that are frequently utilized in embedded software projects within industries such as automotive.

In addition, you will learn the common design concepts in industry such as implementation of counters, debouncing algorithm and other topics.

Learn how to interface different sensors, design models to use data from them and to control different actuators.

This course will build your knowledge step by step and prepare you to start your journey as model based design engineer in industries such automotive, aerospace and robotics by building real embedded systems projects starting from basic examples to more complex designs.

This course will teach you how to handle the following sensors and actuators using model based design techniques:

  • Modelling using multiple Simulink blocks such as:

    Math blocks, Logic blocks

    PID controller, Inputs and outputs blocks,

    If/else block, Switch Case blocks, Merge block

    Atomic subsystems, Enabled subsystem

    Truth Tables

    Stateflow chart

  • Implement commonly used algorithm in automotive and other industries such as Counters and Denouncing algorithm

  • Generate C Code and Deploy on Micro-Controller Target [Ex: Arduino, STM32 and ESP32]

  • Digital inputs and outputs (Buttons and LEDs)

  • Analog signals (Potentiometer)

  • Combine digital and analog signals in a control algorithm to control motor speed

  • LDR

  • Ultrasonic Sensor

  • Infrared Obstacle Avoidance Sensor

  • Rotary Encoder

  • Simulink Support Package for Arduino

In each lesson we will learn a new design technique and introduce you to multiple ways of building the same functionality to enhance your modeling skills and deploying .


Course Updates:

[April 2025]

  • New Lesson in Questions and Answers section [ Atomic vs Function Caller Subsystem]

[Jan 2025]

  • New lesson on deploying generated code on STM32 uC

  • New lesson on deploying generated code on ESP32

Who this course is for:

  • Anyone who is interested in developing a full embedded systems project using model based design approach.
  • Undergraduate and graduate students seeking a model-based development engineering position