Skip to content
UdemyArduinoPaid courseAll LevelsCertificate

Embedded Systems STM32 HAL APIs Driver Development (Udemy.com)

STM32 Hardware Abstraction Layer (HAL) Drivers: DMA,ADC,UART,TIMERS, GPIO,SPI,I2C,RTC,RCC etc

Created by: BHM Engineering Academy

Last updated February 2023

icon
What you will learn

  • Write firmware using only HAL functions
  • Understand the Cortex-M Architecture
  • Write Analog-to-Digital Converter (ADC) drivers using HAL functions
  • Write PWM drivers using HAL functions
  • Write UART drivers using HAL functions
  • Write TIMER drivers using HAL functions
  • Write Interrupt drivers using HAL functions
  • Write SPI drivers using HAL functions
  • Write I2C drivers using HAL functions
  • Write RTC drivers using HAL functions
  • Write DMA drivers using HAL functions
  • Write RCC drivers using HAL functions

How it compares

Against the other 295 rated Udemy courses in Arduino on CourseDuck:

  • Rating4.4 out of 5higher than 50% of them
  • Reviews353#94 of 296 by number of reviews
  • Length11.3 hourslonger than 83% of them
  • Last updatedFebruary 2023earlier than 53% of them

icon
Course Description

Welcome to the Embedded Systems STM32 Hardware Abstraction Layer (HAL) Driver Development course.

The STM32 Hardware Abstraction Layer (HAL) provides a simple, generic multi-instance set of APIs (application programming interfaces) to interact with the upper layers like the user application, libraries and stacks.

The HAL driver APIs are split into two categories: generic APIs, which provide common and generic functions for all the STM32 series and extension APIs, which include specific and customized functions for a given line or part number. The HAL drivers include a complete set of ready-to-use APIs that simplify the user application implementation. For example, the communication peripherals contain APIs to initialize and configure the peripheral, manage data transfers in polling mode, handle interrupts or DMA, and manage communication errors.

In summary, the HAL offers high-level and feature-oriented APIs with a high-portability level. These hide the MCU and peripheral complexity from the end-user.

With a programming based approach, this course is designed to give you a solid foundation in firmware and peripheral driver development for the STM32 family of microcontrollers. The goal of this course is to teach you how to navigate the microcontroller reference manual and datasheet to extract the right  information to professionally  build peripheral drivers and firmware using the STM32 HAL APIs

By the end of this course you will be able to develop drivers for peripherals like the ADC, UART,PWM, GPIO, TIMER,I2C, SPI, RTC, RCC, EXTI etc.  You will also master the STM32 architecture and how to build professional embedded firmware for STM32 microcontrollers.

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 toggling some register bits.


--------------------------------------Some highlights------------------------------------


Write  Analog-to-Digital Converter (ADC) drivers using HAL functions

Write  PWM  drivers using HAL functions

Write  UART drivers using HAL functions

Write  TIMER drivers using HAL functions

Write  Interrupt drivers using HAL functions

Write  SPI drivers using HAL  functions

Write  I2C drivers using HAL  functions

Write  RTC drivers using HAL functions

Write  DMA drivers using HAL functions

Write  RCC drivers using HAL functions



icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

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.


icon
More courses by BHM Engineering Academy

$69.99

$69.99

$11.99

$11.99

$11.99

$11.99

icon
More Arduino courses

Free

$74.99

$89.99

$69.99

$79.99

$159.99

icon
Reviews

4.4

353 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Collin Stinson on 3/29/2026

Another great course by Israel. I've always wanted to learn HAL programming without the use of CUBEMX. Like always, Israel takes your through pertinent documentation and goes over basic theory. Things students should note. Delete all other startup .s files (IAR, TI) if you're only using STM32. Just keep your HAL Inc/Src files (you'll end up coming back to them later). Videos are out of order which is explained multiple times by Israel. Just search around from this. Not a biggie. Overall, great course!

By Rethabile Ncheke on 10/9/2024

The theoretical explanations of the protocols were clear and well-presented. However, on the practical side, the code was simply copied and pasted without clear attribution, leaving us uncertain about its origin. I had expected we would use HAL as generated by STM32CubeIDE, rather than manually duplicating the code produced by HAL. I suspect this may have been influenced by the version of STM32CubeIDE used at the time of recording. Also, ADC was covered but DAC was not

By Armin Jahanshahi on 12/26/2023

I have learned a ton thanks to Israel! I've been taking many of his courses and he does manage to make it easy to understand, it almost becomes boring after a while because you have understood it so well that you are just waiting to apply it to your own project! Strongly recommended along with all his other stm32 courses 10/10

By Valkan Pavlov on 7/21/2023

I have taken several courses by Israel Gbati, and I do consider them as a highly valuable asset. Although that most of the videos goes a long way with no error checking, thus leading to frustrating search for what went wrong, by the students, the time is still well spend. Thank you!

By Tony Gioiosa on 4/28/2023

OK so far, but the audio is hard to hear and the instructor talks as though he's whispering .Very difficult to follow. After viewing more sections, the audio is OK on some sections but then barely audible on others, it would be desirable to have the audio leveled to a constant loudness on all the lessons.

By Andy Leslie on 1/4/2023

This course is just what I was after, I am using the STM32 Bluepill and datasheets and it is easy to follow. This course is a lot easier with already having a basic understanding of C.

By Hwangseongjin on 11/30/2022

1. The speaking voice is too low. 2. Subtitles and voice often don't match well. 3. It seems that CubeIDE's project number and lecture progress order do not match. 4. I want to learn the configuration and operation flow of the HAL Library itself. 5. Also, I would like to know which HAL Library should be used in which casse(In particular, the HAL library functions used for TIMERS and interrupts are very confusing). Tnank you

By F V on 8/6/2022

Till now, I have completed 30 lectures. Course is good for Beginners using HAL. If some other extra Peripherals like (CAN, USB, Ethernet) are coverd, It would be one of the best course.

By Joseph L Canton on 1/26/2022

Course has correct approach for me. It teaches how to read the documentation. I don't memorize the code, I bookmark and comment the documentation so I can find necessary info after I've forgotten. Great course.

By Kevin Meganck on 1/8/2022

Very good course if you like to start using HAL. Only remark why I don't give 5 stars. Plz use a better micro and record voice at a higher level. Otherwise best course on this subject that I could find. I definitely consider buying future course on this subject from this teacher.

Showing all 10 reviews on CourseDuck

Read all 353 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 88 / 100