Exploring Open Source Hardware: The Arduino Revolution

We know that Google has always been a model in contributing open source code, with countless open source software projects under its umbrella. However, today we are not discussing open source software, but rather open source hardware—specifically, Arduino.

Open source software is easy to understand, but similarly, open source hardware also uses one or several licenses, opening up the design, circuits, and component standards of hardware products. The representative of this is Arduino.

Exploring Open Source Hardware: The Arduino Revolution

The history of Arduino’s birth【*1】 is not long; it has only been around for about 10 years as of this year. However, due to its simple design, rich interfaces, and easy expansion, this circuit board has quickly become popular among makers worldwide. Particularly, its programming language allows even those who have never programmed to easily get started, enabling artists to create unique electronic art products with it.

Exploring Open Source Hardware: The Arduino Revolution

Let’s discuss what fun things this small circuit board can do:

  • Rich Interfaces

The core of Arduino is actually the Atmel AVR microcontroller. A standard Arduino UNO device has 14 digital input/output pins (6 of which can be used as PWM [pulse signal] outputs), 6 analog inputs, a USB input interface, a power interface, etc. If it is the Arduino Mega version, the number of input and output interfaces will double. Additionally, due to its open hardware nature, anyone can redesign the circuit board to customize the input and output interfaces as needed, resulting in a wide variety of appearances for Arduino boards. Even the drone assembled at the last event had its core flight control powered by an Atmel 328p CPU, identical to the core of Arduino UNO.

Exploring Open Source Hardware: The Arduino Revolution

Various appearances of Arduino

  • Easy Programming

To compile a program that can run on Arduino, you only need to install the Arduino IDE on your PC and write the program using Arduino’s language, which is a Processing/Wiring development environment similar to Java and C. Once completed, just a click of the mouse will automatically compile the program and upload it to the Arduino development board connected to the programming computer. If it’s a simple circuit, you can see the results immediately.

Exploring Open Source Hardware: The Arduino Revolution

  • Low Cost

Thanks to the open source nature of hardware, Arduino has thousands of expansion components, sensors, etc., most of which are low-cost products. Moreover, there are already libraries written for each product. You can even use old parts from appliances around you as extensions for Arduino. For example, if you have an old TV remote control, you can remove the infrared emitting diode and plug it into Arduino, write a piece of code, and turn Arduino into a universal remote control for your home, capable of controlling your TV, air conditioning, and any device that requires infrared remote control.

Exploring Open Source Hardware: The Arduino Revolution

Exploring Open Source Hardware: The Arduino Revolution

After discussing so much, let’s do a practical operation

By utilizing all the components available around us, combined with our creativity, we can solve many small problems in our work and life. For example, my company’s designed product requires some simple stability testing. Since these hardware products operate in a relatively harsh environment, the circuit experiences some voltage fluctuations and interruptions. Since the mains power does not simulate such an environment, I used Arduino and relay components to create a simulated power interruption environment.

Exploring Open Source Hardware: The Arduino Revolution

As can be seen in the image, the right side shows a standard Arduino UNO, the middle is a relay【*2】 used to control high voltage circuits with low voltage circuits, connected to the Arduino UNO with three wires, two wires power the relay, and one wire controls the relay. The leftmost part is a regular power strip, where two disconnect control wires are connected to the normally open port of the relay.

Let’s take a look at the program

Exploring Open Source Hardware: The Arduino Revolution

As you can see, the comments provide a detailed explanation of a program that lights up and makes an LED blink. However, I only modified the timing parameters to control the relay’s opening and closing and the waiting time. It is important to note that the relay has two states: normally open and normally closed. These two states correspond to the high and low levels of the Arduino control pins. Initially, I connected the power to the normally open port, so the high and low levels of the Arduino control pins were opposite to those in the comments. If I had connected the power to the normally closed state, then the high and low level control pins would correspond correctly.

We can see that the program to make a small LED blink, excluding comments, is only a few lines long. Although it seems trivial, it effectively solves the testing issue I needed to address. Moreover, using Arduino is not just about writing code; it also requires hands-on operation, tightening screws, and even soldering circuits (I drilled holes next to the breadboard in the image and soldered out two leads while keeping the switch on the breadboard functional).

Therefore, when we embrace open source software, let us not forget that open source hardware has also contributed a lot behind the scenes. If you’re interested, you can follow our TianjinGDG activities, as we not only play with software but also with hardware. Exploring Open Source Hardware: The Arduino Revolution

Exploring Open Source Hardware: The Arduino Revolution

Further Reading

The History of Arduino:

https://zh.wikipedia.org/wiki/Arduino

What is a Relay:

https://zh.wikipedia.org/wiki/%E7%BB%A7%E7%94%B5%E5%99%A8

Exploring Open Source Hardware: The Arduino Revolution

Leave a Comment

×