The Essence of Embedded Systems – Firmware Edition (STM32 Discovery Board)

If you’ve understood the overall flow in *The Essence of Embedded Systems – Fundamentals*, it’s now time to implement STM32 firmware yourself. Using an STM32 Discovery Board, you’ll systematically learn everything from CubeMX configuration to implementing firmware based on GPIO, UART, timers, and interrupts. This course goes beyond simply using HAL APIs, covering how to connect peripherals and design systems within a real project workflow. Rather than practicing individual functions in isolation, you’ll gain hands-on experience completing an entire firmware system.

(5.0) 9 reviews

70 learners

Level Basic

Course period Unlimited

Embedded
Embedded
MCU
MCU
stm32
stm32
microcontroller
microcontroller
firmware
firmware
Embedded
Embedded
MCU
MCU
stm32
stm32
microcontroller
microcontroller
firmware
firmware

Reviews from Early Learners

5.0

5.0

김다은

100% enrolled

By taking both the Basic and Firmware courses, I was able to gain a much more concrete understanding of the STM32 firmware development process. Directly configuring and implementing GPIO, UART, PWM, ADC, I2C, Timer, and other features was very helpful in learning how each one works. What was particularly impressive was that the course went beyond simply implementing individual features and showed how to integrate them into a complete firmware system through Interrupts and a layered structure based on BSP/HAL. Through the course, I learned how to divide code by function and write it while considering the overall system architecture. I would recommend this course to anyone who wants to study STM32 firmware development systematically.

5.0

홍순현

100% enrolled

From setting up the basic environment to working hands-on with essential peripherals, the course flowed smoothly without any obstacles, so I was able to complete it without feeling overwhelmed. Also, since each concept explanation was immediately followed by hands-on videos and examples, I could apply what I had learned right away, which kept the course engaging and made it easy to follow. Being able to directly verify on the board that the knowledge I had only understood theoretically actually worked makes this the perfect course for building a solid foundation in firmware!!

5.0

임송주

100% enrolled

This was a course I took after the Fundamentals of Embedded Systems course, and I was very satisfied with it overall. When studying on my own, I struggled because I didn’t know where to start, but this course explained the material systematically and step by step, which was a great help in finding the right direction for my studies. In particular, it was even more engaging because I could learn through hands-on practice instead of just studying theory, and I was able to understand the material much more easily. I think this course would be a great help for anyone like me who is interested in the embedded field but has difficulty studying on their own!

What you will gain after the course

  • The principles of embedded systems learned in the Basics course can be extended to STM32 firmware.

  • You can directly implement GPIO, UART, PWM, I2C, ADC, and Timer using the STM32 HAL.

  • You can understand how interrupts and timers work and design them in code.

  • You can connect new sensors and modules by referring to the datasheet.

  • You can experience the entire firmware project lifecycle, from requirements and design to implementation and integration.


You learned STM32, but
did you still find projects difficult?


Even if you can implement GPIO, UART, and Timers, why do projects still feel overwhelming?



Implementing individual features and completing them as a single system are different challenges.

What makes the difference is system design.







You should learn system design from a team that understands real-world practice.


Korini Structure Rescue creates courses based on hands-on embedded experience and teaching expertise
that help you understand the entire system beyond mere feature implementation.


🛠 Hands-on embedded development experience (6 Senior Engineers)
Firmware · BSP · Embedded Linux · AI systems

📘 Education and Mentoring Experience (Inflearn, Hanium, Chamber of Commerce, Saessak, ...)
Explanation-focused courses for beginners and junior engineers

🧩 Design-Focused Curriculum
From requirements through design, implementation, and integration


We explain everything in an easy-to-learn way without lowering professional standards.







Directly implement the essential peripherals needed for real-world projects using STM32 HAL
.


💡 GPIO
Digital input/output-based LED control
↔ UART
Log output and asynchronous data reception
〰 PWM
Timer-based servo motor control
🔗 I2C
IMU and LCD data communication
🎚 ADC
Analog input and voltage measurement
⏱ Timer
Input capture-based distance measurement


The features you learn are connected as a single system in the final project.







From design to implementation,

Proceed through a real-world development workflow similar to that used in professional practice.


After analyzing the requirements and designing the system’s structure and behavior,
Through module-by-module implementation and integration, you complete a fully functional system.

Beyond learning individual functions, you learn the development process of completing a system.







By connecting the features you’ve learned,

Complete a single automotive event detection system to completion.


