Master Microcontroller and Embedded Driver Development(MCU1) (Udemy.com)

Learn bare metal driver development using Embedded C: Writing drivers for STM32 GPIO,I2C,SPI,USART from scratch

Created by: FastBit Embedded Brain Academy

Produced in 2021

icon
What you will learn

  • Understand Right ways of Handling and programming MCU Peripherals
  • Develop Peripheral drivers for your Microcontroller
  • Understand complete Driver Development steps right from scratch for GPIO,SPI,I2C and USART.
  • Learn Writing peripheral driver headers, prototyping APIs and implementation
  • Explore MCU data sheets, Reference manuals, start-up Codes to get things done
  • Learn Right ways of handling/configuring Interrupts for various peripherals
  • Learn about Peripheral IRQs/Vector table/NVIC interfaces and many
  • Learn about Configuration/status/Control registers of various Peripherals
  • Demystifying behind the scene working details of SPI,I2C,GPIOs,USART etc.
  • Explore hidden secretes of MCU bus interfaces, clock sources, MCU clock configurations, etc.
  • Understand right ways of enabling/configuring peripheral clocks/serial clocks/baud rates of various serial protocols
  • Learn about MCUs AHB, APB bus protocol

icon
Quality Score

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

Overall Score : 92 / 100

icon
Course Description

>> Your Search for In-depth Micro-controller Programming Course ends here !!<<Update 1 (26/sep/2017): Eclipse IDE setup for ARM Cortex M based MCUs addedThe course is designed for Beginners to Advanced audience.
Brief DescriptionThis Course Demystifies the internal working of the Micro-controller and its Peripherals.
Coding for the Peripherals STEP-BY-STEP and Developing software drivers completely from scratch by extracting maximum information from Datasheets, Reference manuals, specs, etcProtocol Decoding Using logic analyzers, Debugging, Testing along with Hints and Tips.
Long Description:
Learning Embedded System Programming can be a challenge. Since it's a relatively little complex field, there's no real gold standard yet for how things are practiced, or taught, which can frustrate people who are just trying to learn new things and couldnt able to connect the dots and this is the motivation behind creating this course to help engineers and students to learn different aspects of embedded systems by providing high-quality advanced lectures with relatively low price.
Learn at your own pace using the progressive method, with each of my short, info-packed lectures.
Master Behind the Scene working!
Icreated this course because I believe your time is precious, and you shouldn't have to hunt around to get a practical foundation In Embedded System Programming. In this course, you are going to learn writing your own peripheral driver for most of the commonly used peripherals such as GPIOs, I2C, SPI, USART, etc. and interesting thing is that you are going to learn everything from scratch.
No 3rd party libraries!
No blind coding!
Write your own Driver APIs by dealing with the Peripheral Registers of the MCU!
Code and Implement APIs from scratch, diving into the datasheet and reference manual of the MCU. I will thoroughly explain how to extract the maximum information from datasheets, Technical Reference manuals to configure and handle peripherals. These techniques you can go and apply to any MCUs you have at your hand.
In this course, I will walk you through step by step procedure how to Configure various Peripherals like GPIOs, SPI, USART, I2C by taking you into the reference manual and data sheet. We will develop a fully working driver code, interrupt handlers, sample application everything from scratch to understand the big picture.
In each lecture, I assure you that, you will definitely learn something new that you can definitely use in your work or projects. You'll find yourself handling these peripherals with much more clarity and you will be able to quickly speculate and debug the problem and Ill show you tricks and tips to debug the most common problems using debugging tools such as logic analyzers.
This is not Arduino Style of programming!
I believe Arduino is for quick prototyping of products but not for Mastering Working of micro-controllers and its peripherals.
Unlike Arduino programming where you come up with a quick solution and prototyping of products using third-party libraries, this course is entirely different. In this course, no 3rd party libraries are used. Everything we will code by referring to the Technical reference manual of the MCU and create our own library. The Power of this approach is when things go wrong in your project work due to bugs, you can quickly able to speculate problem and debug like a pro. If one thing me and my students are good at is "debugging". To achieve good debugging skills its very important you code by understanding how things work behind the scene but no by just blindly using some third party libraries and thats the biggest TAKE away from this Course.
The course is designed and explained in such a way that, it is generic across any kind of microcontroller. The code we develop can be used as templates to quickly come with a peripheral driver for your MCUs on-chip peripherals.
Software/Hardware used: In this course, the code is developed such a way that, It can be ported to any MCU you have at your hand. If you need any help in porting these codes to different MCUs you can always reach out to me! The course is strictly not bound to any 1 type of MCU. So, if you already have any Development board which runs with ARM-Cortex M3/M4 processor, then I recommend you to continue using it. But if you dont have any Development board, then check out the below Development boards.
1. STM32F407xx based Discovery board ( This is the board used in this course )MCU Vendor: STMicroelectronicsIDE : STM32CUBEIDE (Free)My promise!
I am confident that this course will save you many, many hours of studying/experimenting/googling time to learn about Programming the MCU. I will personally answer your questions about this material, either privately or in a group discussion. If you are in any way not satisfied, for any reason, you can get a full refund from Udemy within 30 days. No questions asked. But I am confident you won't need to. I stand behind this course 100% and am committed to helping you.
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)Who this course is for:
Professionals interested in exploring Embedded systemsHobbyists and students who want to start their career in Embedded worldIf you think about 'embedded' then think about taking this course. you will not be disappointeThis Course may not be suitable for those people who are looking for quick prototyping using boards such as Arduino

