Skip to content
UdemyArduinoPaid courseAll LevelsCertificate

Mastering Microcontroller: Timers, PWM, CAN, Low Power(MCU2) (Udemy.com)

Learn STM32 Timers, CAN, RTC, PWM, Low Power embedded systems and program them using STM32 Device HAL APIs step by step.

Created by: FastBit Embedded Brain Academy

Last updated August 2026

icon
What you will learn

  • You will learn from scratch about STM32 Timers : Basic and General Purpose Timers
  • Understand General purpose timer's Input capture apnd Output compare unit handling and Exercises
  • Handling of Timer interrupts : Time base interrupts, capture interrupts, compare interrupts
  • Understand about CAN filtering
  • You will learn from scratch CAN Protocol, CAN Signalling, CAN Transceivers , Bus Access procedures
  • Learn about CAN interrupts
  • CAN Peripheral programming using STM32 device HAL drivers
  • You will master Low power modes of the MCU : SLEEP,STOP and STANDBY
  • You will understand different power domains of the MCU : VDD domain, 1.2V domain, backup domain
  • Understand Microcontroller Wakeup Procedures using : RTC, wakeup pins,EXTI,etc.
  • You will master RTC Features : CALENDAR, ALARM , TIME STAMP,WAKEUP UNIT
  • RTC interrupts and wake up procedures

icon
Course Description

Update: English closed captions have been added, transcript available

Course code: MCU2

>>Welcome to the course which teaches you advanced Micro-controller programming. In this course you are going to learn and master Timers , PWM, CAN, RTC, Low Power modes of STM32F4x Micro-controller with step by step guidance. Highly recommended if you are seeking a career in the domain of Embedded software. <<

In this course, you will understand behind the scene working of peripherals with supportive code exercises. I have included various real-time exercises which help you to master every peripheral covered in this course and this course thoroughly covers both theory and practical aspects of Timers, PWM, CAN, RTC, Low Power modes of STM32F4x Micro-controller.


In Timer Section the course covers,

1. Simple time-based generation using the basic timer in both polling and interrupt mode

2. Timer interrupts and IRQ numbers, ISR implementation, callbacks, etc

3. General-purpose timer

4. Working with Input Capture channels of General-purpose timer

5. Interrupts, IRQs, ISRs, callbacks related to Input Capture engine of the general purpose timer

6. Working with output capture channels of the General purpose timer

7. Interrupts, IRQs, ISRs, callbacks related to Output Capture engine of the general purpose timer

8. PWM generation using output capture modes

9. PWM Exercises

10. Step by Step code development process will help you to master the TIMER peripheral


In CAN Section the course covers,

1. Introduction to the CAN protocol

2. CAN frame formats

3. Understanding a CAN node

4. CAN signaling (single-ended signals vs differential signals ) \

5. CAN Bus recessive state and dominant state

6. CAN Bit timing Calculation \

7. CAN network with Transceivers

8. Exploring inside view of CAN transceivers

9. CAN Self-test modes such as LOOPBACK, SILENT LOOPBACK, etc with code exercises.

10. Exploring STM32 bXCAN peripheral

11. self-testing of bxCAN peripheral with exercises

12. bXCAN block diagram

13. Tx/Rx path of the bxCAN Peripheral

14. CAN frame filtering and executrices

15. CAN in Normal Mode

16. Communicating between 2 boards over CAN

17. Code exercises


In the Power Controller Section the course covers,

1. ARM Cortex Mx Low Power Modes Normals Vs DeepSleep

2. STM32 SLEEP mode

3. STOP mode

4. STANDBY mode

5. Current measurement with different submode

6. Waking up MCU by using wakeup pins, EXTI, RTC, etc

7. Backup SRAM

8. Step by Step coverage with lots of code exercises.


In RTC Section the course covers,

1. RTC functional block diagram

2. RTC clock management

3. RTC calendar unit

4. RTC Alarm unit

5. RTC wake-up unit

6. RTC Time Stamp Unit

7. waking up MCU using RTC events

8. RTC interrupts

9. and lots of other details with step by step code exercises.


STM32 Device HAL framework

1. STM32 Device Hal framework details

2. APIs details

3. Interrupt handling

4. Callback implementation

5. Peripheral Handling and configurations

6. Step by Step explanation with code exercises.


==> Important note: This course is NOT about auto-generating code using STM32CubeMx software<==


Hardware used :

STM32F446RE-NUCLEO Board

CAN Transceivers for CAN Exercises


IDE :

Eclipse-based OpenSTM32 SystemWorkbench or STM32CubeIDE


Learning order of FastBit Embedded Brain Academy Courses,

If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order.
This is just a recommendation from the instructor for beginners.

1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)

2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)

3) Mastering Microcontroller with Embedded Driver Development(MCU1)

4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)

5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)

6) Embedded System Design using UML State Machines(State machine)

7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)

8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)

9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)

10) Embedded Linux Step by Step using Beaglebone Black(Linux)

11) Linux device driver programming using Beaglebone Black(LDD1)


Other programming courses

1) Master The Rust Programming Language : Beginner To Advanced

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