📡 Input Detection
Ultrasonic · IMU · ADC
🧠 Event Decision
State Transitions · FSM
🚨 Output results
LCD · UART · LED


Rather than stopping at practicing individual functions,
you will integrate input, decision-making, state, and output into a single firmware system.







The embedded systems understood in the basics section,

Implement it yourself with STM32 in the Firmware Edition


Korini Rescue is a team made up of senior engineers with over 10 years of hands-on experience.

We have developed embedded systems across various industrial settings, including major Korean companies and multinational corporations,

Through online and offline courses and mentoring via Inflearn, HaniUm, the Korea Chamber of Commerce and Industry, Saessak, and others

I have worked with more than 800 students.

[ ① Fundamentals ]
Understand the basic principles of embedded systems, the connection between hardware and software, and the operation of key interfaces

[ ② Firmware Edition ]
STM32 HAL-based
peripheral implementation, interrupts and timers, and firmware system design

[ ③ RTOS Edition ]
Expand to a task-based architecture with concurrency control and real-time systems


This course is the second in the series, following "The Essence of Embedded Systems - Fundamentals".







Notes Before Taking the Course


📌 Please check this first

This course is the second course following “The Essence of Embedded Systems - Fundamentals”.
The basic principles of embedded systems and the concepts of key interfaces covered in the fundamentals course will not be explained again.
※ If you are new to embedded systems, please take the fundamentals course first.


Practice Environment

  • Operating system: Based on Ubuntu 24.04 LTS (physical PC or VM)

  • Development tools: STM32CubeMX, VSCode, OpenOCD, Make

  • PC specifications: 4GB RAM or more; 20GB or more of storage space recommended


Prerequisites and Important Notes

  • Complete “The Essence of Embedded Systems—Fundamentals” course

  • Basic C language syntax, including functions, structures, enums, and pointers

  • Basic terminal commands and experience building source code

※ If you have not taken the Basic course, you will need equivalent foundational knowledge of embedded systems.


Learning Materials

  • Source code and examples needed for the hands-on exercises provided

  • Guidance on reference materials such as datasheets and reference manuals

Recommended for
these people

Who is this course right for?

  • Those who have completed the basics and want to take the next step with STM32 firmware.

  • Those who want to implement peripherals directly using the STM32 HAL.

  • Those who want to connect individual exercises such as GPIO and UART into a single project

  • A junior developer who wants to systematically learn firmware architecture design, interrupts, and timers

  • A job seeker preparing for an embedded position and looking to gain experience with MCU projects

Need to know before starting?

  • Completed the course “The Essence of Embedded Systems – Basics”

  • Basic C language syntax, including functions, structs, enums, and pointers

  • Basic Understanding of HIGH and LOW in Digital Signals

  • Willingness to learn by writing code directly and trying to solve problems oneself

  • ※ Experience with STM32 or MCU projects is not required.

Hello
This is jcrt

Career Verified

393

Learners

30

Reviews

18

Answers

4.9

Rating

3

Courses

I am an engineer who has worked on everything from low-level development to system design for 14 years.

I have worked in practice, focusing on optimizing BSP, firmware, and Embedded Linux.

  • Current) Korini Rescue Team, Lead Engineer

  • Formerly Senior Software Engineer at a multinational corporation

  • Formerly a Senior Software Engineer at a major South Korean corporation

 

Practical and Educational Experience

  • Over 6 years of experience teaching and mentoring in embedded systems

  • Experience creating technical interviews and coding tests

  • Conducted extensive project and portfolio mentoring.

 

From low-level systems to AI,
we cover architectures that connect systems.

email: contact@jcrtlabs.com

 

 

More

Co-instructor

Curriculum

All

