loading
An Arduino is an open-source microcontroller development board. In plain English, you can use the Arduino to read sensors and control things like motors and lights. This allows you to upload programs to this board which can then interact with things in the real world. With this, you can make devices which respond and react to the world at large.

For instance, you can read a humidity sensor connected to a potted plant and turn on an automatic watering system if it gets too dry. Or, you can make a stand-alone chat server which is plugged into your internet router. Or, you can have it tweet every time your cat passes through a pet door. Or, you can have it start a pot of coffee when your alarm goes off in the morning.

Basically, if there is something that is in any way controlled by electricity, the Arduino can interface with it in some manner. And even if it is not controlled by electricity, you can probably still use things which are (like motors and electromagnets), to interface with it.

The possibilities of the Arduino are almost limitless. As such, there is no way that one single tutorial can cover everything you might ever need to know. That said, I've done my best to give a basic overview of the fundamental skills and knowledge that you need to get your Arduino up and running. If nothing more, this should function as a springboard into further experimentation and learning.

Step 1: Different types of Arduinos

There are a number of different types of Arduinos to choose from. This is a brief overview of some of the more common types of Arduino boards you may encounter. For a full listing of currently support Arduino boards, check out the Arduino hardware page.

Arduino Uno

The most common version of Arduino is the Arduino Uno. This board is what most people are talking about when they refer to an Arduino. In the next step, there is a more complete rundown of its features.

Arduino NG, Diecimila, and the Duemilanove (Legacy Versions)

Legacy versions of the Arduino Uno product line consist of the NG, Diecimila, and the Duemilanove. The important thing to note about legacy boards is that they lack particular feature of the Arduino Uno. Some key differences:
  • The Diecimila and NG use an ATMEGA168 chips (as opposed to the more powerful ATMEGA328),
  • Both the Diecimila and NG have a jumper next to the USB port and require manual selection of either USB or battery power.
  • The Arduino NG requires that you hold the rest button on the board for a few seconds prior to uploading a program.

Arduino Mega 2560

The Mega is the second most commonly encountered version of the Arduino family. The Arduino Mega is like the Arduino Uno's beefier older brother. It boasts 256 KB of memory (8 times more than the Uno). It also had 54 input and output pins, 16 of which are analog pins, and 14 of which can do PWM. However, all of the added functionality comes at the cost of a slightly larger circuit board. It may make your project more powerful, but it will also make your project larger. Check out the official Arduino Mega 2560 page for more details.

Arduino Mega ADK

This specialized version of the Arduino is basically an Arduino Mega that has been specifically designed for interfacing with Android smartphones.

Arduino LilyPad

