The Arduino is a remarkable device for electronic tinkering. Learn What is Arduino, what you can do with it, and how to get started.
If you're anything like us, you'd want to experiment with electronics—at least in principle. Maybe you like disassembling damaged electronics but never do anything with the components you discover other than save them for a rainy day (a drawer full of microwave parts? Check!). But who has the time to master such a difficult subject?
The solution to all of that is Arduino, an open-source microcontroller board that makes learning electronics enjoyable and simple. And the hardware you need to get started costs less than $5.
What Is Arduino?
A brand, a piece of hardware, a programming language, and a full ecosystem of products are all parts of what Arduino is. Nevertheless, in general, we're talking about an open-source electronics prototyping platform when we talk about Arduino. What does it mean, though?
An Arduino is a little computer that you can program to do tasks, to put it simply. It can acquire data from the world by attaching sensors as inputs, process that information in some way, then offer outputs in the form of motors, Lights, or buzzers.
The Arduino Uno
The Uno model is the most widely used Arduino microcontroller board. This is partly because it was one of the earliest, therefore it gained widespread popularity before subsequent designs were made.
The shape and placement of the input and output pins serve as the technical definition of the Arduino Uno. Anything in between that may vary, so you'll find several versions of the Arduino Uno out there, but they still all perform the same thing and run the same code.
A logic processor called an ATmega328P or 168 serves as the Uno model's brain. Your code is stored and executed by this.
There are 14 digital input/output pin sockets on the top of the circuit (to the left of the USB connection). In your code, you tell the Arduino whether to use a certain pin as input or output; they may be either, but not at the same time. Being digital, they may either read or produce a signal of zero or one (sometimes termed low or high). A low signal is 0 volts and a high signal is 5 volts since the Arduino operates at 5 volts. There isn't a middle ground.
There are five analog input pins in the bottom right corner. Unlike the digital I/O pins, they are input-only and can work with sensors that have a variable voltage from 0 to 5 volts. can work with sensors that have a variable voltage from 0-5V. They transform that variable voltage into a number from 1 to 1024. A light-dependent resistor (LDR), which changes how much voltage is allowed to flow through based on the current light level, is one kind of analog sensor. You should check whether your sensor is analog or digital before connecting it.
A row of power pins is located on the bottom left. Most of the time, you'll just power sensors and other smaller output devices using the +5V and GND (ground or 0V) pins. It's crucial to power things externally if you're attaching more powerful motors or a string of LEDs and not try to draw all the power from your Arduino.
In the best-case scenario, the Arduino, which is cheap to repair, might be damaged. At worst, if it's connected by USB, you may damage your computer's USB port.
The Arduino Uno Ecosystem
We noted that it was partly the shape of the board and pins that characterized an Arduino Uno. So why is this such a big deal? Firstly, there is the idea of “shields”. These are upgrades you can stack on top of the Arduino to expand functionality. This might be your own custom-designed circuit board or one that you've purchased, such as an LCD screen.
Second, since Uno is a standard shape, there is a wide variety of covers available, both ready-made and 3D printable designs that you can download and print at home, or even modify yourself.
It's Open-Source Hardware
You've probably heard of open-source software. That's simple: anybody can look at the code and fix it, or even create their own version of it. The same is true for Arduino hardware. It means anybody may duplicate the Arduino, modify it, brand it, and sell it. This is not a crime. In reality, Arduino was built on the shoulders of previous open-source initiatives. For example, the Arduino development software is built on Wiring, which is built on the Processing programming language!
The only restriction is that you aren't allowed to refer to it as an actual “Arduino” device since that name is a trademark. You may, however, claim that it's “Arduino-compatible”.
Why would you purchase a “fake” Arduino, however, if the hardware is identical? Although a genuine board might cost over $20 at retail, clones with the same functionality can be found for less than $5. Even better, you may create your own entirely from scratch by purchasing each component separately.
Nevertheless, rather than doing it to save money, you should only do it if you want to learn more about what exactly is on an Arduino circuit board. The finished product isn't as sleek and isn't much cheaper.
Several manufacturers make Arduino-compatible boards that are the same but only slightly cheaper. Some upgrade the original boards' functionality. They could be in a unique shape tailored for a specific use, add some extra connections, perhaps have an LED matrix display built-in, or have integrated Wi-Fi.
For example, the Lilypad is a development board compatible with Arduino that is intended for wearable projects and conductive threads.
Read More: An Arduino Bootloader Installation Guide
The NodeMCU, seen in the illustration below, is one of our preferred Arduino-compatible boards. We dubbed it the Arduino killer because we love it so much. It is small, comes with built-in Wi-Fi, and costs as low as $3. For small internet-of-things and home automation projects, it is ideal.
The Teensy family of development boards, on the other hand, has far more processing power than Arduino boards while maintaining a much smaller form factor, making them ideal for small projects that need powerful processing at their core.
What's So Special About Arduino, Then?
A programmable logic controller is at the heart of an Arduino. These are not new ideas; they existed for decades before Arduino. For more information, check our guide on programmable logic controllers.
Nonetheless, the world of PLCs is relatively mysterious. Arduino made it simple. It combined an easy-to-use piece of hardware, reminiscent of the electronics kits we grew up with, with an approachable high-level programming environment, removing the need to learn the dark art of machine code.
Arduino quickly gathered a worldwide community of users who wrote tutorials, shared code, and shared their expertise. Electrical engineering graduates no longer had exclusive access to complex electronic prototypes.
Arduino has made complex programmable electronic hardware projects accessible to anybody, allowing artists and creative types to focus on making their ideas a reality. It's the ultimate tinkering tool—a revolution for hardware designers worldwide.
Should You Buy an Arduino Starter Kit?
We said that a simple Arduino Uno clone board can be purchased for as cheap as $5, but there isn't much you can do with the Arduino on its own. Indeed, it features a built-in LED that can provide hours of fun by flashing in various patterns. Nevertheless, to create really enjoyable projects, you will want additional components like sensors, motors, and multicolored LEDs. Next, you'll need some jumper wires to connect those bits, and maybe a breadboard to put them all on; check our guide to what a breadboard is and how it works for more information.
This is when an Arduino Starter Kit comes into play. But which should I get? The Grove Beginning Kit (see our review), which costs less than $50, is our current favorite.
It's an ingenious all-in-one board that comes pre-wired with sensors, lights, a buzzer, and even an OLED screen. The board in the middle is Arduino-compatible but has 12 Grove connectors. The Grove system makes it simple to connect components with a single connection without needing to use a breadboard or dozens of untidy jumper cables.
The truly remarkable aspect of the Grove Beginner Kit is that once you've moved on from the all-in-one board design and want to start prototyping actual devices, you can simply snap away the entire board and components, switching to the Grove system cables (or pin cables into the standard pin holes) instead. It's a very adaptable system for getting started with Arduino programming.
What Language Is Arduino?
The Arduino language is an extension of C/C++. This means that Arduino has built a set of functions and features on top of the standard C++ language while still adhering to the same fundamental rules and conventions.
You don't need to already know C or C++ to develop with Arduino. A little foundation in any other form of programming may assist, but it isn't required either. You may get started merely by loading simple sample programs and trying to modify them. Then switch pins to various sensors or other outputs. Lastly, try to read and modify increasingly complex programs, and soon you'll be putting together original projects. You could even have ChatGPT debug or explain the code for you.
These are a few key concepts that define how an Arduino program is written:
- You must have at least a setup() and loop() function defined.
- setup() runs just once the first time the Arduino gadget is powered up or reset. This function may be used to set a variable's initial state, instruct the Arduino as to which hardware pins should do specific functions, or launch the libraries required for different sensors.
- loop() runs without stopping. After the loop() function's whole code has run, it returns to the beginning and repeats the process. Your core program code, which includes steps like verifying a sensor variable and taking action on it, goes here.
- You may create your own helper functions to package together code snippets. These may take in any number of variables and output a variable in return. The function is labeled as void if there is no variable returned. This is true of the void setup() and void loop().
- To enhance your application's functionality or to assist while using certain sensors, you may import other Arduino libraries.
- Even at the end of a line of existing code, you may add comments by prefixing them with a double slash /. You can even add several lines of comments by prefixing them with /* and ending them with */.
A revolution in open-source hardware may have begun with Arduino, and its significance to the history of computers cannot be understated. Moreover, it still has relevance today.
Arduino is simple to use, and a wide variety of projects can be made with it, many of which are appropriate for beginners.