Back in the late 90’s it was rather difficult to prototype your own electronic ideas. You had to use a BASIC Stamp microcontroller which had a price of 50$. That was complicated to program for less technically skilled people, and it was expensive, especially for an engineering student, so therefore back in 2003, a guy studying at the Interaction Design Institute Ivrea in Italy named Hernando Barragán made the development platform Wiring, as a master’s thesis project. It was under the supervision of Massimo Banzi and Casey Reas. They made their own printed circuit board based on the ATmega168 microcontroller, with an IDE based on Processing and library functions to easily program the microcontroller. The project was called Wiring, and later that year Massimo Banzi, with David Mellis and David Cuartielles added support for the cheaper microcontroller ATmega8. But instead of keeping on working with Wiring they forked the project and renamed it Arduino. With the new way of making home robot project, the sky is the limit! A new era of home engineering has begun.

ATmega8 and ATmega328P

To control the Arduino board, you need a microcontroller. Not a very powerful one, but it needs to get the job done and be cost effective. Therefore, the ATmega168 microcontroller, which was the initial processor on the before called Wiring platform, was replaced with the cheaper ATmega8. It had 8 kilobytes of self-programmable flash memory, operated on 8-bit at 16MHz and had 512 bytes of EEPROM, 1 kilobyte of SRAM and it could keep the data for 100 years at 25°C. It had a lot of power and is still a respected piece of technology today

This was one of the first boards Arduino made. It is very similar to the Uno board, except the Uno has the ATmega328P microcontroller. With the new microcontroller, the board had some upgrades, it still runs on 16MHz though the ATmega328P is capable of running at 20MHz, but now it has 32 kilobytes of self-programmable flash memory, 1 kilobyte EEPROM and 2 kilobytes SRAM.

Uno has 23 I/O pins, 5v, 3.3v and Vin power out. Vin is just what ever power comes into the Uno. Beyond that it has a power in, a female USB A port, a voltage regulator, some transistors and a reset button.

Uno, Mega, Duo, Leonardo…

As some of you know there is more in the Arduino brand than the Uno. Here is a list of all the versions of the Arduino hardware, which is still produced (shields not included).

Arduino Uno WiFi rev 2

Arduino / Genuino MKR1000

Arduino 101 / Genuino 101

Arduino Zero

Arduino Due

Arduino Yún

Arduino Leonardo

Arduino Uno

Arduino Mega2560

Arduino Ethernet

Arduino Fio

Arduino Nano

LilyPad Arduino

Arduino Pro

Arduino Mega ADK

Arduino Esplora

Arduino Micro

Arduino Pro Mini

Arduino Duemilanove (stopped production in 2009, but is still widespread used)

Do not get lost in all the options. For most projects you just need an Uno, and for an idea with a lot of electronic to control you can pick a Mega2650. But what if you need to connect to the internet without an extra board or an extension? Then you can pick between three boards, Arduino Uno WiFi rev 2, Arduino Yún or Arduino Ethernet. Making an I/O project with connection to the internet has never been easier, and that brings me to the next subject, Internet of Things.

Internet of Things

The idea of everything connected, is no longer just a crazy idea. You can literally make any electronic project connect to the world wide web.

Take an old talking teddy bear and hook it up with an Arduino Yún, now make it say what you type on the other side of the globe. A guy already tried, and it was successful.

The book “Making Things Talk” by Tom Igoe is a great example of how you, with a little of electronic knowledge, can make outstanding project with the capabilities of talking and connecting to the internet. Just 25 years ago this was unthinkable for an average person, but now even children are learning how to program and making projects only thought to be made by engineers. The world is changing fast and you can get along the ride. Soon an Arduino will be found in every home. If you want to look more into it, there is a massive community for Arduino and all sorts of electronic projects. Just let your imagination run freely.

How to

The term how to has become an everyday thing. How do you make this? How do you do that? Just make a quick search on Google or YouTube and you are good to go. The same thing goes for an Arduino project. But instead of you having to research on how you program the board, you get a little introduction here.

First you have to get an Arduino Uno, download the Arduino IDE and open a blank sketch. Now you will see this screen:

You now got the Void Setup() and the Void Loop() function. The setup function will only run one time when the Arduino turns on, and the loop function will run forever, as long as the Arduino is turned on.

But then how do you make a sketch? Let us start with a basic sample, the blinking LED sketch. This sketch will turn the LED on pin 13 on for one second and turn it off for one second.

Code:

int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

But how do you upload it? First the Arduino needs to be connected to your computer with the USB connector. Then you have to check that the IDE knows which board you are uploading to, you can do that under “Tools”. And make sure that the right port is selected, that is right under the board selection.

Then just hit the upload button displayed as an arrow and watch the small green LED on your Arduino Uno board blink on and off. You have just made your very first sketch, and it was as easy as writing in a word document!

Libraries

Hardcoding a Morse alphabet or making a motor driver function every time you are creating a new project is time consuming. Therefore, a smart way of reusing code is necessary. Making or downloading a library can save you a lot of time writing code, since you only have to write the hard and annoying part once. You can find and experiment with some of many libraries here:

Problems and concerns

Concerned parents may think it is troubling that their children can make robots and electronic projects, with the risk of getting shocked or making a mistake, which can result in a burnt down house or the fuses constantly exploding. But do not worry. If your child is using a relatively new Arduino board, then there is built in safety precautions, at least on the Uno. It protects against short-circuiting, over voltage and syntax errors in the code is spotted before you upload it to the board. But keep in mind that it cannot protect against 220v directly into the power pins. So just tell your kids only to use USB or a 9v battery as a power source.

Another big concern is more society based. If everybody gets technically skilled, then won’t the number of hackers rise exponentially? Well of course more people will get technically skilled, and some will become so skilled that they will be capable of hacking everyday electronic and making a mess. But if you look at the community behind Arduino and other microcontrollers, then you wouldn’t be so concerned. It is mainly good people who want to make the world a better place, who is using Arduino and other programmable electronics. Wouldn’t it be cool to invent something amazing to help a lot of people? Do not think about all the bad stuff you can do with it, think about all the good and funny ideas people have created. Bad people will always be there no matter what the subject is, but it wouldn’t be fair to take all of it away, because of the few bad things some people can do.

Conclusion

Before Arduino it was a pain to create an electronic project at home. It was expensive and hard to program the predecessors. With the new piece of technology easily accessible, a new era of home engineering has begun. But with everybody now being able to program their own robots and electronic projects, a few problems show up. What if a person with intent of destruction use an Arduino board and make something bad? Of course, it is a possibility, but look at all the good things people have created. Do not let the bad stuff cast a shadow over all the good creations. Arduino is an incredible piece of technology, it is easy to program and easy to get your hands on. And as all great inventions it all started with some people who wanted to make the world a little better.

Sources