Mastering STM32CubeMX 5 and CubeIDE - Embedded Systems (Udemy.com)
Code Drivers and Firmware : PWM, USB,TIMER, SPI, ADC, UART, DMA,FreeRTOS,Embedded-C, Assembly etc
Created by: BHM Engineering Academy
Last updated February 2023
What you will learn
- Develop a USB HID Mouse Firmware Device
- Develop a USB HID Keyboard Firmware Device
- Develop a USB Virtual Com Port Firmware Device
- Develop TIMER Peripheral Drivers
- Develop ADC Peripheral Drivers
- Develop SPI Peripheral Drivers
- Develop UART Peripheral Drivers
- Develop Bare-Metal Embedded-C Firmware using CubeIDE
- Develop ARM Assembly Language Firmware using CubeIDE
- Configure the DMA to work with Peripheral Drivers
How it compares
Against the other 295 rated Udemy courses in Arduino on CourseDuck:
- Rating4.3 out of 5higher than 36% of them
- Reviews396#78 of 296 by number of reviews
- Length10.1 hourslonger than 77% of them
- Last updatedFebruary 2023earlier than 53% of them
Course Description
Hello Welcome to the Mastering STM32CubeMX 5 and CubeIDE course
This course teaches you how build embedded systems firmware and peripheral drivers using the STM32CubeMX 5 framework and the STMCubeIDE development environment. This course has many sections but primarily the course can be divided into three parts.
The first part deals with peripheral driver development. In this part we master how to use the STM32CubeMX framework to setup the clocks and register parameters of our peripheral drivers and then go on to the CubeIDE development environment to complete the development and testing of peripheral drivers. We shall master different setup configurations of our peripheral drivers in this part. These peripherals include the Universal Serial Bus (USB), the PWM, the SPI, the ADC, UART and the DMA.
The second part of this master course deals with developing embedded firmware applications using some of the Middleware provided by the STM32CubeMX framework. One of such Middleware we shall master is the FreeRTOS Realtime Kernel. We shall see how to use STM32CubeMX to create tasks and semaphores and other kernel components for realtime firmware development. We shall also see how to develop these kernel components from scratch using our CubeIDE development environment alone.
The third part of the course deals with working the CubeIDE as a standalone development environment. Over here we shall see how to develop bare-metal embedded-c firmware and drivers without using any libraries. We shall literally download the microcontroller chip's datasheet and develop our firmware and drivers using information from the datasheet only. We shall then go on to use this same datasheet information to develop firmware and peripheral drivers using ARM Assembly Language.
Please take a look at the full course curriculum.
REMEMBER : I have no doubt you will love this course. Also it comes with a FULL money back guarantee for 30 days! So put simply, you really have nothing to loose and everything to gain.
Sign up and let's start building some drivers.
Instructor Details
- 4.3 Rating
396 Reviews
BHM Engineering Academy
Bohobiom Engineering is a 21st century Computer Engineering online Academy based in London U.K.
We have experienced instructors in the areas of Assembly Programming, Hardware Engineering, Signal & Image Processing, Embedded Firmware Development, Deep Learning and other high demand 21st century skills.
As of today we have trained over 35,000 happy pupils. Please take a look at our available courses and message us if you have any questions.
More courses by BHM Engineering Academy
Embedded Systems STM32 HAL APIs Driver Development (2023)
4.4 (353 Reviews)
Provider: Udemy
Time: 11.3h
$69.99
Advanced Embedded Systems Bare-Metal Programming Ground Up™ (2025)
4.3 (251 Reviews)
Provider: Udemy
Time: 22.6h
$69.99
Embedded Systems STM32 Low-Layer APIs(LL) Driver Development (2023)
4.5 (127 Reviews)
Provider: Udemy
Time: 25.7h
$11.99
Embedded Bootloader Development from Ground Up™ (2023)
4.5 (121 Reviews)
Provider: Udemy
Time: 6.8h
$11.99
ARM GNU Assembly Programming From Ground Up™ (2023)
4.5 (117 Reviews)
Provider: Udemy
Time: 15.5h
$11.99
More Arduino courses
Learn to Build a Computer (PC) in 2026 - all types!
4.9 (245 Reviews)
Provider: Udemy
Time: 6.1h
$74.99
Raspberry Pi For Beginners - 2026 Complete Course
4.8 (3,105 Reviews)
Provider: Udemy
Time: 10.6h
$89.99
Ultimate Guide to Raspberry Pi : Tips, Tricks and Hacks (2023)
4.8 (2,363 Reviews)
Provider: Udemy
Time: 5.2h
$69.99
Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL (MCU3) (2026)
4.8 (487 Reviews)
Provider: Udemy
Time: 8.1h
$79.99
Arduino Step by Step: Getting Started (2024)
4.7 (8,714 Reviews)
Provider: Udemy
Time: 21.4h
$159.99
Reviews
By Oscar Mendoza on 8/29/2026
I think the instructor should leave the comments such as a code documented. In addition, this course should suggest or required to download the specific STM32MX and STM32IDE versions. Most of the samples don't work with new IDE versions.
By Nitya agrawal on 6/21/2024
content is very nice. Able to understand everything . Just there is some voice issue due to which it's difficult to understand the accent. The information the course is providing is very useful and to the point what is needed.Happy overall !!
By Michael Messuri on 8/14/2023
While the information in the course was good, I agree with other commenters that the presenter seemed to be unprepared in many of the videos. Also, it gets tiresome having almost each video starting out with watching the presenter create a new project and clear all the pins. I would recommend that this is done only once or twice and then in future videos say "using our new project....and if you dont remember how to get to this point see video xyz". Finally, and this goings with being prepared, it was really annoying sitting through the presenter "hunting and pecking" his way through trying to find functions and variable definitions when he could have either used the search capability (via CTRL-F) or used the IDE's outline tab
By Chris Williams on 1/31/2022
I enjoyed doing this course, I found each video the right length and not too long this allowed me to be able to take breaks frequently enough and check through what I had learned. also there is a questions & answers area which is useful, the tutor was very good he explained everything very clearly and nothing was rushed, I would recomend this course to anyone interested in STMCube32MX and Cube32 IDE and programming embedded systems.
By Larry E. Dickey, Jr. on 12/21/2021
First off, I would like to set the record straight about Israel Gbati. I've been on udemy for about 4 years now. I've accumulated a vast array of courses, and completed most of them. Everything from web development to embedded development / engineering. I've been programming for a very long time. Since the early eighties on Atari's & Apples. I started to get into more serious development in '98 with Java2. To make a long long story short, I continued on from there to C/C++, and ultimately to where I'm at now, with the embedded courses. I have a 23+ year background and skill set in some college, but mainly self-taught experience level in different facets of computer science. I've been involved in a lot of open source projects over the years. The eclipse IDE, just to name one. Based on my analysis & assessment, Israel Gbati is the BEST instructor, on a learning platform, like udemy, that I have ever encountered. His teaching methodology is spot on, and he is a clear and concise amazing instructor. I've been enrolled in 8 of his courses, and have been able to move on thru the courses without any problem at all. Israel, coming from someone who's been doing this probably longer than you have, you are amazing !!! Please, keep coming up with more ideas for even more great courses, because you are amazing at what you do, in such a highly complex realm of technology. You make me want to keep going further ! Cheers to you my friend, and I hope everyone has a great holiday and a safe and fantastic NEW YEAR in 2022 !!!! Regards, L.E.D.
By Jörg Körner on 7/21/2021
Hi, I find the course very good. If you have worked with other microcontrollers before and already have good programming experience, then this course is the perfect entry into the world of STM32 and co.
By Juthoor tech on 3/5/2021
I can't say it is a bad course, but I might say I expected more from a course of 10h. below is a (bad review) yet I’m giving this course an average rating because I had benefit from it and gave me good shortcut to learn the topic. the instructor illustrates the topic but in a lot of places he just says (do that, then that, then press here) kind of things, and this is not how learning should go! I really want to understand everything in the topic. the USB part was not illustrated good, like you just do this and you get a keyboard, now this and you get a mouse, and now you send this data and mouse move, OK but how this all done!? how did he know! the one thing I truly feel unsatisfied about is the fact I’m not getting answers to my questions! it has been 13days and 6 questions, and non a single answer! I just stopped asking and do more searching, really, I can’t take that normally.
By Josef Brich on 11/23/2020
For me this course was like to see a top of iceberg just to see what is possible. It is possible to replicate the code and it works as it is shown. But it was not as informative as I have expected. I have been expecting more tricks and know how, how to do it faster, more efficient and elegant, for example hotkey ctrl+space is like a MAGIC. FreeRTOS was new to me and very interesting.
By Vicente Guerrero on 11/9/2020
The course is good. The author explains and demonstrates how to use the IDE but he does not give a complete explanation of theory and concepts. I understand that this is because the approach of this course is on the IDE and not on the microcontroller but I think that it can be improved explaining a little more. I think is a appropiate course for people that have basic knowledge about stm32 microcontrollers but want to learn how to use these software tools.
By Brendan Richart on 7/12/2020
Great experience! Code learned in each of these lessons can be deployed right away. Also - while this type of deployment is 'higher level', it helps prevent newbies from getting too lost in the trees from the get-go and makes bare-metal type coding easier in the long run.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 86 / 100












