Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

In the previous article “Getting Started with Arduino 1: The Past and Present of Arduino”, we briefly introduced the background and current status of Arduino. In this article, we will specifically familiarize ourselves with the composition of the Arduino system and how to choose a suitable Arduino development board.

What is a Microcontroller

Before understanding Arduino, it is necessary to seriously educate ourselves about the concept of “microcontroller”.

Microcontroller

The full name is Single-Chip Microcomputer, also known as Microcontroller, which integrates the central processing unit, memory, timer/counter, various input/output interfaces, and more into a single integrated circuit chip. Compared to general-purpose microprocessors used in personal computers, it emphasizes self-sufficiency (no external hardware required) and cost savings. Its greatest advantage is its small size, which can be placed inside instruments, but it has a small storage capacity, simple input/output interfaces, and lower functionality. Due to its rapid development, the definition of older microcontrollers can no longer meet the needs, so in many applications, it is referred to as the broader term microcontroller; since single-chip microcomputers are often used as controllers, they are also called single-chip microcontrollers. However, in mainland China, the term “microcontroller” is still widely used.

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

The vast majority of current microcontrollers are based on the von Neumann architecture, which clearly defines the four basic components necessary for embedded systems: a central processing unit core, program memory (ROM or flash memory), data memory (RAM), one or more timers/counters, and input/output ports for communication with peripheral devices and expansion resources—all of which are integrated into a single integrated circuit chip.

Microcontroller clock frequencies are usually lower than contemporary computer chips, but they are inexpensive and can provide ample program memory and a rich set of on-chip interfaces. Certain architectures have many manufacturers, such as the 8051 series and Z80 series. Some modern microcontrollers support built-in high-level programming languages like BASIC, C, C++, etc.

Difference from CPU

The CPU is a computational processor, mainly responsible for calculations and data processing. A microcontroller includes a computation unit, storage unit, and input/output unit. A microcontroller is a type of microprocessor that can execute certain functions. However, the CPU also requires a motherboard, memory, hard disk, and other peripherals.

Bit Width of Microcontrollers

According to the width of the bus or data register, microcontrollers are divided into 4-bit, 8-bit, 16-bit, and 32-bit microcontrollers. 4-bit microcontrollers are commonly used in household appliances such as refrigerators, washing machines, and microwaves; 8-bit and 16-bit microcontrollers are mainly used in general control fields and typically do not use operating systems; 32-bit microcontrollers are used in network operations, multimedia processing, and other complex processing scenarios, generally requiring embedded operating systems.

Common Microcontrollers

Microchip’s PIC series is a leader in industry shipments; Atmel’s 51 series and AVR series are diverse and widely supported, with Arduino based on Atmel’s AVR series; Texas Instruments’ MSP430 series is known for low power consumption and is often used in medical electronics and instruments; Renesas microcontrollers are widely used in Japan. Other brands include Intel, Freescale Semiconductor, NEC, NXP, etc.

Types of Control Systems

A microcontroller is often just a chip, but many control system products have been derived from microcontrollers, which can be mainly divided into four categories:

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

Image of the four types of control systems

I/O Boards

For example, PicoBoard, Phidget. Although these devices cannot be directly programmed, you can control their inputs and outputs through desktop programming environments (like Scratch, Processing, or Flash). They cannot work once disconnected from the computer. So if you are familiar with desktop programming, this is a suitable starting point.

Programmable Modules

For example, Arduino, BASIC Stamp. These devices can operate independently of the computer once programmed. Like I/O boards, programmable modules have many electronic components: communication, power management, connectors. They require you to learn more than I/O boards, but you can create smarter devices that do not rely on a computer. Although they are more expensive than bare chips, they are more convenient. For most people, starting to learn at this level is best.

Bare Chip Processors

For example, Propeller, PICAXE. They are like the intestines of other types of microcontrollers. You must handle all supporting circuits and connections yourself, but they are relatively cheaper. Generally, they also require additional programming modules, so they are more suitable for experienced hobbyists.

Single Board Computers

