Core Competencies in Robotics MCU Embedded SW and Employment Cheat Codes

Based on the practical know-how experienced firsthand by a current developer at a major corporation, we will help you develop the true core competencies in embedded SW that the market demands, going beyond simple coding.

2 learners are taking this course

Level Intermediate

Course period 7 months

Embedded
Embedded
MCU
MCU
robotics
robotics
Embedded
Embedded
MCU
MCU
robotics
robotics

What you will gain after the course

  • Capable of low-level chip control by directly referring to the datasheet

  • Understanding the entire life cycle from code build to chip boot-up

  • Professional-level VSCode custom build environment and RTOS utilization

  • Hardware Circuit Analysis and Debugging Sense for System Engineers

Core Competencies in Robotics MCU Embedded SW and Employment Cheat Codes

Based on the practical know-how experienced firsthand by a current developer at a major corporation, we will help you develop the core embedded SW competencies that companies truly desire, going beyond simple coding.

Recommended for these people

Students and job seekers who want to find employment in the embedded software field but feel they lack the fundamentals.



A junior developer who felt frustrated about how the hardware actually works behind the library


Those who want to gain hands-on experience with the industry-standard VSCode/CMake environment and the concepts of Real-Time Operating Systems (RTOS).

After completing the course

  • Capable of low-level chip control by directly reading datasheets

    • You will perfectly control LEDs, timers, and UART communication by writing data directly to the chip's internal register addresses without using any libraries.

  • Understanding the entire life cycle from code build to chip boot-up

    • You will gain a deep understanding of the entire mechanism, from the linking process where C code is converted into a binary, to the chip reading the Reset Handler upon power-up and entering the main function.

  • Professional-level VSCode custom build environment and RTOS utilization

    • You will experience high-speed compilation using CMake and Ninja without heavy official IDEs, and directly implement multi-threaded operations by embedding Azure RTOS (ThreadX).

  • Hardware Analysis and Debugging Sense for System Engineers

    • You will learn debugging methods to proactively identify and resolve board malfunctions by monitoring hardware signals using multimeters and oscilloscopes.


Features of this course

  • 'Real, vivid industry episodes' that don't appear in books

    • An active robot developer at a major corporation generously shares hard-earned practical tips and troubleshooting secrets gained from directly manipulating registers and resolving lock issues.

  • Bare-metal (Direct Register Control) vs. HAL API Comparison Practice

    • Maximize your understanding through 1:1 comparative practice by implementing the same examples (LED, Timer, Interrupt, UART communication) using both library-based methods and direct bit manipulation.

  • Preparing for Frequently Asked Questions in Technical Interviews

    • You will learn the foundational knowledge to confidently answer core, frequently asked questions in embedded technical interviews, such as volatile, BSRR registers, NVIC interrupts and Timers, and MCU operation processes., v.v.


What you will learn

Section 1. Orientation and Basic Embedded Concepts

  • Lecture 01: Course Introduction and Hands-on Environment Roadmap

  • Lecture 02: Job Analysis for Robotics MCU Embedded SW Development

  • Lecture 03: What is an MCU? (Differences from general computers and the 3 key elements)

  • Lecture 04: What is a Memory Map? (Physical addresses and volatile pointer manipulation)

Section 2. Peripherals and Register Control Basics

  • Lecture 05: Peripherals Concept 1: Differences between Peripherals and CPU Registers

  • Lecture 06: Peripherals Concept 2: Direct Register Control vs. HAL Library

  • Lecture 07: Register Bitfield Interpretation and SW Implementation 1 (MODER, OTYPER, OSPEEDR Settings)

  • Lecture 08: Register Bitfield Interpretation and SW Implementation 2 (BSRR Atomic Manipulation and Software Delay)

Section 3. MCU Software Operating Principles (Secrets of Build, Booting, and Addresses)

  • Lecture 09: Tracing MCU SW Operation Principles (Compile - Link - Upload Process)

  • Lecture 10: Tracking MCU SW Operation Principles (Booting and main code execution process)

  • Lecture 11: The Secret of Automatic Macro Substitution and Register Addresses (volatile)

Section 4. Setting Up the Hands-on Development Environment

  • Lecture 12: EV Board Introduction: Reasons for Selecting the NUCLEO-F446RE Board

  • Lecture 13: Setting up the development environment: STM32CubeMX hardware configuration automation tool

  • Lecture 14: Setting up the Development Environment: How to Use the STM32CubeIDE Integrated Development Environment

  • Lecture 15: Development Environment Setup: Building a Custom VSCode + CMake Build Environment (Optional/Advanced)

Section 5. Bare-Metal Practical Lab (HAL vs Register 1:1 Comparison)

  • Lecture 16: Bare-Metal Practice 1: GPIO LED Control (Using HAL Library)

  • Lecture 17: Bare-Metal Practice 2: Hardware Timer Delay (Using HAL TIM6)

  • Lecture 18: Bare-Metal Practice 3: Utilizing Timer Interrupts (HAL TIM6 IT)

  • Lecture 19: Bare-Metal Practice 4: UART PC Communication and printf Redirection (HAL USART2)

  • Lecture 20: Direct Register Control 1: Direct GPIO LED Control (BSRR Atomic Manipulation)

  • Lecture 21: Direct Register Control 2: Direct Timer Counter Control (TIM6 Polling Implementation)

  • Lecture 22: Direct Register Control 3: Direct Control of Interrupt Registers and NVIC

  • Lecture 23: Direct Register Control 4: UART Register Control and Baud Rate Formula Calculation

