Embedded Systems Course

Continuing Education Center
Embedded Systems Course

Level 1: Embedded Systems Introduction
Overview:
- This course introduces key concepts of embedded systems, focusing on programming in Embedded C, microcontroller architecture, and interfacing. Trainees will gain a deep understanding of essential topics like GPIO programming, interruption, ADC, and communication protocols. This foundation prepares learners to develop embedded systems, including interfacing with various sensors and motors, and working with real-time operating systems.
Learning Outcomes:
- Master embedded C programming, including dynamic memory allocation and data structures.
- Understand microcontroller architecture and interfacing, covering GPIO, interrupts, timers, and communication protocols.
- Gain practical skills in developing real-time embedded systems using RTOS and FreeRTOS, and complete embedded systems projects.
Prerequisites:
- No prior experience in Embedded Systems is required.
Target Certification:
- The participant who will pass the course exam will obtain a certificate from MIU.
Who Should Attend
- Graduates or students in computer science, communications, Electronics, or Computer Engineering field looking to enter the embedded and automotive industry.
Estimated Time to Completion: 100 hours
Housr/Day | No. of days / week | Total no. of days |
6 Hours/day | 4 days/week | 16 Days |
Contents:
- Embedded C [18hrs]
- C Programming Basics
- Functions – Program Organization
- Arrays – Sorting – Searching
- Pointers – Data Modifiers
- Data Modifiers
- User Defined Datatypes: Structures – enum
- C Preprocessors
- Dynamic Memory Allocation: Linked Lists – Multidimensional Arrays
- Software Characteristics and Layering Architecture.
- Building/Compilation Process.
- Embedded C concepts and Program Organization.
- Microcontroller Architecture and Interfacing [84hrs]
- Introduction to Embedded Systems (12hrs)
- Definition
- Microprocessors vs Microcontrollers
- RISC vs CISC
- Memory Hierarchy
- Von Neumann vs Harvard
- Layered Architecture
- Memory Sections
- Linker Script
- Startup Code
- Boot loaders
- Make files
- Batch script
- Microcontroller Architecture
- AVR Family
- AVR Architecture
- General Purpose Input Output Programming (GPIO). (18hrs)
- IO Registers
- LEDs, 7-segement interfacing, mechanical switch
- Electrical Switches: Transistor, relay, opto-couplers- Darlington pair interfacing
- Keypad
- LCD
- GPIO Driver
- Interrupts (6 hrs)
- Introduction to Interrupts
- Interrupt Handling
- Digital External Interrupts
- Motors (DC-Stepper)
- Analog to Digital Converter (ADC). (6 hrs)
- Introduction to ADC
- ADC Registers
- ADC Driver
- Analog Sensors
- Timer Concepts (Time and Signal Generation). (12hrs)
- Timer as counter
- PWM (servo motor – light intensity control)
- Input Capture Unit
- Watchdog
- Communication Protocols (18hrs)
- UART
- SPI
- I2C
- Project (12hrs)
Lab Equipment Requirements
- Hardware:
https://fares-pcb.com/product/avr-development-kit-eta32/ - EVR Kits
● AVR Development Kit (Eta32)
or
● AVR Development Kit (Eta32Mini)
Recommended Next Course:
- Level 2: Advanced Embedded Systems
Level 2: Advanced Embedded Systems
Overview:
- Embedded systems power IoT devices, automotive systems, medical tech, and Industry 4.0, driving massive demand for engineers who can design optimized, secure, and connected hardware/software solutions. Mastering these skills opens high-growth roles in embedded firmware, automotive electronics, and robotics.
- This course prepares you for roles in embedded systems, automotive engineering, IoT, and software development, making you a versatile and industry-ready professional.
Learning Outcomes:
- Studying this course equips you with essential skills in embedded systems, including real-time operating systems (RTOS) with scheduling, mutual exclusion, and inter-task communication; software testing techniques like unit, integration, and black/white box testing; and software engineering principles, including SDLC, Agile, and design documentation. You’ll gain expertise in automotive technologies, such as CAN, LIN, FlexRay, and AUTOSAR standards, and learn embedded Linux development, including cross-compiling, bootloaders, and file systems. Hands-on projects, like smart home systems, autonomous cars, and assistive devices, will enhance your problem-solving and practical implementation skills.
Prerequisites
- Embedded Systems course Basic level
Who Should Attend
- Graduates or students in computer science, communications, Electronics, or Computer Engineering field looking to enter the automotive industry.
Estimated Time to Completion: 72 hours
Housr/Day | No. of days / week | Total no. of days |
6 Hours/day | 4 days/week | 12 Days |
Contents:
- Real time operating system (RTOS) (24hrs)
- Building Real Time Schedulers
- RTOS.
- Basic Definitions
- Scheduling Techniques
- Dynamic Design Concepts
- Shared Resources Analysis
- Mutual Exclusion Techniques
- Intertask communication
- Porting FreeRTOS on AVR
- Automotive Bus Technology Standards (14hrs)
- Understand the main concepts of automotive embedded systems.
- Develop an understanding of the technologies behind automotive embedded systems.
- Develop an understanding of Automotive Protocols (LIN, CAN, CANFD, FlexRay and Ethernet protocols).
- AUTOSAR (24hrs)
- AUTOSAR Basics.
- AUTOSAR Software Components & Application Layer.
- AUTOSAR basic Software Layer.
- AUTOSAR MCAL Layer.
- AUTOSAR Services Layer.
- Deployed AUTOSAR knowledge of Memory Stack Modules.
- Deployed AUTOSAR Knowledge of Communication Stack Modules.
- Embedded Linux (14hrs)
- Introduction to embedded Linux.
- C libraries. Building a cross-compiling toolchain.
- Focus on U-boot.
- Configuring, (cross)compiling and booting a Linux kernel
- Creating a simple, BusyBox based root file system from scratch
- Block file systems.
- Flash storage and files systems.
- Cross-compiling libraries and applications.
- Embedded system building tools.
- Project: (12hrs)
- Project 1: Smart Home
- Project 2: Electric Water Heater
- Project 3: Glove for Deaf
- Project 4: Controlling Car with hand motion
- Project 5: Autonomous Car
- Project 6: PWM Drawer
Lab Equipment Requirements
- Hardware:
https://fares-pcb.com/product/avr-development-kit-eta32/ - EVR Kits
AVR Development Kit (Eta32) Or AVR Development Kit (Eta32Mini)