Understanding the Differences Between Microcontrollers and Arduino

The foundation of the Arduino platform is the AVR instruction set microcontroller, so it is necessary to understand the differences between microcontrollers and Arduino before using Arduino.

1
What is a Microcontroller?

A functioning computer consists of several components:

  • Central Processing Unit (CPU) (for computation and control)

  • Random Access Memory (RAM) (for data storage)

  • Read-Only Memory (ROM) (for program storage)

  • Input/Output Devices (I/O) (serial ports, parallel output ports, etc.)

In a personal computer (PC), these components are divided into several chips mounted on a printed circuit board called a motherboard. In a microcontroller, all these components are integrated into a single integrated circuit chip, hence it is called a microcontroller (single-chip). Some microcontrollers also integrate additional components such as analog-to-digital converters (A/D) and digital-to-analog converters (D/A).

2
What Can Microcontrollers Be Used For?

In practice, not every situation that requires a computer demands high performance. Does a computer controlling the temperature of a refrigerator need to use a Core processor? The key to application is whether it is sufficient and whether it has a good performance-to-price ratio. If a refrigerator needs to be controlled by a Core processor, then the price would be astronomical.

Microcontrollers are typically used for control in industrial production and in everyday applications related to programs and controls (e.g., electronic pianos, refrigerators, smart air conditioners, etc.).

3
Why Use Arduino?

Many microcontrollers and microcontroller platforms are suitable for designing interactive systems, such as Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard, and others that provide similar functionalities. With all these tools, you don’t have to worry about the tedious details of microcontroller programming; they provide you with an easy-to-use toolkit.

Arduino also simplifies the process of working with microcontrollers, but compared to other systems, Arduino has many advantages, especially for teachers, students, and hobbyists:

  • Affordable – Compared to other platforms, Arduino boards are quite inexpensive. The cheapest version of Arduino can be made by yourself, and even the assembled product does not exceed 200 yuan.

  • Cross-Platform – Arduino software can run on Windows, Macintosh OSX, and Linux operating systems. Most other microcontroller systems only run on Windows.

  • Simple Programming Environment – Beginners can easily learn to use the Arduino programming environment, while it also provides enough advanced applications for experienced users. For teachers, it is generally easy to use the Processing programming environment, so if students have learned to use Processing, they will find Arduino’s development environment very familiar.

  • Open Source Software and Extensible – The Arduino software is open source, allowing experienced programmers to extend it. The Arduino programming language can be extended through C++ libraries. If someone wants to understand the technical details, they can skip the Arduino language and directly use AVR C programming language (since Arduino language is actually based on AVR C). Similarly, if needed, you can also directly add AVR-C code to your Arduino program.

  • Open Source Hardware and Extensible – The Arduino board is based on Atmel’s ATMEGA8 and ATMEGA168/328 microcontrollers. Arduino is based on the Creative Commons license, so experienced circuit designers can design their own modules based on their needs, allowing for extensions or improvements. Even relatively inexperienced users can understand how Arduino works by making experimental boards, saving time and money.

Arduino is based on the AVR platform, which wraps the AVR library in a secondary compilation, packaging the ports, registers, address pointers, and other details that users do not need to worry about. This greatly reduces the difficulty of software development, making it suitable for non-professionals. However, there are both advantages and disadvantages, as the secondary compilation means that the code is not as refined as that written directly in AVR, and the execution efficiency and code size are inferior to that of directly compiled AVR code.

Understanding the Differences Between Microcontrollers and Arduino

END

Source: Embedded Yu Xiang Garden
Copyright belongs to the original author. If there is any infringement, please contact for deletion.
Recommended Reading
After reading these C language examples, you will definitely say 5 “Wow!”
A development tool that has been active for 17 years, so good it takes off~
What is the principle of the recently popular electronic oximeter? Is it accurate?

→ Follow for more updates ←

Leave a Comment

×