What is Arduino?

Are you thinking about using Arduino in your project, but not sure if it’s right for you? Have you ever wondered why Arduino is so popular? Are you just wondering “What IS Arduino anyway!?”

Have you heard about this thing called Arduino lately? Maybe you’ve seen some projects that use an Arduino?

Arduino sub sandwich

What is this Arduino thing anyway? Sounds like a sub sandwich.

In this video, we’re going to use plain language to tell you exactly what an Arduino is.

You will learn

  • What exactly an Arduino is
  • Why it’s so wildly popular
  • If Arduino is right for your project

What it is exactly

The best way to explain what an Arduino is will be to start with what you can use it for.

Put simply, an Arduino is a tool for controlling electronics. Think about a pencil. A pencil is a tool to help you write stuff.

You need to write something down so you could grab a pencil. Same idea with Arduino. But Arduino is a tool for controlling electronics.

Arduino pencil

If you need to control some electronic stuff, hey, grab an Arduino. But what do we mean by electronic stuff?

Well let’s define two general groups of “electronics stuff”. We’ve got inputs, and those would be electronic devices that gather information.

Programming Electronics Academy members, use the coding challenges in the Bread and Butter: I/O section of the Arduino Course for Absolute Beginners to drive home these basic coding skills.

Not a member yet?  Sign up here.

We also have outputs, those would be electronic devices that do things.

Arduino inputs

For inputs, you can think of all the types of sensors out there: temperature sensors, light sensors, touch sensors, flex sensors, humidity sensors, infrared sensors, distance sensors, to name a few.You can think of those sensors as input devices, and those types of sensors can be read by an Arduino board.

Arduino OUTPUTS

Now outputs would be things like DC motors, stepper motors, servo motors, solenoids, LCD displays, LED indicator lights, speakers, and electrical stuff that have some type of action in the world.So Arduino can be used to read inputs and control outputs. That’s kind of what Arduino can do, but how does Arduino work?

So when we talk about Arduinos we’re really talking about three things: Arduino Hardware, Arduino IDE, and Arduino Code.

Arduino 3 concept

Arduino Hardware

First, we have the physical component of Arduino which are Arduino boards. There’s a bunch of different types of Arduino boards. When someone says Arduino board, it could mean a number of different boards.

Arduino UNO board

A very popular Arduino board is called the Arduino UNO.All Arduino boards share one thing in common: they all have a microcontroller on them. A microcontroller is basically a really small computer.

So when you learn to use Arduino, you’re learning to use a microcontroller. The microcontroller is what enables us to read those different inputs, and control those different outputs.

When someone says Arduino board, they’re talking about something physical. It’s a printed circuit board, and it’s got some electrical components on it.

Programming Electronics Academy members, check out the Familiarization section of the Arduino Course for Absolute Beginners to learn about all the stuff on an Arduino board.

Not a member yet?  Sign up here.

Arduino Software

The Arduino is more than just hardware, however, it’s also software.

There’s this thing called the Arduino IDE (Integrated Development Environment). This is a software application that you download onto your computer, and then you use it to program the Arduino boards.

Arduino IDE

It’s completely free software, and it’s pretty easy to use. It looks a lot like a text editor. The Arduino IDE is where you write your code that actually gets loaded onto the Arduino board itself.

Arduino Code

The third part of this Arduino trifecta is the Arduino code. The code that you write inside the Arduino IDE is ultimately what gets loaded onto the microcontroller that’s on these Arduino boards.

The Arduino code that you write is called a sketch. The Arduino code itself is basically a derivative of the C and C++  programming languages, but with some Arduino-specific functions and structure.

So if you program an Arduino, you’re basically programming in C and C ++ programming languages.

So those are the three components that basically make up what”Arduino is”, and roughly what it does.

Arduino microcontroller manual

Recall that we said the key component of an Arduino board is the microcontroller. Now traditionally, microcontrollers are pretty complicated to use. The user manual for one is easily over 300 pages long, and it’s filled with tons of technical jargon.What the creators of Arduino did was make using microcontrollers as easy as possible. So instead of just electrical engineers and computer scientists using microcontrollers, now pretty much anybody can get their hands dirty on them, and start building stuff.

So how did they make microcontrollers easy to use?

Let’s go back to that Arduino trifecta.

Arduino USB connection

First, the Arduino board itself is designed for ease of use. You can connect it to your computer with a simple USB cable, not like some specialized cable that it would normally take to connect a microcontroller.Connecting electrical components to the microcontroller is also very easy with an Arduino board. Because they have these plastic holes around the perimeter of the board.