76 lectures ∙ (9hr 47min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

9 reviews

5.0

9 reviews

  • hongtiger201571님의 프로필 이미지
    hongtiger201571

    Reviews 2

    ∙

    Average Rating 5.0

    5

    100% enrolled

    From setting up the basic environment to working hands-on with essential peripherals, the course flowed smoothly without any obstacles, so I was able to complete it without feeling overwhelmed. Also, since each concept explanation was immediately followed by hands-on videos and examples, I could apply what I had learned right away, which kept the course engaging and made it easy to follow. Being able to directly verify on the board that the knowledge I had only understood theoretically actually worked makes this the perfect course for building a solid foundation in firmware!!

    • jcrt
      Instructor

      Thank you for completing the course and leaving such a thoughtful review! I structured the course so that after learning each concept, you could implement it yourself right away and verify that it actually works on the board, so I’m glad you appreciated that aspect. As you mentioned, I hope the experience you gained in this course becomes a solid foundation that enables you to analyze and implement new peripherals or sensors yourself in the future. Thank you for staying with me through the entire course!

  • weedstar117774님의 프로필 이미지
    weedstar117774

    Reviews 2

    ∙

    Average Rating 5.0

    5

    100% enrolled

    After knowing only the concepts of GPIO, UART, PWM, I2C, ADC, and Timer in the Basic section, implementing them directly with STM32 showed me that knowing something and building it are indeed on completely different levels. In the final project, after tying everything together into a single system—from sensor input to status assessment to LCD/UART output—I learned firsthand the difference between “learning one function” and “completing a system.” It’s a course where you can feel the effort put into explaining difficult concepts in an easy-to-understand way.

    • jcrt
      Instructor

      Thank you for your thoughtful course review! While preparing this firmware course, one of the most important things to me was to go beyond simply learning how to use each peripheral and give you the experience of connecting their individual functions to complete a single system. As the creator of the course, I’m truly proud to hear that you directly experienced the “difference between learning one function and completing a system” that you mentioned. Thank you for completing the course from the fundamentals through the firmware section. I hope this experience serves as a strong foundation as you study and implement more complex embedded systems in the future. Thank you!

  • suhee78466812님의 프로필 이미지
    suhee78466812

    Reviews 2

    ∙

    Average Rating 5.0

    Edited

    5

    100% enrolled

    As a student studying embedded systems, I found this very helpful. You explained in detail the parts that may initially seem overwhelming, and I feel that this episode in particular covered the essence of embedded systems. Having the video prepared alongside practical exercises made it even more helpful for studying the theory. Thank you for creating such great video material.

    • jcrt
      Instructor

      Thank you for completing the firmware section and leaving such a thoughtful review! I’m glad the course was helpful as you studied embedded systems. I’m especially grateful that you appreciated how the course included not only theory but also hands-on practice and the process of verifying how things work. I hope what you learned and experienced in this course will serve as a solid foundation as you continue studying embedded systems in greater depth and implementing things yourself. Thank you for being with us until the end!

  • daag21701376님의 프로필 이미지
    daag21701376

    Reviews 2

    ∙

    Average Rating 5.0

    Edited

    5

    100% enrolled

    By taking both the Basic and Firmware courses, I was able to gain a much more concrete understanding of the STM32 firmware development process. Directly configuring and implementing GPIO, UART, PWM, ADC, I2C, Timer, and other features was very helpful in learning how each one works. What was particularly impressive was that the course went beyond simply implementing individual features and showed how to integrate them into a complete firmware system through Interrupts and a layered structure based on BSP/HAL. Through the course, I learned how to divide code by function and write it while considering the overall system architecture. I would recommend this course to anyone who wants to study STM32 firmware development systematically.

    • jcrt
      Instructor

      Thank you for completing not only the Fundamentals course but also the Firmware course, and for leaving such a thoughtful review! Rather than simply showing how to operate each peripheral individually, I wanted to give you the experience of dividing the code by functionality, organizing it into layers, and building it into a single firmware system. I’m glad that aspect came through clearly to you. I hope the experience you gained in this course with GPIO, UART, PWM, ADC, I2C, timers and interrupts, and the BSP/HAL structure will serve as a solid foundation as you go on to study more complex firmware and RTOS concepts. Thank you for joining me through both courses to the very end!

  • dragonofdragon2575님의 프로필 이미지
    dragonofdragon2575

    Reviews 2

    ∙

    Average Rating 5.0

    5

    97% enrolled

    Overall, the explanations were clear and the content was well organized, making the course easy to follow. Even when covering unfamiliar topics, it did not explain them in an overly difficult way, instead addressing the key points step by step, which helped me understand them a lot. The length and structure of the course were not overwhelming, so it was easy to listen to in my spare time, and it was also convenient to review by revisiting the sections I needed. Some parts were explained along with examples, which made them easier to understand than simply listening to the concepts alone. I think this is a solid course for beginners or anyone who wants to review the basics.

    • jcrt
      Instructor

      Thank you for your thoughtful course review! I put a lot of thought into structuring the course so that even those new to the subject could follow along comfortably and understand the core concepts of embedded systems one by one. I’m glad that came through. Thank you for staying with the course through completion, and I hope this course serves as a solid foundation for your continued studies in embedded systems. Thank you!

Similar courses

Explore other courses in the same field!