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 some differences between microcontrollers and Arduino before using Arduino.
1
What is a Microcontroller?
A working computer consists of these parts:
  • 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 parts are divided into several chips installed on a printed circuit board known as the motherboard. In a microcontroller, all these parts are integrated into a single integrated circuit chip, hence it is called a microcontroller (single-chip machine). Moreover, some microcontrollers integrate other components such as Analog/Digital Conversion (A/D) and Digital/Analog Conversion (D/A).
2
What Can Microcontrollers Be Used For?
In practical work, not every situation requiring 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 offers a good performance-to-price ratio. If a refrigerator requires a Core processor for temperature control, the price would be astronomical.
Microcontrollers are typically used for control in industrial production and in everyday applications related to programming and control (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 providing similar functionalities. With all these tools, you do not need 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 superior advantages in many areas, making it particularly suitable for teachers, students, and hobbyists:

  • Affordable – Compared to other platforms, Arduino boards are quite affordable. The cheapest version of Arduino can be made by yourself, and even pre-assembled products will not exceed 200 yuan.

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

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

  • Open Source and Expandable Software – Arduino software is open source, allowing experienced programmers to expand 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 use AVR C programming language directly (since the Arduino language is actually based on AVR C). Similarly, if needed, you can directly add AVR-C code to your Arduino program.

  • Open Source and Expandable Hardware – Arduino boards are based on Atmel’s ATMEGA8 and ATMEGA168/328 microcontrollers. Arduino is based on Creative Commons licensing, allowing experienced circuit designers to design their own modules according to their needs, which can be expanded or improved. Even users with relatively little experience can understand how Arduino works by making experimental boards, saving money and effort.

Arduino is based on the AVR platform, which has recompiled and encapsulated the AVR library, packaging the ports, registers, address pointers, and so on, which greatly reduces the difficulty of software development and is suitable for non-professional enthusiasts. However, both advantages and disadvantages coexist; because it is a secondary compilation encapsulation, the code is not as refined as directly using AVR code, and the execution efficiency and code size are inferior to direct AVR compilation.

Source: Embedded Yu Xiang Garden

Warm Reminder:

Due to recent changes in the WeChat public platform push rules, many readers have reported not seeing updated articles in a timely manner. According to the latest rules, it is recommended to click “recommend reading, sharing, collecting,” etc., to become a regular reader.

Recommended Reading:

  • Qualcomm Provides a “Reassurance”: Continuing to Supply Huawei!

  • A Shenzhen Electronics Factory Entrance Exam on “Zhuangzi,” What Is the Purpose?

  • Embarrassing! Google’s ChatGPT Version Debuts with a Crash, Losing 717.2 Billion Overnight

Please click 【View】 to give the editor a leg up

Understanding the Differences Between Microcontrollers and Arduino

Leave a Comment

×