Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

Click the blue text to follow us

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

Today, let’s talk about how to get started with embedded system development.

First, what is an embedded system?

Application-centered, based on computer technology, software and hardware can be tailored, suitable for dedicated computer systems with strict requirements for functionality, reliability, cost, size, and power consumption.The most common embedded systems are microcontroller (MCU) systems, which include the well-known 51 microcontroller and STM32 microcontroller.

Secondly, what can we do by learning embedded systems?

Embedded system development is an important skill in course design, graduation projects, and academic competitions, and it is also a solid foundation for innovation, entrepreneurship, and project development.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

How to Get Started with Embedded Systems?

A personal recommended learning path for embedded system development:

Basic knowledge learning -> 51 microcontroller development -> STM32 microcontroller development -> RTOS system development -> Embedded Linux development

Below, I will mainly introduce how to get started with microcontroller software development for beginners with no background.

Basic Knowledge Learning

As Laozi said, “The tree that covers the sky grows from a small sprout; the nine-story platform rises from a pile of earth; a journey of a thousand miles begins with a single step,” the importance of theoretical foundation is self-evident. Embedded system development is roughly divided into hardware and software parts.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners
Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

Feiling Development Board

Hardware Part

Hardware refers to the physical components of embedded devices, including processors, memory, peripheral interfaces, sensors, actuators, etc. Hardware design involves selecting appropriate components and interfaces, circuit design, layout, and manufacturing. It is generally presented as a PCB circuit board, and beginners can use breadboards or purchase finished products.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

Software Part

Software refers to the program code that runs in embedded systems, used to control and manage hardware. Software development includes writing applications, drivers, and operating systems (such as real-time operating systems) for embedded systems to achieve the required functions and tasks. Beginners can learn the use of basic functions on bare-metal examples.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners
Getting Started with Embedded System Development: A Guide for Microcontroller Beginners
Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

STM32Cube Ecosystem

Basic hardware knowledge mainly involves circuit analysis fundamentals, analog circuit fundamentals, digital circuit fundamentals, commonly used components, and simulation tools. Software basic knowledge mainly involves C language fundamentals, data structures, and basic communication technology. Finally, there is the computer composition principle that involves both software and hardware.

The above basic knowledge is not required to be “mastered” before starting embedded development; learning basic knowledge is a gradual process. “It takes three feet of ice to freeze, not in one day,” beginners only need to learn a rough outline and will consolidate it in practice later, experiencing the enjoyment of “initially narrow, then open up after walking dozens of steps”.

One important learning method is practice-oriented method.In most cases, our time and energy are limited, and there is no need to fully understand the principles; after a superficial familiarity, we can directly practice to consolidate knowledge.

51 Microcontroller Development

After a superficial familiarity with the basic knowledge, I recommend the “outdated” 51 microcontroller, which has very rich and sound learning resources. Its register-based development method allows beginners to systematically understand microcontrollers. Compared to mainstream microcontrollers like STM32, the internal structure is relatively simple, making it easier to get started, and the development board is cheaper.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

51 Microcontroller Chip

Recommended materials include the Universal 51 Microcontroller and Guo Tianxiang’s 51 Microcontroller Tutorial. The learning path roughly includes: In software, mainly understanding the microcontroller, familiarizing with programming and data operations, lighting up an LED, key detection, serial communication, timers, interrupts, ADC, etc.;In hardware, mainly understanding basic module circuits, clock circuits, being able to read circuit diagrams, and trying to draw the minimum system circuit diagram and PCB.

“If the accumulation of water is not thick, then it cannot carry a big boat,” it is crucial to solidify the foundation of embedded systems through learning the 51 microcontroller.

STM32 Microcontroller Development

STM32 is a more complex 32-bit microcontroller architecture, with stronger computing power, more peripherals, and interfaces, capable of handling more complex tasks and applications.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

STM32 Microcontroller Chip

Its commonly used development methods include register development, standard library development, and HAL library development. Given the inefficiency of register development and the outdated nature of standard library development, it is recommended to learn HAL library development, but one must still understand the fundamental register development. “Without the Dao, one can seek techniques; with techniques but no Dao, one is limited to techniques,” one cannot be ignorant of the underlying principles.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

Comparison of STM32 Development Methods

Recommended materials include the ZhiDian Atom and Wildfire’s STM32F103 or STM32F407 development boards, which come with complete and detailed learning documentation and video tutorials, making them very suitable for beginners. The learning content roughly includes: GPIO input/output operations under complex architectures, interrupt management, UART communication, IIC communication, SPI communication, DMA transmission, bus architecture, clock architecture, and the use of complex peripherals (LCD screens, IMU, servos, motors, WIFI modules, etc.).

With this knowledge, one can design small projects like balance cars and smart homes.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners
Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

To summarize, I recommend a practice-oriented approach to learning. First, learn the basic knowledge, but do not seek to master it all at once. Secondly, refer to video tutorials and consult materials to learn about the 51 microcontroller, understanding its basic functions and principles. Then, refer to video tutorials and broadly consult materials to learn about the more complex STM32 architecture and the use of external devices. Finally, design a project based on the microcontroller to test and consolidate your microcontroller knowledge.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

THE END

Doing every little thing to perfection is an attitude.

Automated News Promotion Center

Striving to present each issue’s work as a quality product for you.

Getting Started with Embedded System Development: A Guide for Microcontroller Beginners
Getting Started with Embedded System Development: A Guide for Microcontroller Beginners

Copywriter|Guo Tianci Editor|Guo Tianci

Review|Gu Xuanyuan

Leave a Comment

×