Section 6. VSCode Custom Build and Real-Time Operating System (RTOS)

  • Lecture 24: CMake Build and CLI Flashing Practice (VSCode Environment Setup and High-Speed Compilation)

  • Lecture 25: Introduction to RTOS (ThreadX) (Limitations of Bare-metal and the Birth of Real-Time OS)

  • Lecture 26: RTOS (ThreadX) Hands-on Code Implementation and Operating Principles (Multi-thread Implementation and Scheduling)

Section 7. Hardware Analysis for System SW Engineers

  • Lecture 27: How to Make a Board: PCB Design Basics and Hardware Debugging (How to Use Multimeters and Oscilloscopes)


The person who created this course

"Real know-how gained from rolling and crashing through everything from low-level HW to SW"

Hello, I am a current robotics developer at a global corporation. Over the years in the robot industry, I have experienced everything from the bottom of HW to embedded systems and the upper layers of SW.

This course is not an academic textbook filled with grand theories. I am creating this course to organize the know-how I have fiercely accumulated in the field, while also earning some side income along the way.

If you have any questions about the lecture, please feel free to leave a comment at any time. I will help you gain so much that you won't feel the cost of the lecture was a waste!

Do you have any questions?

  • Q. Can a complete beginner with no knowledge of the embedded field take this course?

    • A. Yes, it is designed so that anyone can follow along as long as you know the basic grammar of the C language (variables, basic pointers). Difficult registers or bitwise operations are explained kindly by showing manual diagrams and going through them bit by bit.

  • Q. How does this help with job interviews or actual work?

    • A. The type of applicant that interviewers find most disappointing is the one who "barely got things working by copying and pasting API functions." After completing this course, you will be able to confidently explain topics such as the reason for using the BSRR register (atomicity) and the principles of memory map address translation. This will leave a strong impression that "this applicant truly understands the essence of the chip."


  • Q. Is it necessary to have the practice board (NUCLEO-F446RE)?

    • A. The first half of the lecture consists of theory and principle explanations, while the second half involves hands-on practice downloading to an actual board. Although watching alone will greatly help you understand the flow, I strongly recommend purchasing a practice board for around 20,000 KRW to code by hand and see the lights turn on yourself!

Notes before taking the course

Practice Environment Guide

  • Computer: Since this is a concept-oriented lecture, it doesn't matter whether you use Windows, Mac, or Linux.

  • Required Equipment: 1 NUCLEO-F446RE development board (+ USB A-to-Mini B cable) (Easily available on the market, strongly recommended for hands-on learning)

Prerequisite Knowledge and Precautions

  • Prerequisite Knowledge:

    • Basic C language syntax (variables, conditional statements, loops, functions, and basic 1D array/pointer concepts)

    • A basic understanding of bitwise operators (&, |, ~, <<) will make it much easier to progress through the hands-on exercises. (The core concepts of bitwise operators will be reviewed again in Lecture 7.)

  • What you don't need to know:

    • You do not need any prior knowledge of complex electronic circuits, analog signal processing, or PCB manufacturing techniques. In the latter part of the course (Lesson 27), I will teach you only the core concepts tailored specifically for embedded SW developers, starting slowly from the very basics.

    • It is perfectly fine if you have no prior experience in microcontroller (MCU) development. Since we start with the fundamental differences between a CPU and an MCU, even non-majors or web/app developers can successfully complete the course.

Hands-on Example Source Code (GitHub)

The complete source code for every step of the hands-on practice in this course is publicly available on GitHub. Feel free to use it whenever you encounter build errors or need to compare behaviors while practicing!


Recommended for
these people

Who is this course right for?

  • Students and job seekers who want to find employment in the embedded software field but feel they lack the fundamentals.

  • A junior developer who felt frustrated about how the hardware actually works behind the library

  • A software engineer who wants to understand hardware and communicate perfectly with the circuit design department.

  • Those who want to master the industry-standard VSCode environment and the basic framework of a Real-Time Operating System (RTOS).

Need to know before starting?

  • Basic C language syntax (variables, conditional statements, loops, functions, and basic 1D array/pointer concepts)

Hello
This is jelly

Career Verified

Hello, I am a robotics developer currently working at a global corporation.

Having worked in the robotics industry for several years, I have experienced everything from the bottom-level hardware to embedded systems and high-level software.

 

I am organizing the know-how I have fiercely accumulated in the field, and

I am creating this course to share my knowledge and earn some side income at the same time.

 

If you have any questions about the lecture, please feel free to leave a comment at any time.

I will help you gain so much that you'll feel the cost of the lecture was well worth it!

More

Curriculum

All

29 lectures ∙ (1hr 47min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

Similar courses

Explore other courses in the same field!

Limited time deal ends in 3 days

$53,900.00

30%

$59.40