강의

챌린지

멘토링

로드맵

커뮤니티

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

[New Announcement] If you’re stuck during the STM32 hands-on exercises, please ask your question like this!

Hello.
I'm Huchu Dad from the Coding Beginner Rescue Squad.

STM32 exercises involve not only code but also CubeMX settings, the build environment, Flash, wiring, and peripheral configurations working together. So when a problem occurs, if you let me know which stages are currently working properly, I can identify the cause much more quickly.

When asking a question, if possible, please include the following information as well.

  • Which course and which exercise it is

  • Whether the build and flash complete successfully

  • How far it works properly

  • The difference between the expected behavior and the actual behavior

  • If there is a compile/link error, include the full error message

  • Related code and CubeMX settings

  • If it is a hardware issue, a photo of the wiring

For example, rather than
❌ "The LCD isn't displaying anything."

⭕ "I’m working on an I2C LCD exercise. Build and Flash complete successfully, and no errors occur in the HAL API. The LCD backlight turns on, but no text is displayed. The CubeMX I2C settings and current wiring are as follows."

Or,

❌ "PWM is acting strangely."
Rather,
⭕ "I am practicing SG90 servo motor PWM. PWM output is generated after configuring the timer, but the servo motor does not move to the desired angle. The Prescaler/Period settings are as follows, and the period and pulse width measured with a Logic Analyzer are as follows."
It would be helpful if you could leave it like this.


Especially in firmware,
Build → Flash → peripheral initialization → signal generation → actual device operation
it is important to develop the habit of checking one by one how far things are working normally.

More important than asking a good question is communicating as accurately as possible what you currently know and what you have verified. If you're not sure, it's okay to write only what you know.

If you get stuck while taking the course, feel free to leave a question anytime. :)

Thank you.
Best regards, the Coding Beginner Rescue Team

Comment