FastBit Embedded Brain Academy

Best selling microcontroller programming and RTOS course creators having over 65,000+ active students and dedicated co-instructor team to help you in your embedded programming journey.

We have published courses on embedded C, microcontroller programming, RTOS programming, embedded Linux, and Linux device driver development.

If you are starting your career in the domain of embedded programming or if you want to learn how to program the microcontroller and its peripherals coding from scratch, then you are at the right place.

Enroll in the courses created by us, and we hope you will not be disappointed.

What we do?

We leverage the power of the internet to bring online courses at your fingertip in the domain of embedded systems and programming, microcontrollers, real-time operating systems, firmware development, embedded Linux, and device drivers. Thanks to Udemy.

Our primary goal is to teach embedded systems enjoyably with examples and lots of animations, which help our students excel in this field.

We have carefully crafted all these online courses to help students access industry-standard professional training with a very low price tag, thus saving your time, effort, and money.

Try our courses, and we are sure that the courses will make you feel you made the right choice.

icon
More courses by FastBit Embedded Brain Academy

$15.99

$14.99

$14.99

$11.99

$99.99

$79.99

icon
More Arduino courses

Free

$74.99

$89.99

$69.99

$79.99

$159.99

icon
Reviews

4.5

4,289 ratings on Udemy

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

By Edmund Carvalho on 9/25/2025

provides basic introduction to all the mentioned topics like clocks, timers, CAN, low power, and some bonus content on mpu 6050 and RTOS. Implementing these concepts in professional code may require more knowledge and and experience sometimes felt like the course is slow and sometimes its rushed , i have difficulty remembering what all ive learned because the videos are soo long sometimes, need to take notes else you will have to watch the course multiple times

By Davide Leoni on 2/9/2025

I can absolutely recommend this course for those who have basic C skills and want to get a solid foundation knowledge about embedded programming (in particular for STM32 MCUs). The information is conveyed in such a way that the content is very easily understandable and very interesting to learn. Theory, hands-on development and testing are indeed very well balanced and the most important aspects of microcontrollers programming are covered. The provided slides are very useful too, with essential info and claryfing diagrams, as well as the code examples.

By S B on 10/31/2024

The software was confusing to handle at first, especially as it seems many of the steps weren't needed. Near the end of this course, there is very little context given to why and what is being used and the overall scope of the code is not explained well. There is basically no point in watching the last two sections, as they are almost useless with how little context is given.

By Zahid Faheem Habib on 2/10/2024

I had also taken other courses from this channel and they were all absolutely amazing. Although this time I'm not receiving answers to the questions I ask as I did in the previous courses, but still, the quality of the content is so good that I can't give it any lower than 5. Thank you for these great courses.

By Niharika Dabikar on 1/21/2023

It was a great experience to learn this course, each and every lecturer is very informative and I am glad that I found this lecture series which tells each and every detail for getting started for embedded programming in STMIDE, I also wanted such a course wherein I get to learn about each and every function is used and also when to interrupt and using which interrupts API we need to handle it, and everything was given in this course Thank you Sir for this wonderful course and heads-up for your patience in telling very minute details also

By Aditya Kumar on 3/28/2022

I got truble in installing the stm32cubemx software but ok asked question on forum and installed the latest version.

By Anderson Brito dos Santos on 12/31/2021

Another excellent course from FastbBit. MCU2 has a methodoly a little bit different from MCU1, since it uses the hal library instead of writing the drivers - I believe writing application code can be easier than writing drivers, so I think it might make more sense for many to take MCU2 before MCU1. I didn't give 5 stars because I feel it didn't have the same quality as the MCU1. I think there could be more application examples and also the quizzes are missing, as they reinforce learning - but still an excellent course. I definitely recommend it.

By Samuel Chinnakatti on 8/28/2020

I want learn about hardware part of the micro controller as an electrical and electronic engineer for my future job and for all needs . I have finished the MCU1 that is excellent . But the code is not perfectly working . with this course i believe i can know what all about finally I can do it . I am so much thankfull to you Kira sir . I learnt many this from your lectures and the code you taught. I am so much thankfull to you. Jesus is the saviour I believe . Jesus will help you. = samuel pele

By Balachander S K on 2/29/2020

The instructor kiran throws light on various advanced mcu peripherals which brings absolute clarity with plenty of rooms for applying our own minds and creating new project concepts out of it(I actually made a rpm from the timer input capture mode and generated pwm for varying rpms). One more advanced course explained in a hands on manner to experiment and see for ourselves. The instructor commitment and care for creating a wonderful course is evident from the effort and clarity given for each topic covered in this course.

By Jaak Jensen on 2/4/2020

Incredible intermediate course in Embedded Systems. Kiran is a fantastic teacher whose methods work for many different types of learning styles. I have purchased all the courses by Fast Bit and they have had a profound impact on my work as a developing electrical/embedded engineer. The current courses available cover almost everything you need to know to carry out advanced embedded systems work. Thank you Kiran!

Showing all 10 reviews on CourseDuck

Read all 4,289 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 : 90 / 100