Skip to Content
Embedded Systems Programming with STM32 Microcontroller and ARM Cortex-M4

Embedded Systems Programming with STM32 Microcontroller and ARM Cortex-M4

This comprehensive course is designed to provide you with a deep understanding of embedded systems programming using the STM32 microcontroller, which is based on the powerful ARM Cortex-M4 core. Whether you are a beginner or an experienced developer looking to enhance your skills, this course will guide you through the essential concepts and practical applications of embedded systems.

Github Repo: https://github.com/ahmedeldeep/stm32

Responsible Ahmed Eldeeb
Last Update 16-02-2025
Completion Time 2 days 12 hours 35 minutes
Members 188
  • Embedded Systems Introduction
    8Lessons · 3 hr 14 min
    • مقدمة سلسلة تعلم برمجة الأنظمة المدمجة والمتحكم الدقيق STM32 المعتمد على نواة ARM Cortex-M4
    • الدرس ١ و ٢ : مقدمة عن الأنظمة المدمجة وبنية الكمبيوتر
      10 xp
    • الدرس ٣ : تعرف على البنية البرمجية لمعالجات ARM Cortex-M4 ومبدأ عمله ج١
      10 xp
    • الدرس ٤ : تعرف على البنية البرمجية لمعالجات ARM Cortex-M4 ومبدأ عمله ج٢
      10 xp
    • الدرس ٥ : تعرف على عائلة المتحكمات STM32
    • الدرس ٦ : تجهيز بيئة العمل والتطوير على برنامج TrueSTUDIO for STM32
    • الدرس v : مقدمة عن Software development وبرنامج Hello Blinky
      10 xp
    • Certification: Embedded Systems Introduction
  • Basic Microcontroller Peripherals
    19Lessons · 10 hr 13 min
    • الدرس ٨ : STM32 General Purpose I/Os - GPIO
      10 xp
    • الدرس ٩ : ARM Cortex-M4 Nested Vectored Interrupt Controller - NVIC
      10 xp
    • الدرس ١٠ : Advanced Topics on Exception Handling
      10 xp
    • الدرس ١١ : External Interrupt/Event Controller - EXTI
      10 xp
    • الدرس ١٢ : Direct Memory Access Controller - DMA - Part 1
      10 xp
    • الدرس ١٣ : DMA Examples - Data Transfer using memcpy vs DMA
    • الدرس ١٤ : Direct Memory Access Controller - DMA - Part 2/2
      10 xp
    • الدرس ١٥ : Universal Synchronous Asynchronous Receiver Transmitter Controller - USART - Part 1
      10 xp
    • الدرس ١٦ : USART Example
    • الدرس ١٧ : USART - Part 2
      10 xp
    • الدرس ١٨ : USART Example using DMA and Hardware Flow Control
    • الدرس ١٩ : Interfacing Temperature Sensor DS18B20 using 1-Wire over UART
      10 xp
    • الدرس ٢٠ : Local Interconnect Network - LIN - Introduction
      10 xp
    • الدرس ٢١ : LIN Slave Driver Example
      10 xp
    • الدرس ٢٢ : Reset and Clock Control - RCC
      10 xp
    • الدرس ٢٣ : RCC Example
    • الدرس ٢٤ : Debug and Trace in ARM Cortex-M4
      10 xp
    • الدرس ٢٥ : Serial Wire Viewer - SWV - Example
    • Certification: Embedded Systems: Basic Microcontroller Peripherals
  • Advanced Microcontroller Peripherals
    21Lessons · 10 hr 24 min
    • الدرس ٢٦ : STM32 Advanced Control Timers
    • الدرس ٢٧-١ : Counter Modes Example
    • الدرس ٢٧-٢ : External Clock Modes Example
    • الدرس ٢٧-٣ : Measure PWM using Input Capture Example
    • الدرس ٢٧-٤ : Generate PWM using Output Compare Example
    • الدرس ٢٨ : Low Power Features of ARM Cortex-M4
    • الدرس ٢٩ : STM32F4 Power Controller - PWR
    • الدرس ٣٠ : Low Power Example
    • الدرس ٣١ : Serial Peripheral Interface - SPI
    • الدرس ٣٢ : Interfacing L3GD20 MEMS Gyroscope using SPI
    • الدرس ٣٣ : Analog-To-Digital Converter - ADC - Introduction
    • الدرس ٣٤ : STM32 ADC- P1
    • الدرس ٣٥ : ADC Regular and Injected Conversion with External Trigger Example
    • الدرس ٣٦ : STM32 ADC- P2
    • الدرس ٣٧ : ADC Triple Mode with External Trigger and DMA Example
    • الدرس ٣٨ : Digital-to-Analog Converter - DAC
    • الدرس ٣٩ : DAC Noise, Triangle and Sine Wave Generation Example
    • الدرس ٤٠ : Audio Recording / Playback Using ADC, DAC, Timer, DMA Example
    • الدرس ٤١ : Inter-Integrated Circuit Bus - I2C
    • الدرس ٤٢ : STM32 I2C Interface
    • الدرس ٤٣ : I2C with DMA Interfacing Example using X-NUCLEO-IKS01A2 MEMS Expansion Board
  • ARM Instruction Set Architecture
    9Lessons · 6 hr 42 min
    • الدرس ٤٤ : ARM Instruction Set Architecture - P1
    • الدرس ٤٥ : Move and Memory Access Instructions Examples
    • الدرس ٤٦ : ARM Instruction Set Architecture - P2
    • الدرس ٤٧ : Arithmetic and Logical Instructions Examples
    • الدرس ٤٨ : ARM Instruction Set Architecture – P3
    • الدرس ٤٩ : Multiplication, Saturation and Control Instructions Examples
    • الدرس ٥٠ : ARM Instruction Set Architecture – P4
    • الدرس ٥١ : CMSIS SIMD, DSP and SVC Instruction Example
    • الدرس ٥٢ : Floating Point Unit – FPU
  • Flash Memory and Bootloaders
    11Lessons · 7 hr 27 min
    • الدرس ٥٣ : Embedded Flash Memory Interface
    • الدرس ٥٤ : Flash and Option Bytes Operations Example
    • الدرس ٥٥ : STM32 System Memory Bootloader
    • الدرس ٥٦ : Bootloader Example
    • الدرس ٥٧ : Embedded Bootloader Design
    • الدرس ٥٨ : Memory Protection Unit – MPU
    • الدرس ٥٩ : MPU Example
    • الدرس ٦٠ : Cyclic Redundancy Check – CRC
    • الدرس ٦١ : CRC Calculations Example
    • الدرس ٦٢ : Watchdog – WDG
    • الدرس ٦٣ : WDG Example
  • Real Time Operating System (RTOS)
    11Lessons · 10 hr 8 min
    • الدرس ٦٤ : RTOS P1 – Introduction to RTOS and Execution Threads
    • الدرس ٦٥ : RTOS P2 – Threads TCB and Linked Lists Example
    • الدرس ٦٦ : RTOS P3 – Scheduling and Mutual Exclusion
    • الدرس ٦٧ : RTOS P4 – Scheduler Start and Context Switching Example
    • الدرس ٦٨ : RTOS P5 – Mutex, Semaphore and Mailbox Examples
    • الدرس ٦٩ : RTOS P6 – Timer Support
    • الدرس ٧٠ : RTOS P7 – Timer Support Example
    • الدرس ٧١ : RTOS P8 – Priority Inversions
    • الدرس ٧٢ : RTOS P9 – Deadlocks
    • الدرس ٧٣ : RTOS P10 – Deadlocks and Priority Inversions Example
    • الدرس ٧٤ : RTOS P11 – Schedulability
  • Advanced Communications
    14Lessons · 12 hr 27 min
    • الدرس ٧٥ : CAN Bus Introduction P1
    • الدرس ٧٦ : CAN Bus Introduction P2
    • الدرس ٧٧ : STM32F4 Basic Extended CAN - bxCAN - P1
    • الدرس ٧٨ : STM32F4 Basic Extended CAN - bxCAN - P2
    • الدرس ٧٩ : CAN Bus Example
    • الدرس ٨٠ : Ethernet P1 - Introduction
    • الدرس ٨١ : Ethernet P2 - Frame Structure
    • الدرس ٨٢ : Ethernet P3 – Half-Duplex MAC
    • الدرس ٨٣ : Ethernet P4 – Full-Duplex, MAC Control and LLC
    • الدرس ٨٤ : Ethernet P5 – Media Systems
    • الدرس ٨٥ : STM32F4 Ethernet MAC – P1
    • الدرس ٨٦ : STM32F4 Ethernet MAC – P2
    • الدرس ٨٧ : STM32F4 Ethernet MAC – P3
    • الدرس ٨٨ : STM32F4 Ethernet MAC Example