4.58 out of 5
3532 reviews on Udemy

Microcontroller Embedded C Programming: absolute beginners

Foundation course on Embedded C programming using STM32 Microcontroller.
FastBit Embedded Brain Academy
13,035 students enrolled
English More
'C' programming from scratch
Data types,variables, declarations,
Importance of Bit-Wise operators in "Embedded" programming
Bit manipulation techniques using bit-wise operators and examples
Bit extraction and working with memory mapped peripheral registers
Other operators of 'C' (arithmatic, logical, relation, assignment )
Functions in 'C'
Implicit and explicit casting and its importance
Pointers and casting
Pointers arithmetic and importance of pointer datatypes
Accessing memory mapped peripheral registers using pointers
Structures and unions
Importance of structures in peripheral register access
Structure and bit fields
Configuring peripheral register addresses using bit fields
Structures and pointers
interfacing LEDs, Keypad
Const and volatile type qualifiers
importance of volatile during compiler optimization
const data, const pointer, cont volatile explanation with examples
Importance of const
Loops : for, while, do while

==> This should be your very first course to dive into the exciting world of “Embedded Systems.” <==

This is our new course mainly targeted for absolute beginners to learn microcontroller programming using the ‘C ‘ programming language.

Please note that “Embedded C” is NOT a separate programming language. ‘Embedded C’ is rather embedded target aware programming using traditional ‘C’ programming language.

Some of the critical microcontroller-related ‘C’ concepts such as

  1. Importance of bitwise operators

  2. Usage of bit manipulation techniques to program MCU peripheral registers

  3. accessing memory-mapped registers using pointers

  4. pointers and casting

  5. structures, bitfields, unions, and bit extraction techniques

  6. representing hardware registers details and configuring them using ‘C’ structure definitions

  7. Usage of const and volatile type qualifiers

  8. Interpret complex variable definitions involving the combination of const and volatile

  9. The precise usage of const pointers, const data, volatile const, with pointer and non-pointer variables

  10. The behavior of the code during compiler optimization and solution using volatile

  11. Functions and friends

  12. Data types, variables definitions, storage class specifiers and much more

  13. Loops: while, for, do. while

  14. MCU internal architecture and programming peripherals

  15. Interfacing projects

All these concepts are discussed with clear examples and writing code for the target embedded board.

According to 2017 embedded dot com survey still ‘C’ is one of the most widely used programming languages  for embedded code development

This course gives particular emphasis to learn ‘C’ programming concepts practically for microcontroller use cases.


1. You need ARM Cortex M4 based STM32F407 DISCOVERY board from ST if you want to try out code on the target.

2. Additional interfacing components may be required for interfacing projects

3. You can also be able to follow this course if you have any other boards from ST such as Nucleo or evaluation.


1. In this course, Eclipse-based STM32CubeIDE is used as the  IDE ( works on Windows/Linux/Mac) (FREE)

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 RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)

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

7) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)

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

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

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.6 out of 5
3532 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


16 hours on-demand video
6 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion
გამოიწერე ჩვენი ტრენინგები და მიიღე 40% ფასდაკლება, ასევე უფასო მასტერკლასები