Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certifications Network & Security Hardware Operating Systems & Servers Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Paid Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement & Gardening Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition & Diet Yoga Mental Health Martial Arts & Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React Angular CSS Node.Js Typescript HTML5 PHP
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA CompTIA Security+ Microsoft AZ-900
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Data Analysis Data Warehouse Blockchain Business Intelligence
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Mobile Game Development
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin SwiftUI Mobile App Development
Graphic Design Photoshop Adobe Illustrator Drawing Canva Digital Painting InDesign Design Theory Procreate Digital Illustration App
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Life Purpose Mindfulness Sound Therapy Emotional Intelligence Coaching
Business Fundamentals Entrepreneurship Fundamentals Freelancing Business Strategy Online Business Startup Business Plan Blogging Amazon Kindle Direct Publishing (KDP)
Digital Marketing Social Media Marketing Marketing Strategy Internet Marketing Copywriting Google Analytics Email Marketing Startup Advertising Strategy
2022-06-20T03:44:36Z

IT & SoftwareHardwareEmbedded Systems

Mastering Microcontroller and Embedded Driver Development

(MCU1) Learn bare metal driver development using Embedded C: Writing drivers for STM32 GPIO,I2C,SPI,USART from scratch
Bestseller
Rating: 4.6 out of 54.6 (7,391 ratings)
40,455 students
Created by FastBit Embedded Brain Academy, Kiran Nayak
Last updated 8/2022
English
English, Afrikaans, 

What you'll 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 protocols
  • Learn about different MCU clocks like HCLK, PCLK, PLL,etc
  • Learn to capture/decode/analyze traces of serial protocols on Logic analyzer
  • Learn about Quick ways of debugging peripheral issues with case studies

Requirements

  • Basic knowledge of C programming
  • If you are completely new to MCU and C programming language then you are advised to finish our "Embedded C" course for absolute beginners first

Description

>> Your Search for an in-depth microcontroller programming course ends here !!<<<

Course code: MCU1

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

English Subtitles/CCs are enabled for this course.

Update 6: videos are updated with the latest STM32CUBEIDE

Update 5: All drivers are developed in a live session with step-by-step coding and added stm32-Arduino communication exercises using SPI and I2C.

Update 4: Dedicated support team is assigned to address student's Q/A

Update 3: English Closed captions are fixed

Update 2  : Added Bus matrix / memory map /vector table /interrupt design discussion with code examples.

Update 1: Eclipse IDE setup for ARM Cortex M based MCUs added


The course is designed for beginners to advanced audiences.


Brief Description:

This course Demystifies the internal working of the Microcontroller and its Peripherals.

Coding for the Peripherals STEP-BY-STEP and Developing software drivers entirely from scratch by extracting maximum information from Datasheets, Reference manuals, specs, etc

Protocol 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 complex field, there's no actual gold standard yet for how things are practiced, or taught, which can frustrate people who are just trying to learn new things and couldn't connect the dots.

This is the motivation behind creating this course to help engineers and students learn different aspects of embedded systems by providing high-quality advanced lectures at a relatively low price.


Master Behind the Scene working;

created 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 will learn to write your peripheral driver for most commonly used peripherals such as GPIOs, I2C, SPI, USART, etc., and the exciting thing is that you will learn everything from scratch.

No 3rd party libraries!

No blind coding!

Write your 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 procedures on configuring various Peripherals like GPIOs, SPI, USART, I2C by taking you into the reference manual and datasheet. 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 learn something new to use in your work or projects. You'll find yourself handling these peripherals with much more clarity. You will be able to speculate and debug the problem quickly. I'll show you tricks and tips to debug the most common issues using debugging tools such as logic analyzers.


This is not the Arduino style of programming:

I believe Arduino is for quick prototyping of projects/products but not for mastering the working of micro-controllers and their peripherals. Unlike Arduino programming, where you develop 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 will create our own library. The Power of this approach is that you can quickly speculate problems and debug like a pro when things go wrong in your project due to bugs. If one thing me and my students are good at is "debugging,." To achieve good debugging skills, it's essential to code by understanding how things work behind the scene but not by blindly using some third-party libraries, and that's the biggest TAKE away from this course.

The course is designed and explained so that it is generic across any microcontroller. The code we develop can be used as templates to quickly build a peripheral driver for your MCUs on-chip peripherals.


Software/Hardware used:

In this course, the code is developed so that it can be ported to any MCU you have at your hand. If you need any help 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 that runs with an ARM-Cortex M3/M4 processor, I recommend you continue using it. But if you don't have any development boards, then check out the below Development boards.


1. STM32F407xx based Discovery board ( This is the board used in this course)

MCU Vendor: STMicroelectronics


IDE: STM32CUBEIDE (Free)


My promise:

I am confident that this course will save you many hours of studying/experimenting/googling time to learn about MCU programming. I will personally answer your questions about this material, either privately or in a group discussion. If you are 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) Embedded System Design using UML State Machines(State machine)

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

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

8) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)

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

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

Who this course is for:

  • Professionals interested in exploring Embedded systems
  • Hobbyists and students who want to start their career in Embedded world
  • If you think about 'embedded' then think about taking this course. you will not be disappointe
  • This Course may not be suitable for those people who are looking for quick prototyping using boards such as Arduino

Featured review

Vivek yadav
Vivek Y.
22 courses
4 reviews
Rating: 5.0 out of 52 years ago
This Course is amazing. I recommend this course for those who want to learn ARM cortex based bare-metal programming. Easy and systematic steps lead you towards a better understanding of microController. I completed this Course with "Blue Pill" which is ARM Cortex M3 because it is cheap but it serves good in the process of learning. Thank you all who put effort to make this course. I know, "Followers will never know how hard the leader tries to create a path."

Instructors

FastBit Embedded Brain Academy
Works on Firmware and Embedded Engineering
FastBit Embedded Brain Academy
  • 4.6 Instructor Rating
  • 30,145 Reviews
  • 84,662 Students
  • 10 Courses

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.

Read full reviews to understand more about the courses.

==>Learning order of FastBit Embedded Brain Academy Courses<==

If you are a beginner in the field of embedded systems, 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) Embedded System Design using UML State Machines(State machine)

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

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

8) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)

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

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

* FastBit EBA is an online embedded software training wing of Bharati Software

Kiran Nayak
Embedded Software
Kiran Nayak
  • 4.6 Instructor Rating
  • 30,145 Reviews
  • 84,662 Students
  • 10 Courses

Kiran Nayak holds a bachelor’s degree(B.E.) in electronics and communication engineering with vast experience in embedded software development.

Currently, he is working as a managing partner of Bharati software, India. 

He creates video courses on programming languages,  microcontroller programming , ARM cortex Mx processor, real time operating systems , embedded Linux and Linux device drivers.

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Terms
  • Privacy policy
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.