Arduino headers
Arduino battery jack

They’re called headers, and to connect an electrical component to the microcontroller, you just stick the component inside the holes it’s literally that easy.And our Arduino also has a built-in external power jack, so when it’s not hooked up to the computer it can still be powered by a battery pack.So that’s why the hardware side is easy, but the Arduino IDE is also designed for ease of use. There’s a lot of integrated development environments out there, but the Arduino IDE is built with simplicity in mind.

Arduino upload button

There’s no bells and whistles that get in your way, it’s really just a basic window where you type code. And to upload the code that you’ve written in the Arduino IDE, you simply press a button and it uploads.Finally, the Arduino code itself has functions specifically for things like reading inputs and controlling outputs. If you were to directly program a microcontroller, you’d find yourself constantly referencing the user manual for highly specific information on controlling different things.

Arduino code reference

The Arduino language has significantly reduced that complexity by creating simple programming functions for you to use.In addition there’s many Arduino code libraries that you can install and use, and these libraries simplify the use of all different types of components from interacting with different sensors, to controlling tons of different outputs.

So the Arduino hardware is easy, the Arduino IDE is simple, and the code itself is much easier to comprehend (than trying to program an off-the-shelf microcontroller). That’s a big part of why Arduino is so popular.

Another reason Arduino is so popular is because there are many people using it which means there’s a lot of examples out there to work with.

Arduino Open Source Hardware

Additionally, the Arduino board itself is open source hardware. That means while there is a company named Arduino that makes Arduino boards and supports the Arduino IDE, there are also lots of other companies that make Arduino compatible boards that can also be programmed in the Arduino IDE.There’s a huge hardware and code ecosystem for you to work with.

Finally, Arduino hardware is generally pretty inexpensive, and that helps keep it popular as well.

Is Arduino right for your project?

So here’s a good rule of thumb: does your project have an input, an output, and do you require some simple logic between the two? For example, maybe you have a temperature sensor (input) and if the reading of the temperature sensor is above a certain threshold (logic), you want to turn on a cooling fan (output).

You can also have multiple inputs and outputs. For example, we could have something like “if the temperature is in this range, and the time is this, and the sun isn’t shining, then you want to turn on a light switch on the radio, and move that lever back to its original position”.

Arduino multiple inputs and outputs

So if your project follows this basic idea, that you have inputs and outputs and you need to control them, then yes, Arduino is probably going to be a good fit.Now we mentioned that Arduino uses a microcontroller. A microcontroller is like a small computer. So if your project involves using huge input streams like video recording or big computations, then Arduino is probably not the right match for it.

Could you potentially use an Arduino for these type of applications? Maybe, but there’s better suited technologies for things like that.

We really hope your wheels are turning now, and you’re excited about what you can do with Arduino.

If you are then you’re definitely going to want to watch this next video where we highlight 11 awesome Arduino projects. This will give you a great idea of what Arduino is capable of. If you want to watch the next video, click here.

Please let us know what you want to build with Arduino in the comments below, we’d love to hear what you’re thinking about.

installing Arduino libraries

Installing Arduino Libraries | Beginners Guide

IoT sewage project

Pumping poo! An IoT sewage project

ESP32 webOTA updates

How to update ESP32 firmware using web OTA [Guide + Code]

error message Brackets Thumbnail V1

expected declaration before ‘}’ token [SOLVED]

Compilation SOLVED | 1

Compilation error: expected ‘;’ before [SOLVED]

Learn how to structure your code

7 Comments

  1. […] post What is Arduino and can I use it for my project? appeared first on Programming Electronics […]

    • Samzy on June 13, 2020 at 11:21 am

      Plz where can i get arduino from or from which appliance can i get it

  2. David Lampron Sr. on May 18, 2019 at 11:27 pm

    Thanks Mlichail great video.
    I watch and save all your videos
    The project I have in mind is a controller for a router but I will not be able to work on it for quite a while.
    Please keep those emails coming I appreciate all of them
    Thanks again and have a good day

  3. Rafael Osorio on May 19, 2019 at 1:28 am

    Excelente aclaracion de que es un arduini y como lo podemos utilizar. Gracias por esa detallada definicion 🙂

    • Michael James on May 19, 2019 at 8:59 am

      Me alegra que haya sido útil! Gracias por ver.

  4. microdigisoft on May 28, 2020 at 9:56 am

    Hello Mlichail!

    We guided information and content for beginer who wants to lean about Arduino controller!

    Keep it up!

    Thanks!

Leave a Comment