icon
Instructor Details

FastBit Embedded Brain Academy

Best selling microcontroller programming and RTOS course creators having over 45,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 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 indeed make you feel you made the right choice.
We believe in doing REAL WORK, which solves our customer's REAL

icon
More courses by FastBit Embedded Brain Academy

Microcontroller Embedded C Programming: absolute beginners

$11.99

Embedded Systems Programming on ARM Cortex-M3/M4 Processor

$11.99

Embedded Linux Step by Step using Beaglebone Black

$11.99

icon
More it & software courses

Kubernetes Certified Application Developer (CKAD) with Tests

$11.99

Angel Oracle Card Reader Course; Become the Oracle

$11.99

Cisco CCENT Packet Tracer Ultimate labs: ICND1 Exam prep lab

$11.99

Microsoft Access Networking 2: Maximum Security

$11.99

Oracle 12c Multitenant Architecture Administration

$11.99

Certified Kubernetes Administrator (CKA) with Practice Tests

$11.99

icon
Reviews

4.6

310 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Javi Casas on 11/15/2020

Very useful and interesting course. You will program GPIO, SPI, I2C and USART peripherals drivers from scratch and learn how they work.
It doesn't dig in peripheral's advanced modes (that would have been great and is the only reason why it doesn't get 5 stars) but you get the knowledge to study those advanced features by yourself.
If you like microcontrollers and want to understand these peripherals, don't doubt it, you have to attend to this course.
Enjoy it!

By Arthur M on 11/15/2020

This was my 3rd course from Kiran/Fastbit, after the absolute beginners and ARM Cortex course (both of which I recommend, even as an experienced software developer). This instructor is great, and this is another great course . You'll write a lot of code, which is the strength of this series of courses. I'd probably say that if you are an absolute beginner to embedded systems programming, do the embedded C course first. This one assumes a basic level of knowledge beforehand. It's a long one too, I don't think I could go straight to MCU2 after this, personally I'll take something else in between to keep things fresh.

By Mingxingzhang on 11/8/2020

the target board used is different from the one said in the previous lecture.

By Sergio Mendoza on 11/8/2020

The teacher has the ability to guide you trough the STM32 learning process, just as the Baldor book does in algebra field. This course is highly recommended.

By Adam Jamal on 11/8/2020

Detail explanation with real MCU from STM, IDE and also internal parts of the MCU. Highly recommend for those who want to understand MCU and start working for their projects.

By Vijaya Nagaraju on 11/8/2020

it's good knowledge sharing training, but I would request you to explain more on datasheet and schematic parts detail.

By Timur Gler on 10/25/2020

Best ever course i have bought in udemy.

By Almir da Silva on 10/20/2020

atendeu as minhas expectativas

By Sathi Babu Medisetti on 10/20/2020

nice lecture . you have excellent teaching skill . thank you for providing these type of courses from basic to advance

By Vignesh GR on 10/20/2020

One of the best courses on MCU driver level development. Course is structured well and easy to follow. Instructor is really knowledgeable and I am really impressed with the way he conveys the information. I also bought other courses on this series!

By Luis Enrique Caro Acosta on 10/19/2020

Thank you very much for the course. I really enjoyed!
Just small thing, I could not do a lot of tests because of the need of the arduino board. You should advice at the begining of the course the big use and need of it.
I would appreciate more exploration in registers and debugging.
In any case, I recommend this course!

By Ivan Barraza on 10/19/2020

I wasn't sure what to expect since I am new to Micro-controllers and embedded driver development, but now I am very happy I signed up for this course. The instructor sounds very knowledgeable and explains things very well... even the minute items. I feel very confident that I am getting a solid foundation on Micro-controllers and embedded driver development.