inflearn logo

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

If you have understood the flow from the Essence of Embedded Systems - Basic Edition, it is now time to implement the STM32 firmware yourself. Using the STM32 Discovery Board, you will systematically learn everything from CubeMX configuration to firmware implementation based on GPIO, UART, Timer, and Interrupts. We go beyond simply using HAL APIs to cover how to connect peripherals and design systems within an actual project workflow. Moving past individual functional practices, you will gain the experience of completing a full firmware system.

(5.0) 3 reviews

53 learners

Level Basic

Course period Unlimited

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

Reviews from Early Learners

5.0

5.0

박용희

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.

5.0

Leo Lim

100% enrolled

The explanations were concise and focused on the key points, making them easy to follow. Even difficult concepts were broken down step by step, which made them easier to understand. The lectures were also structured in manageable sections, so they were convenient to listen to in spare moments, and it was easy to revisit and review the parts I needed. There were many sections explained alongside example code, which made the material much more tangible than simply listening to theory. This is a solid course to recommend to anyone who wants to refresh their embedded systems fundamentals.

5.0

두랄루돈

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.

What you will gain after the course

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

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

  • I can understand the operational structure of interrupts and timers and design them into code.

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

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


STM32 was learned, but
wasn't the project still difficult?


You might be able to implement GPIO, UART, and Timers, but why does starting a project still feel so overwhelming?



Implementing individual functions and completing them as a single system are two different matters.

What makes that difference is precisely system design.







You must learn blueprints from a team that knows practical experience.


Based on practical embedded experience and educational expertise, Corinyi Rescue Team creates lectures that go beyond simple functional implementation to understand the entire system.


🛠 Hands-on Embedded Development Experience (6 Senior Engineers)
Firmware · BSP · Embedded Linux · AI Systems

📘 Education and Mentoring Experience (Inflearn, Hanium, KCCI, SeSAC, ...)
Explanation-focused lectures for beginners and junior engineers

🧩 Design-Oriented Curriculum
From requirements to design, implementation, and integration


We explain things in a way that is easy to learn, but we do not lower the standards of professional practice.







Directly implement the core peripherals required for actual projects based on
STM32 HAL.


💡 GPIO
Digital I/O-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
Distance measurement based on input capture


The functions you've learned will be connected as a single system in the final project.







From design to implementation,

It proceeds with an actual development workflow similar to real-world practice


After analyzing the requirements and designing the system's structure and operation,
Through module-by-module implementation and integration, we complete it into a fully functioning system.

Beyond just learning functions, you will learn the development workflow of completing a system.







By connecting the functions you have learned,

Complete a single car event detection system


📡 Input Detection
Ultrasonic · IMU · ADC
🧠 Event Judgment
State Transition · FSM
🚨 Result Output
LCD · UART · LED


It doesn't end with just practicing individual functions;
it integrates input, judgment, state, and output into a single firmware system.







Basic Level the embedded systems understood in,

In the Firmware section, we will implement it directly using STM32.


Corini Rescue Team is a team of senior engineers with over 10 years of practical experience.

We have developed embedded systems in various industrial fields, including major domestic corporations and global conglomerates,

Through online and offline lectures and mentoring via Inflearn, Hanium, the Korea Chamber of Commerce and Industry, SeSAC, and more,

I have worked with more than 800 students.

[ ① Basic Edition ]
Basic principles of embedded systems, connection between hardware and software, understanding the operation of major interfaces

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

[ ③ RTOS Edition ]
Task-based Architecture, Concurrency Control, and Expansion to Real-Time Systems


This course is the second part following 「The Essence of Embedded Systems - Basic Edition」.







Notes before taking the course


📌 Please check this first

This course is the second part following 「The Essence of Embedded Systems - Basic Edition」.
The basic principles of embedded systems and key interface concepts covered in the Basic Edition will not be explained again.
※ If you are studying embedded systems for the first time, please take the Basic Edition 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 storage space recommended


Prerequisites and Precautions

  • 「The Essence of Embedded Systems - Basic Course」 completed

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

  • Basic terminal commands and experience in building source code

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


Learning Materials

  • Provision of source code and examples required for practice

  • 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 basic course and want to take the next step with STM32 firmware

  • Those who want to implement peripherals themselves using STM32 HAL

  • Those who want to combine individual practices 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 who wants to gain MCU project experience while preparing for an embedded systems role.

Need to know before starting?

  • Completed the course "The Essence of Embedded Systems - Basic Edition"

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

  • Basic understanding of HIGH and LOW in digital signals

  • The willingness to learn by writing code and solving problems yourself

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

Hello
This is jcrt

Career Verified

364

Learners

22

Reviews

5

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

3 reviews

5.0

3 reviews

  • 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!

  • ybnormal817154님의 프로필 이미지
    ybnormal817154

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    The explanations were concise and focused on the key points, making them easy to follow. Even difficult concepts were broken down step by step, which made them easier to understand. The lectures were also structured in manageable sections, so they were convenient to listen to in spare moments, and it was easy to revisit and review the parts I needed. There were many sections explained alongside example code, which made the material much more tangible than simply listening to theory. This is a solid course to recommend to anyone who wants to refresh their embedded systems fundamentals.

    • jcrt
      Instructor

      Thank you for your thoughtful course review! I tried to structure the course step by step, starting with the key concepts so that even difficult topics could be followed without feeling overwhelmed, and I’m glad that came through. In particular, I’m pleased to hear that working through the examples and checking things for yourself helped you organize your embedded systems fundamentals. Thank you for completing the course, and I hope it serves as a solid foundation for your future studies in embedded systems. Thank you!

  • 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!

Limited time deal ends in 7 days

$77,000.00

30%

$84.70