Experienced programmers will be excited about boards like Beagle Board and Raspberry Pi. The author does not recommend beginners without programming basics to start with them. Compared to simple controllers, they are more difficult to interact with hardware. Experienced programmers prefer to stay at the software level rather than operate circuits. For programming beginners, jumping directly into the Linux command line can be quite challenging.

Hardware Composition of Arduino Development Boards

After understanding the above concepts, it becomes relatively easy to understand the hardware composition of Arduino development boards. As shown in the figure, Arduino is a typical programmable module, and most versions of Arduino development boards are based on Atmel’s AVR series microcontroller, integrating some power management, serial communication, and basic supporting circuits.

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

Image explaining the hardware composition of Arduino

The differences between different versions of Arduino can be summarized as variations in the chip model used for the AVR microcontroller, the integration of different special communication function modules, or the omission of power modules and some supporting circuits to save space. If you are interested in the specific differences and functional distinctions between different versions, please refer to “Choosing the Right Version of Arduino”.

How to Program Arduino

A major feature that distinguishes Arduino development boards from I/O boards is programmability, meaning the specific functions of the Arduino microcontroller can be changed repeatedly. Arduino provides a simplified programming environment (called Arduino IDE) and programming language specifically for Arduino, which you can install on your computer. Once you have written a specific program, you can upload or “burn” the compiled program into the storage unit of the Arduino microcontroller via USB serial. Once the program is successfully uploaded, Arduino can operate independently of the computer.

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

Image of Arduino connected to the computer via USB

The Arduino IDE also provides simple debugging functions, which we will explain in detail in the next tutorial.

Arduino’s Expansion Modules

In summary, the Arduino development board is just the core control module that can be programmed, like the human brain; it cannot complete an action alone and requires the cooperation of sensors like eyes, nose, ears and actuators like hands and feet. There are countless expansion modules customized for Arduino on the market: common sensor modules include temperature sensors, humidity sensors, light sensors, pressure sensors, etc.; common actuator modules include servo motors, buzzers, LEDs, etc.

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

Image of some Arduino expansion modules

Arduino development boards typically provide enough digital/analog input/output interfaces (PINs) to connect these expansion modules. Therefore, a significant part of the process of learning to use Arduino involves selecting suitable expansion modules for projects, correctly connecting them to the Arduino development board, writing the correct driver program using Arduino IDE, and then continuously debugging until success is achieved.

Choosing the Right Arduino Board for You

So, how do you choose a suitable Arduino development board? The author believes there are two main aspects to consider:

Specific Project Requirements

Visiting the Arduino official website’s product catalog, you will find a dazzling array of Arduino hardware versions, ranging from the tiny AtTiny85 to the powerful Arduino Due, each with its unique features, different sizes, and computing capabilities: if your project is wearable, LilyPad is generally recommended because it has pads suitable for sewing; if you want to work on an IoT-related project, MKR1000 and WiFi Shield 101 are what you need, as they both have built-in WiFi modules with inherent networking capabilities… Of course, there are no absolute rules for beginners to follow, and you can only slowly explore different development boards, accumulating enough experience to understand their unique advantages and disadvantages, and then naturally know which Arduino to use in which circumstances.

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

Image of common Arduino versions

If you do not have a clear project requirement or just want to learn Arduino first, choosing the Arduino UNO is unlikely to be wrong. UNO is currently the most popular and mainstream version.

Hardware Manufacturers

Arduino is open-source hardware, meaning that all hardware design source files are open-source. Any organization or individual can manufacture and sell Arduino under its open-source license, so you can find versions with vastly different prices on platforms like Taobao, and there are no counterfeit Arduinos, only differences in materials and quality. Our first recommendation is, of course, products from officially designated/collaborating hardware manufacturers. Currently, the official product in the US is Arduino, while in other countries, it is Genuino. Genuino’s partner in China is Seeed Technology from Shenzhen.

If you are purchasing an Arduino for the first time, the author suggests you buy a starter kit, which includes the Arduino development board along with some common sensors, actuators, and data cables; simply buying a development board may not be sufficient to get started.

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

Image of Arduino/Genuino starter kit, reproduced from arudino.cc

Getting Started with Arduino: Understanding and Selecting Arduino Development Boards

Leave a Comment

Your email address will not be published. Required fields are marked *