Embedded Systems Bare-Metal Programming Ground Up™ (STM32F4)

No Libraries used, Professional CMSIS Standard, ADC,UART,TIMERS, DMA,SPI,I2C,RTC,GPIO etc.

   Watch Promo

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. To achieve this goal, no libraries are used in this course, purely bare-metal embedded-c and register manipulations.

By the end of this course you will be able configure microcontroller peripherals like ADC, UART,PWM, GPIO, TIMER,I2C, SPI, etc. You will also master the ARM architecture and how to build professional embedded firmware for ARM processors.


I personally guarantee that by the end of this training pack you will be able to accomplish the following


  • Master how to read Datasheets of Microcontrollers
  • Write Universal Asynchronous Receiver-Transmitter (UART) drivers using bare-metal Embedded-C
  • Write Analog-to-Digital Converter (ADC) drivers using bare-metal Embedded-C
  • Write General Purpose Timer (GPTM) drivers using bare-metal Embedded-C
  • Write System Tick (SysTick) Timer drivers using bare-metal Embedded-C
  • Write Pulse Width Modulation (PWM) drivers using bare-metal Embedded-C
  • Write Serial Peripheral Interface (SPI) drivers using bare-metal Embedded-C
  • Write Inter-Integrated Circuit (I2C) drivers using bare-metal Embedded-C
  • Write Interrupt drivers using bare-metal Embedded-C
  • Write General Purpose Input/Output (GPIO) drivers using bare-metal Embedded-C
  • Master the ARM-Cortex CMSIS standard

  • Write firmware by applying Object-Oriented principles like Polymorphism, Inheritance and Encapsulation in C and C++



Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Do I get a certificate?
Yes, after a successful completion of the course.

Course Curriculum


  Closing
Available in days
days after you enroll

Your Instructor


EmbeddedExpertIO™
EmbeddedExpertIO™

EmbeddedExpertIO represents a vibrant collective dedicated to the mastery of sophisticated embedded systems software development for professionals.

EmbeddedExpertIO stands as a premier source of tailored embedded systems development courses, catering to individuals and enterprises seeking to hone or acquire embedded firmware programming expertise. Our extensive course selections encompass beginner to advanced levels, addressing diverse facets of embedded systems development, such as WiFi, STM32, IoT systems design, memory safeguarding, and beyond.

Our core objective is to equip individuals and organizations with the indispensable skills to thrive in the swiftly evolving embedded systems sector. We achieve this by providing immersive, hands-on education under the guidance of seasoned industry specialists. Our ambition is to emerge as the favored learning platform for embedded systems development professionals across the globe.