Embedded Software Development using C++
STM32 & ARM Cortex-M: Master object-oriented design & HAL programming. Learn embedded systems development with practical application examples.
Course Content
Embedded Software Development using C++ is an all-levels Udemy course taught by Olaoluwa Raji. It runs 6h 55m, is taught in English, and includes a certificate of completion. Learners rate it 3.7 out of 5 from 141 reviews, with 2,334 students enrolled. It is a paid course, last updated March 2022.
Explore Embedded Software Development with C++ and unlock the power of object-oriented programming (OOP) for embedded systems. This course focuses on practical application, leveraging C++'s ability to bridge the gap between high-level programming and hardware control. Learn to write efficient, readable, and maintainable code, avoiding common pitfalls like code bloat.
Key Concepts Covered:
- Object-Oriented Programming (OOP): Master core OOP principles including abstraction, encapsulation, and polymorphism.
- C++ for Embedded Systems: Discover how C++ enhances embedded development without replacing the strengths of C.
- STM32 Microcontroller Platform: Gain hands-on experience with the STM32F401RE Nucleo Board.
- STM32Cube HAL Drivers: Utilize the STM32Cube HAL APIs for faster library and application development, minimizing direct register programming.
- Keil uVision5 MDK & STM32CubeIDE: Become proficient in using industry-standard development and debugging tools.
- Code Generation with STM32CubeMx: Learn to generate and customize code for your embedded projects.
- GPIO, UART, and Timer Programming: Master essential peripheral programming techniques on the STM32.
- PWM Signal Generation & Capture: Implement PWM functionality for motor control and signal analysis.
- Software Design Principles: Develop robust software designs before coding.
- Code Testing & Debugging: Effectively test and debug your embedded applications.
Practical Skills & Projects:
- Develop libraries using C++ and STM32Cube HAL.
- Interface the STM32 microcontroller with various external components:
- 20x4 LCD
- 4x4 Keypad
- SG90 Servo Motor
- HC05 Bluetooth Module
- HC-SR04 Ultrasonic Sensor
- L298N Motor Driver
- Build at least two comprehensive projects, including:
- Tic-Tac-Toe Game Console
- Autonomous Car Project
Who Should Take This Course?
This course is ideal for individuals looking to build embedded software for projects with minimal supervision. Graduates will be able to design and develop simple, readable, and maintainable embedded software using C++ for a wide range of applications.
Software Requirements:
- Keil uVision5 MDK
- Java Runtime Environment (required for STM32CubeMx)
- STM32CubeMx
- STM32CubeIDE (for boards without HAL support in Keil uVision)
Prerequisites:
Basic understanding of STM32 programming (GPIO, UART, Timers in normal counting mode) and familiarity with embedded C are beneficial.
Support:
Active Q&A section with instructor support available within 24 hours.
Note: Hardware components are required to fully participate in the course lectures, exercises, and projects. Both Keil uVision 5 and STM32CubeIDE can be used.
Need a web app built? Hire the team behind TutorialSearch.io
We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.