The Essence of Embedded Systems - Fundamentals (Embedded Systems Essentials)
An introductory course that lets you experience the entire embedded development process at once—from installing Linux to controlling a robot When you want to get started with embedded systems, it can be overwhelming to know where to begin. This course is designed for those people to experience the entire process at once, starting with a single PC and ending with making a robot move. It covers everything from Linux installation and basic configuration, and preparing a Raspberry Pi, to reading circuit diagrams and datasheets, and practicing basic communication interfaces. Rather than focusing on depth, it focuses on understanding the overall structure.
108 learners
Level Basic
Course period Unlimited


News
14 articles
Hello.
This is Heochoo Dad from Coding Beginners Rescue.
We have updated the information regarding the RC522 RFID module in the list of required materials.RFID cards are not included with RC522 module products that have already been soldered,
so we have added a separate RFID card purchase link to the list of materials for those who selected this product.
If you have already purchased the RC522 module but do not have an RFID card, please prepare the card from the added link as well
so that you can proceed with the course exercises.I will continue updating the confirmed information regarding the required materials to avoid any confusion.
Thank you.
Best regards,
The Coding Rescue TeamHello.
This is Huchu’s dad from Coding Beginner Rescue.On the latest Raspberry Pi OS,
pigpiodis not installed by default, so you may see the following message while doing the PWM exercises in the course.
$ sudo systemctl status pigpiod
Unit pigpiod.service could not be found.Since the PWM exercise uses the
pigpiolibrary, please install and runpigpiodin the following order.
$ sudo apt update
$ sudo apt install -y git build-essential
$ git clone https://github.com/joan2937/pigpio.git
$ cd pigpio
$ make
$ sudo make install
$ sudo ldconfigAfter installation, run
pigpiodwith the command below.
$ sudo pigpiodYou can check whether it is running properly with the command below.
$ pgrep pigpiod
If a number is displayed, it is running normally.
You can then run the PWM practice code as shown in the lecture.
If the same issue occurs during the practice, please leave a post on the Q&A board, and we will assist you.Thank you.
Sincerely, the Coding Beginners Rescue TeamHello.
This is Heochoo Dad from Korini Rescue.The raspi-gpio tool used when the course was recorded is no longer maintained.
Therefore, on the latest Raspberry Pi OS, you should use the successor tool, pinctrl.The command shown below in the lecture is
$ raspi-gpio get 0
Please run it as follows in the current environment.
$ pinctrl get 0The basic get/set commands used in the course
can be followed in the same way by replacing raspi-gpio with pinctrl.Thank you.
Sincerely, the Coding Beginner Rescue TeamHello.
This is Huchu's dad from Korini Rescue Team.If you have learned the overall flow of embedded systems in the Fundamentals course,
you can now continue with the Firmware course, where you implement those concepts using real STM32 hardware and C code.
In the Firmware course, you will implement GPIO, UART, PWM, I2C, ADC, and Timer yourself, and finally work on a project that integrates each function into a single firmware system.Early-bird discounts are currently available for the Firmware section, and
even after the early-bird period ends, you can take both the Fundamentals and Firmware sections at a 30% discount through the “The Essence of Embedded Systems” roadmap.
If you are still studying the Fundamentals section, there is no need to rush. Once you have fully mastered the Fundamentals section, you can naturally move on to the next step.If you know anyone who wants to study embedded systems or firmware development, we would appreciate it if you could also introduce them to the “The Essence of Embedded Systems” Roadmap.
If you have any questions while taking the course, please feel free to leave them below.
Thank you.
Sincerely, Corini Structure Rescue TeamHello,
I'm Pepper's Dad from the Newbie Coder Rescue Team.The second course following "The Essence of Embedded Systems - Basic,"
"The Essence of Embedded Systems - Firmware," has been released.To celebrate the release of the Firmware Edition, the Basic Edition is also available at a 25% discount during the early bird period.
Additionally, as a token of appreciation for existing students of the Basic Edition, we have separately provided a 40% discount coupon for the Firmware Edition.Understand the principles of embedded systems in the Basic course,
and implement them yourself using STM32 in the Firmware course.
We ask for your interest and help in promoting the lectures. :)Thank you.
From the Corini Rescue TeamHello.
I'm Pepper's Dad from the Coding Newbie Rescue Squad.When you start studying embedded systems, it might feel like you need to understand the datasheets of sensors or modules from start to finish.
However, in the practice stage, it is sufficient to approach it by looking for the necessary information first.
For example, if you are connecting a new sensor, try checking the following items first.Operating voltage
Pin configuration
Communication method
Device address
Initial configuration values
How to read data
For an I2C sensor, you would check the address and key registers first, and for a PWM device, you would look for the period and pulse width first.
If you try to understand every page from the beginning, you are more likely to miss important details.
It is much more efficient to find the information needed for practice first, verify the operation, and then gradually expand on related content.Even in the basic course, if you compare the datasheet and example code when connecting each device, you can learn much more than just typing along with the code.
If you have any questions while taking the course, please feel free to ask at any time.Thank you.
Best regards, Corini Rescue TeamHello.
I am Pepper's Dad from Coding Rescue.Recently, I have been focusing on producing the STM32 Firmware Edition, which is the follow-up course to the Basic Edition.
Currently, I am implementing all the hands-on exercises for GPIO, UART, PWM, I2C, ADC, and Timers, and structuring the course so that you can verify the actual waveforms of each peripheral's operation using a logic analyzer.Rather than simply explaining how to use HAL APIs, the goal is to directly implement a common / bsp / devices / app structure to learn code structures that can be used in practice.
It will take a bit more time until the lecture is released, but I am preparing to present it with high-quality content.If you have any questions or get stuck while taking the basic course, please feel free to leave a question at any time.
I will respond as quickly as possible. :)Thank you.
Best regards, Corini Rescue TeamHello.
I'm Pepper Dad from the Coding Newbie Rescue Team.Thank you to everyone currently taking the basic course. Even if you haven't started yet or have paused halfway through, please don't feel pressured and follow along at your own pace.
If you get stuck on environment setup, circuit connections, sensor/motor operation, or code execution, please feel free to leave a question at any time. I will check and respond as quickly as possible.Currently, I am preparing the STM32-based Firmware Edition, which will follow the Basic Edition. It is being structured with a focus on hands-on practice, covering everything from CubeMX configuration to GPIO, UART, PWM, I2C, and SPI control, as well as software structuring and logic analyzer verification.
This Firmware Edition serves as a foundational course for expanding into RTOS, Embedded Linux, and On-device AI and Physical AI systems in the future. I will share more news once the preparations have progressed further.Thank you.
Sincerely, Corini Rescue Team