The LilyPad was designed for wearable and e-textile applications. It is intended to be sewn to fabric and connected to other sewable components using conductive thread. This board requires the use of a special FTDI-USB TTL serial programming cable. For more information, the Arduino LilyPad page is a decent starting point.
<p>how can i code arduino uno for my project automatic alarm system connected to lcd 16x2 and rtc ds1302 controlled by arduino uno bluetooth?</p>
<p>I am new to arduino say me step to glow led and run motor </p><p>i have arduino uno R3 and arduino Mega 2560</p><p>also say simple project using LED, LDR, </p>
<p>Browse for a number of projects. You can do wonders with Arduino... Try them with interest. Definitely you will learn a lot.</p>
<p>Hi,</p><p>If you're looking for a tool to help you create the circuit schematics or code snippets, check this one:</p><p><a href="http://www.circuito.io/" rel="nofollow">www.circuito.io</a></p><p>It's free and fast</p>
<p>This is the best guide for beginners that I have come across. It will be a big help when I start creating my project. A former coworker bought me an Arduino UNO about 5 years ago and it was just sitting here collecting dust, I finally came up with a project to utilize it. I will be creating a ham radio repeater controller, which shouldn't be too hard to do for the basic controller but could get complex as I add more features to it.<br></p><p>I'll be doing this project in two stages.</p><p><br>First Stage Goals:</p><p>■ When the receiver squelch is triggered the arduino needs to trigger the transmitter to start transmitting (COR will go high or low, I need to check the radios to see if it goes high or low, when the radio receives a signal)<br>■ Route receive audio to transmitter <br>■ Every 10 minutes inject morse code audio into the transmit audio to satisfy FCC requirements<br><br>Second Stage Goals:<br>■ Add a couple second hang timer onto the end of each transmission (This will keep the transmitter keyed up for a couple seconds after the squelch signal is pulled low or high after it stops receiving a signal)<br>■ Add a courtesy tone at the end of each transmission<br>■ Add a time out timer (I might be able to do this on the radio but I prefer to try and do it on the Arduino)<br>■ Add DTMF decode functions to shut down the repeater (not sure if this will be doable)<br><br>For radios I will be using my set of Yaesu FT-7800r dual band radios, these radios have a 6 pin mini din connector on the back that will give me access to all the lines I will need.</p>
<p>Great info, thanks.</p>
<p>/port is not recognized by my laptop??</p><p>can i know what will be the reason??</p>
It might be because you don't have the right drivers for your laptop:)
<p>Hi Everyone!</p><p>Share your completed projects here. <a href="http://www.elecmic.com/" rel="nofollow">www.elecmic.com</a> And earn money.</p><p>or contact me here </p><p><a href="http://elecmic.com/contact-us/" rel="nofollow">http://elecmic.com/contact-us/</a></p>
<p>Thank you,found helpful............</p>
<p>Dear Sir!</p><p>(Sorry about <br>My language Knowledge)</p><p>First I want to say I&rsquo;m really new to ARDUINO projects, Now I&rsquo;m <br>try to do fuel gauge project for my Bike. In that case I need your help sir. My <br>question is I want to Increased and Decreased defined some Value like (Ex:-Proposed <br>Value = 700Km) proportionally Increased and Decreased according to potentiometer <br>values. </p><p>Example:-</p><p>//Potentiometer</p><p> Pot_Max_ Value = 100;</p><p>//Defined Value (My <br>Proposed Maximum Value)</p><p>My_MaxValue = 700;</p><p>I want to run Program like <br>this: ( This is not correct program method this is just idea for how I want to run the program)</p><p> If Pot_Max_ <br>Value = 0;</p><p>My_MaxValue <br>= 0; //My max value should be 0 proportionally potentiometer value</p><p>Lcd.print <br>= (My_MaxValue); // LCD should print my max value like 0</p><p>If Pot_Max_ Value = 1;</p><p>My_MaxValue <br>= 7; //My max value should be 7 proportionally potentiometer value</p><p>Lcd.print <br>= (My_MaxValue); // LCD should print my max value like 7</p><p>If Pot_Max_ Value =2;</p><p>My_MaxValue <br>= 14; //My max value should be 14 proportionally potentiometer value</p><p>Lcd.print <br>= (My_MaxValue); // LCD should print my max value like 14</p><p> .</p><p> .</p><p>If Pot_Max_ Value =5;</p><p>My_MaxValue <br>= 35; //My max value should be 35 proportionally potentiometer value</p><p>Lcd.print <br>= (My_MaxValue); // LCD should print my max value like 35</p><p> .</p><p> .</p><p>If Pot_Max_ Value =10;</p><p>My_MaxValue <br>= 70; //My max value should be 70 proportionally <br>potentiometer value </p><p>Lcd.print <br>= (My_MaxValue); // LCD should print my max value like 70</p><p> .</p><p> .</p><p>If Pot_Max_ Value =25;</p><p>My_MaxValue <br>= 175; //My max value should be 175 proportionally <br>potentiometer value </p><p>Lcd.print <br>= (My_MaxValue); // LCD should print my max value like 175</p><p> .</p><p> .</p><p>If Pot_Max_ Value =75;</p><p>My_MaxValue <br>= 525; //My max value should be 525 proportionally <br>potentiometer value </p><p>Lcd.print <br>= (My_MaxValue); // LCD should print my max value like 525</p><p> .</p><p> .</p><p>If Pot_Max_ Value =100;</p><p>My_MaxValue <br>= 700; //My max value should be 700 proportionally <br>potentiometer value </p><p>Lcd.print <br>= (My_MaxValue); // LCD should print my max value like 700</p><p>Sir I want to run program like <br>above mentioned and short it like this </p><p>for (int brightness=0;brightness&lt;256;brightness++){</p><p> analogWrite(ledPin,brightness);</p><p>delay(5);</p><p>Please help me on this sir!! <br> Really sorry about your valuable time wasting <br>for my work.</p><p>Thank you</p><p> Udana</p><p>Email &ndash; Udanagayan@gmail.com</p>
<p>how much small dc motors can I control with the arduino uno r3 I want the numper of motors that I can control with pwm and without pwm with on and off and direction</p>
THANK YOU! Really interesting and usefull.
<p>slt je suis terminale et mon projet un suiveur photovoltaique bi axiele mon probleme et le programme arduino pour 1 moteur pas &agrave; pas unipolaire tourne 9 h ( 7h &agrave; 16h) et puis retoure &agrave; l'etat initiale est attendre 14 h (16h &agrave; 7h ) et merciiiiii bcp </p>
<p>Just to let you know people, Arduino is cheap!<br>https://sites.google.com/site/arduinouk/</p>
<p>LOL: Step 12: You can think of this kind of like understanding grammar and punctuation. You can write an entire book without proper grammar and punctuation, but no one will be abler* to understand it, even if it is in English.</p><p>Great tutorial! Learned a lot.</p>
<p>I am considering building a collection of instructables on beginning Arduino.</p><p>Do I have your permission to include this instructable?</p>
Hi, I'm running Windows and I can't select the port for arduino uno. What could be wrong?
is arduino uno better than arduino mega
can I use arduino mega like arduino uno
<p>YES <br>ONLY DIFFERENCE IS THAT MEGA HAS MORE INPUT OUTPUT PINS</p>
<p>And more space than Uno ( 8x more space ) </p>
<p>GREAT INTRO FOR ARDUINO</p>
<p>Thanks! This is a great place to get started in the amazing world of Arduino. Bookmarked.</p>
Good. Guys you may visit this site to get more tutorials for free. http://electro.nitishdash.com
<p>great! like it</p>
sir. this arduino uno can transmit or send information to another computer?
So awesome
so helpful:-)
sir can me make a arduino at home????
<p>yes its possible...it will cost you around $8,here is the link </p><p>http://www.instructables.com/id/How-to-make-an-Arduino-from-scratch/?ALLSTEPS</p>
simply awesome
I bought a new Uno board, and it plugs in and lights up, but the serial port command is greyed out. <br> <br>I did select the Uno as my board. I reset it, I unplugged and replugged. <br> <br>I still cannot get the serial port to allow me to make a choice. <br> <br>Suggestions?
<p>The same thing happened to me, I had to reinstall the drivers. This helped</p><p>http://forum.arduino.cc/index.php?topic=104698.0</p>
...exchange it for a new one?
i obtained a 2nd one and same issue. I have windows 7, and downloaded the latest software. i will check for an update.
you might need to manually update the drivers, thats what i had to do with my mega 2560
<p>Exactly what I was looking for. Thanks.</p>
<p>my arduino does not seem to be connecting to the program i selected arduino uno and the program wont let me select a serial port NEED HELP PLEASE!!!</p>
<p>fantastic tutorial, Please keep inform us</p>
<p>I must say awesome article. The tutorial is fantastic very clear and understandable. The way you write is awesome. I understand almost everything what you taught in this tutorial. I must say thanks a lot for sharing your knowledge.</p>
<p>It must say awesome article. The tutorial is fantastic very clear and understandable. The way you write is awesome. I understand almost everything what you taught in this tutorial. I must say thanks a lot for sharing your knowledge.</p>
<p>Very informative thank you :)</p>
<p>Excellent, help me a lot, thank you!</p>
Very good
very good instructable!
Wonderfull tutorial! It has enlightened me up pretty much. I'm pretty much familiar to arduino now, and pretty much confident about not blowing up my projects. Thank you very much!
Im looking forward to work some animatronics projects using arduino lillypads.<br>Was guessing if there's a way you can bring me some starying data about Arduino, just like this you're publishing here, in a pdf format, so I can study it offline.
Thank you, this is very good :)
Liked Arduino and I would like to study them. <br>I have a project that needs to contrlol relays to switch on/of 12volts. <br>Can Arduino capable of doing multi-switching (9 or 12 volts) around 6 to 10 switches? <br>I don't often open my account, would it be better to give me a reply on my mail? <br>at ronald_av@yahoo.com....Thank you very much.

About This Instructable

617,553 views

2,320 favorites

License:

Bio: My name is Randy and I founded the Instructables Design Studio. I'm also the author of the books 'Simple Bots,' and '62 Projects to ... More »
More by randofo: Hard Candy Recipe 2-Ingredient Candy Teeth Candy
Add instructable to: