Arduino is a family of circuit boards that make microcontrollers easy to use. The microcontroller on the Arduino Uno circuit board is an Atmel AVR 8 bit chip. A microcontroller is basically a tiny, low powered computer that can run small simple computer programs. Atmel AVR microcontrollers are notable for being one of the first microcontrollers to use on-chip flash memory for program storage.
What made the Arduino popular, and the board of choice for so many maker projects Arduino is designed to make it easy to program microcontrollers thanks to the Arduino software development environment. Before Arduino, you would typically have to type out a lot of binary and memorize a lot of hard to remember registers and instructions. You’d also have to use special programming hardware with custom cables to upload your program to your microcontroller.
Arduino got rid of all of that by creating the cross platform Arduino IDE that works with Windows, Mac, and Linux. Uploading your code to Arduino is as simple as connecting a USB cable to your board and clicking a button.You still can’t run a full operating system on an Arduino board, although there are microcontrollers out there that have progressed to the point where you can install an OS. (Just not Linux, Linux variants, or Windows because of the resources required)
What Arduino is good for is for acting as the microcontroller “brain” of your electronics projects. Because it is well supported there are code snippets that are all over the Internet that allow even beginners to do all kinds of complex electronics & design projects that they probably aren’t aware they could do because they don’t have the technical background.
This has all kinds of implications for creative artists that come up with good ideas, and have a natural interest in making devices that are beautiful.
The Arduino IDE
The USB cable you use to upload programs, referred to as sketches, also powers the Arduino board. You could also get a separate power supply and a lot of projects involve connecting the Arduino to some sort of battery.
A sketch is what you use the Arduino IDE for. It is a unit of code that is uploaded and used to upload your programs to the microcontroller on your board. You can run only one program at a time with on an Arduino board.
The Arduino IDE supports the languages C and C++ using special rules of code structuring. The reason for this is to make programming your board as simple as possible.
A minimal Arduino C/C++ sketch consists of two functions:
- setup() – the function that is called once, when the sketch starts after you power-up or reset your board. It initializes the variables, input and output pin modes, and other libraries needed in the sketch.
- loop () – after setup () function is run the loop () function is executed repeatedly in the main program. It controls the board until it is turned off or reset.
For those who have programmed C or C++, you know there's a bit of a learning curve, especially if you have no prior programming experience. Arduino simplified their programming environment with these people in mind. They want creative artists to make something beautiful so what they did is made it as simple as possible to program their board.
Its called the Arduino IDE and it's also a good place to start if you’ve never programmed a microcontroller. It’s possible that you’ll start with and then move onto other development boards down the line. If you do so you'll likely be on your own for most things. That's because, what makes the Arduino special is the tremendous support and documentation that already exists around you. It lets you jump right into advanced projects because so many people have provided their work on it, freely and openly.
There are also a lot of code snippets that you can use, to make your life even easier, thanks to the support of the open source community that has rallied behind it’s platform.