Looking For Anything Specific?

Header Ads


I am a firm believer that if you really want to learn how to use a microcontroller you must write your own peripheral drivers using direct register access. Even if you later end up using an established library, you will understand what that library is doing and what all those settings mean. You will learn to appreciate the cleanliness of 5 lines of code that accomplishes the same thing that 20 lines of code accomplishes using a library. You can then take your code and make your own abstraction layer, as you will see in the following videos you will be able to write your own functions and know exactly what they do. Learning how to use the registers for one microcontroller will allow you to pick up any microcontroller from any manufacturer plus the datasheet and start programming it, because for the most part they are all programmed the same exact way and it is only naming differences. Below is my attempt to make this subject understandable and less intimidating. I am not a teacher and have no training in education so if my style does not work for you, my apologies. Otherwise proceed and enjoy.

The following tutorial series is a work in progress. If you have landed here only to encounter a series that abruptly ends, do rest assured that more content is coming. I am working hard on completing many series of tutorials on an array of subjects. Feel free to shoot me an email to remind me about a specific tutorial I may have forgotten.

Note: This is not a C tutorial, it is assumed you know the basics of the language. However, I do review bitwise operations because they are an integral part of embedded C. I suggest you review structures and pointers (just basic pointers nothing fancy).


1. Intro / overview of what you will learn.
2. Development environments :
  • Keil
  • TrueStudio 
3. Intro to Register access.
4. Bitwise operations
5. Systick : delay
6. Basic Debugging intro
7. Printf for debugging


  • Overview
  • Output
  • Input
  • Interrupt
  • Alternate function
 GPIO : Driver Abstraction
  • Header File
  • C File

Post a Comment


  1. Thank you for your efforts! This is exactly what I've been looking. Im going to write my drivers too for my stm32f407 micro, so that I can learn how they work.

    1. hello sorry for the late reply! How did your journey go on writing the drivers? I plan to remake these videos and be more active.

  2. Hi. Your lecture series is one of the most fundamental, in depth and clear than all others. I liked your way of explaining. Thanks a million. Looking forward to more and more topics.

  3. Eddie your youtube blog is reeeeeallly helpful! I was looking for that information on numbers of different sites and here it is, all in one place, just watch!!)))))Thanks a lot, hope your current site will be even better.

  4. This comment has been removed by the author.

  5. when is your video are coming please reply me

    1. what video exactly are you looking for? I have a lot on youtube already and working on some more.