Mastering Microcontroller and Embedded Driver Development
Below are the top discussions from Reddit that mention this online Udemy course.
(MCU1) Learn bare metal driver development using Embedded C: Writing drivers for STM32 GPIO,I2C,SPI,USART from scratch
Reddemy may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Udemy. Thank you for using these buttons to support Reddemy.
Taught by
FastBit Embedded Brain Academy
1
Reddit Posts and Comments
0 posts • 27 mentions • top 21 shown below
10 points • OPTengu
This Udemy course from Fastbit Embedded Brain Academy could help. I recently finished it and recommend it, but I didn't have much experience with STM32 to begin with, so it might be a bit basic for you.
3 points • Big_Fix9049
That's great to hear that you already have the programming foundation. Really good. On that basis, I would actually recommend the following course for you:
https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/?couponCode=FASTWEBSEP21
You would need to purchase a STM32 development board for around 10-20 bucks to follow the course.
The recommended course really did help me to get a good and in-depth introduction to microcontroller programming.
I wish you very well for your journey.
Cheers,
3 points • nemus93
From equipment I would suggest you to buy logic analyzer and if you already have Arduino it would be great, cause you can use Arduino when you test communication between STM board and Arduino, for e.g. USART, SPI, I2C,...
Since you already have knowledge in embedded C, I would suggest you to pick up MCU1 course from FastBit Academy and to learn more about driver development and to write drivers from scratch for your board for GPIO, I2C, ... You can pick this course for $10 on Udemy.
EDIT: I'm not fan of books either, I use them just as reference if I stuck somewhere.
2 points • SaucyParamecium
If you really want to dig into it and you have some grasp in embedded programming, I REALLY suggest this course, it's cheap but a valuable and complete source of knowledge. I am doing the cortex m course and it's fantastic. Saved me a lot of time.
2 points • Mclevius-Donaldson
https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/
21 points • djangbahevans
I was in your shoes a few months ago. I got my start with a few courses from Udemy. Particularly, the courses from FastBit Academy. They also have a good recommended order that makes sense. Let me list the courses below
- Microcontroller Embedded C Programming: absolute beginners(Embedded C)
- Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)
- Mastering Microcontroller with Embedded Driver Development(MCU1)
- Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)
- Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)
- ARM Cortex M Microcontroller DMA Programming Demystified(DMA)
- STM32Fx Microcontroller Custom Bootloader Development(Bootloader)
- Embedded Linux Step by Step using Beaglebone Black(Linux)
6 points • OverclockedChip
Mastering Microcontroller with Embedded Driver Development (FastBit)
Mastering Microcontroller: Timers, PWM, CAN, RTC, Low Power (FastBit)
Mastering RTOS: Hands on FreeRTOS and STM32Fx with Debugging (FastBit)
These courses aren't the end-all-be-all, far from it, and the way he has you implement code sometimes doesn't make sense (so I kinda branch off and do it "my way" -- which is where I think the learning happens). For instance, he often has you #define a lot of macros where a typedef union { struct {} }
with bitfields is more concise.
He deserves credit for helping you navigate the resources (datasheets, IDE), the dev board, and essentially the code you'd find in an autogenerated HAL.
1 points • xypherrz
There's this udemy course on STM32 which merely cost me $10 or so and it was well worth it really. Starts from C basics (pointers, references, structs...), goes onto circuits to properly looking through datasheets and writing driver code for peripherals (GPIOs, SPI, etc) from scratch (using HAL).
1 points • hentai_oujisama
Sounds like the MCU1 course from fastbit academy on udemy.
1 points • ip278116
This one is what you are talking about right? https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/
1 points • 1765586712688
Hey, I’m in a similar position and have a lot of similar feelings to you - I found this linked course on Udemy that has good reviews around the internet. They have a series of 3 MCU courses focusing on STM32 development and also a beginner C course tailored towards writing C for embedded rather than more general CS (if you felt you needed that)
You can pick up a STM32 Nucleo or Discovery board for relatively cheap and work the courses with that. I’ve started personal projects here and there, but I get sidetracked with how much I don’t know similar to what you said, so it’s been nice to have a pathway to come back to and help get me focused again
https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/
1 points • winelover97
In my limited experience I see a lot of companies working on ARM platforms. I haven't worked with PIC.
If you are into hands own embedded development which covers almost all basic stuff then you can refer this course from Udemy, but its paid.
1 points • onemogunner
OP, take this course. It will walk you step by step through driver development for peripherals like GPIO, SPI, I2C, etc
https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/
However, his second course (continuation of this course), the instructor starts to use CubeMX's auto-generated drivers. I felt the same way as you at first but I guess if the industry is using them then it is best to get familiar and comfortable with them.
1 points • tea_horse
So the course I'm planning to take is this one https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/learn/lecture/8731978#overview
>What are you going for, what's your goal?
Not entirely sure how realistic it is at this point as I didn't do an accredited engineering undergrad. But my goal is a career in robotics. I'm planning on doing an MSc next September but no offers as of yet. Some key areas of interest are underwater robotics, renewable energy (e.g. e-waste recycling, nuclear energy etc).
In terms of immediate term goals, starter projects, I've not really given it too much thought. I ordered the robotic arm based on some advice for another beginner in r/robotics which suggested to just start something and from that you'll work out what the main areas of interest are
1 points • radboss92
Currently doing a deep dive with the stm32f446re board. This Udemy course (link below) is really high quality and I’ve gotten comfortable interacting with peripherals and turning to the data sheet/reference manual for the information I need. I already had a decent understanding of C so I think I’ll be in pretty good shape when I’m ready to start looking for jobs 🙂
https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/
1 points • Kmynis
Not OP, but based on what he wrote I think it's this one : https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/
I did this course and would recommend it to anyone learning embedded programming. I got a course in uni for driver development and imho this udemy course is better. Especially for 10eur.
2 points • Sl7Bot
yeah sure. Youtube you can look into Eddie Amayas channel. He got some good tutorials. And on Udemy the Courses from FastBit like this one are great.
I can also recommend you just reading the datasheet and figure out yourself how to do stuff. I actually developed an I2C driver without looking at tutorials, just with the datasheet.
7 points • r_ProfessionalPirate
Need help to start learning Embedded Systems.
I want to study and build my career in Embedded systems. I have done some really cool projects with Arduino and Raspberry Pi, but I want to dig deeper and study the Embedded System in detail.
I researched a lot and made a list of topics that one can follow to master Embedded systems (not in order) and also linked some courses from Udemy. The list below has some unnecessary courses (for ES), and it is possible that it doesn't have important ones. That's why it needs to be modified by experts.
I will be thankful to the community if they help me to find out where should I start and what order I should follow to improve my ES skills. This will help all the students who want to start their career in Embedded Systems.
- Embedded C. Course Link
- PCB Design.
- Operating System.
- Computer Architecture and Organization.
- ASICs and FPGA.
- Verilog/VHDL programming.
- Embedded Linux. Course Link
- ARM Cortex M Microcontroller DMA Programming Demystified. Course Link
- Microcontroller with Embedded Driver Development. Course Link
- Embedded Systems Programming on ARM Cortex-M3/M4 Processor. Course Link
- PLC Programming. Course Link
- Embedded Systems Bare-Metal Programming (STM32). Course Link
- Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging. Course Link
1 points • AntiqueRange9
I'd recommend taking a look at the FastBit Embedded Brain Academy lesson series, which utilizes an affordable STM32 dev kit. The instructor is quite good, and the information is very practical and widely applicable to other platforms as well. Only gripe is he uses a strong noise gate in his videos, and it can be very disorienting. If you do watch these videos, I recommend looping a quiet white noise sample in the background on the media player of your choice :)
https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/
1 points • Industrialistic
It definitely can be frustrating but try to be patient because as you learn where to find the resources, using these devices will be rewarding. I am typing this from memory but I recommend that you should use the cube package for your chip (which appears to be the L4). If it has not already been installed by STM32CUBEIDE, it can be manually downloaded (but you should have been prompted by the IDE to download all libraries when picking your board, so try to search for that directory first).
https://www.st.com/en/embedded-software/stm32cubel4.html
This package (once installed) will be a directory containing libraries and examples (probably the same ones) that can be imported into the STM32CUBEIDE workspace (file, import, existing projects into workspace, select the example project folder, then select the example you want). The annoying part is that when the project imports, it will likely have you editing the original example files (from what I remember) so maybe make a backup just in case. You should be able to build the project and run it out of the box.
However, I only use the examples as a reference and make my own projects using the CubeMX perspective (get familiar with Eclipse if you are not because this will hinder you greatly). This perspective provides a graphical tool (CubeMX plugin) to setup the peripherals and configuration you need. Once the selections have been made, choosing file save all will prompt you to generate code. Contrary to many other people's advice I recommend selecting to "initialize hardware to defaults" for beginners since it usually provides a good starting point with commonly used configurations (but there are good Udemy courses that teach you how to write this code from scratch). Short demo video of the CubeIDE here:
https://youtu.be/eumKLXNlM0U
Additionally, there are quick start guides and user manuals on the main web page for the IDE.
https://www.st.com/en/development-tools/stm32cubeide.html#resource
https://www.udemy.com/course/mastering-microcontroller-with-peripheral-driver-development/
https://www.udemy.com/microcontroller-programming-stm32-timers-pwm-can-bus-protocol/
If you still have trouble or you decide you need a break from STM32, I suggest looking into Cypress PSoC. If you pick a board that is compatible with the PSoC Creator IDE (make sure of this) then it will feel like literal heaven compared to many other IDEs. Cypress PSoC 5lp is my favorite microcontroller and I use it whenever it'll suit the project.
https://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and