Picture of Arduino Tutorial Bundle .:Arduino Experimentation Kit:. (ARDX)

Interested in making neat projects with an Arduino but not sure where to start?

Here's an easy to follow guide on how to connect & use a bevy of electronic components.

(shameless plug)
Interested in doing it all?
Complete kits with components to make every circuit, a printed guide and breadboard layout sheets can be purchased from.
oomlout.co.uk (in the UK)
adafruit.com (USA & International Shipping)
Floris.cc (in Holland)

Lets get started!
(A PDF Version of this guide can be downloaded below)

Jump to a specific copmonent
'''CIRC-01''' - Getting Started - (Blinking LED)
'''CIRC-02''' - Multiple LEDs - (8 LED Fun)
'''CIRC-03''' - Spin Motor Spin - (Transistor & Motor)
'''CIRC-04''' - A Single Servo - (Servos)
'''CIRC-05''' - 8 More LEDs - (74HC595 Shift Register)
'''CIRC-06''' - Music - (Piezo Element)
'''CIRC-07''' - Button Pressing - (Push Buttons)
'''CIRC-08''' - Twisting - (Potentiometers)
'''CIRC-09''' - Light - (Photo Resistors)
'''CIRC-10''' - Temperature - (TMP36 Precision Temperature Sensor)
'''CIRC-11''' - Larger Loads - (Relays)

(at oomlout we like to make everything we do open source, we have yet to properly document the files that have gone into this product however the development files can be looked through at http://www.oomlout.com/ARDX/ or if you can't find a file send us a message and we'll send it your way)

Step 1: .: Installing the Software :.

Picture of .: Installing the Software :.
Before we go any further you'll need to download and install the Arduino IDE (Integrated Development Environment), this is the program we use to write programs for the Arduino.

Step- 1 - Download the IDE

Step-2- Unzip the software
  • Unzip the program. (we recommend placing it in c:\Program Files\)

Step-3 - Shortcut Icon
  • Goto C:\Program Files\Arduino-00**
  • Right click on Arduino.exe the goto "Send To > Desktop"

Step-4 - Plug In Your Arduino
  • Plug your Arduino board into a free USB port using an A-B USB cable
  • Wait for a box to pop up

Step-5 Add New Hardware
  • In the add new hardware dialog box click "skip searching the internet"
  • Choose "install from a specific location"
  • Choose the location "C:\Program Files\Arduino-00**\drivers\FTDI_USB_Drivers\


Step 2 - Unzip the Software
  • Do this by double clicking
  • Move the folder to "//Applications/"

Step 3 - Alias Icon
  • Open //Applications/arduino-00**/
  • Command click Arduino
  • Make alias
  • Drag the alias to the Desktop

Step 4 - Installing Drivers
  • Goto //Applications/arduino00**/drivers
  • Double click and install FTDIUSBSerialDriver_V2_2_9_Intel.dmg

Step 5: Plug in your Arduino
  • Plug your Arduino in

Using linux, encountering problems, would like more details? visit http://tinyurl.com/r99d8u
1-40 of 72Next »
studio15 months ago

can i use this relay to control and lamp?

jpx20086 months ago
Hi, when I plug the arduino in the power light comes on and the led flashes but the new device box does not pop up, I'm not able to select a port it. How do I install the drivers, I can't seem to find the arduino on my computer. I'm running Windows 7. Your help is much appreciated. Thank you

If you bought an official Arduino you can find the driver at http://www.arduino.cc/

If you bought a chinese one from eBay, read the description again. Most of them that I've seen use a different USB controller and also have a link to the required driver in their description.

arnie.tapp7 months ago

Thanx !! All project suggestions are much appreciated !!!

PhilippH7 months ago

Can some explain to me the in and out configuration when I have 10 leds. This is to test my learning capability.

bar83932 years ago
N00b here. I've built the Circ01 and Circ02 projects and now as i hit Circ03 the question still remains:

Exactly what are the 2-pin Headers for?


I guess the 2 pin headers hold the template in place. Nothing more than that. If you are not using the template then you don't need the headers.

markwest19728 months ago

I'm just wondering about the role of the resistors in this example. Couldn't these be replaced with Jumper wires without having any detrimental effect on the solution?

Evyllity1 year ago

I don't understand why for(int i = 0; i < 8 ; i++) even works. if i is set to 0, then i is less than 8, right? for(int i = 0; i =7 ; i++) does nothing, and for(int i = 0; i == 7 ; i++) works correctly except the LEDs are lit at ~10%. What's happening here?

ntindle Evyllity8 months ago

The first one (for(int i=0;i<8;i++)) works because it tests if i is less then 8 and if it is, it runs the code. for(int i=0,i=7,i++) does nothing because when it starts i equals 0 and fails the test "does i equal 7?" and breaks out of the for loop.

JohnH19 made it!9 months ago

Hey - fun project! I had no problems getting it to work. then I hacked it a bit to count to 1024 (2 extra LEDs). I'm interested in using this to count passers-by. I have a second IR beam-breaking detector that provides a ground when the beam is interrupted. I would like to feed this ground signal into D13 so that when grounded, the binary count would increment by one. Can anyone recommend how to tweak the code to look for a ground on D13 thereby incrementing the count by one?

Thanks!! Mø

Mo_BinaryLED.MOV(516x290) 10 KB
I don't understand the purpose of the wire running to 5v. It connects the positive rail on the breadboard to 5v but I don't see anything on the breadboard connected to the positive rail. Here's my new-to-Arduino question: obviously all of the LEDs ground through the resistors=>negative rail=> GRND on Arduino. Do they get all the power they need (+) from the pins 2~9 being controlled by the code? Right now I'm running it completely without the wire to 5V and it runs but LEDs are dim.

You are correct, you technically do not need the 5v wire from the ardunio to the positive side of the breadboard, the positive voltage comes from the pins (2-9) all the code actually does is turns the voltage on or off through the pins, thus the circuit completes through the negative rail on the breadboard, and lights the LED.

hohum1 year ago

THANK YOU TO INSTRUCTIONALS AND oomlout!!!!!!!!!!!!!!!!!!!!!!!!!!!!

To Instructionals for having this site and to oomlout for posting the instruction as to how this circuit works. I got to this circuit, hooked it up, nothing---changed out all the parts from Arduino kit, still nothing, took out all the parts, rewired it, still nothing, found a dead laptop, took out the cooling fan, reading voltage(5v) and working amps, (.35a), put in a LED where the motor should be, the LED blinked on/off per 1 sec, the circuit works with a LED but not motor,,,soldered pins TO the laptop fan, installed fan.. nothing,, then i checked the amps across the base to collector, it read like .00004ma, i think, it was pretty low amp reading, it works with a LED but not motor,mmmmm, went to an electronics store about asked a transistor with a higher gain, nice lady there found a TO-18 case that had a gain of 200, came back plugged that part in,,noting CBE and the tab.

moment of Poooof, making sure I had the CBE correct, plugged in the laptop fan, plugged in power, ANNNNNNNNNNNNNNNNNNNNND,,, the freaking thing works, cycles on 1 sec, off 1 sec.

wowoow on to the next project

so to all of you instructable people out there,

********* DON'T GIVE UP!! KEEP TRYING, YOU'LL GET IT.. ********

rasmino1 year ago

can i copy and paste the code or no

Shijilal2 years ago
I am new to the electronics things,so please forgive me,if my question seems to be a foolish one.My doubt is..
Why the transistor is connected after the motor and why not before??? If i am right current flows from +ve to -ve and in that case the transistor is placed after the current passes through the motor.Why so??In that case how is the transistor helpful in this circuit for amplifying current?? Can you please help me out of this confusion.
ROBBIE7772 years ago
I am about to begin experimenting with Arduino and this kit of experimentation which we teach and explain how to use seems to me to be excellent. I bought a platform type arduino with all the accessories of the Upgrade Industries brand called XBoard which is ideal for experimenting, ideal to attach it to the kit samples. Be the Xboard is 100% compatible with the kit that you recommend? Thank you
atlas22 years ago
I am stuck on the 'controlling a motor' part. I am not sure how I by-pass the 560 Ohm resister. I have removed the red LED but how do I connect the motor?
daveard2 years ago
I am just getting started with Arduino and am having a problem with Circ03. The motor will run, but does not go on and off, and the variable speed just runs at the same speed.
bar83932 years ago
Why do we connect a wire directly to 5v when pin 13 is already getting 5v. I inadvertently pulled off the 5v wire and the circuit still worked.

I assume this is just some kind of best practice that is useful 90% of the time but just not in this case?


ps. i asked this in another comment, but I'll re-ask here: what purpose do the 2Pin Headers serve?
doverland3 years ago
I just got the kit, and I couldn't get this to work until I changed out the 10K resistor with the other 330 resistor.
Troubleshooting was educational, though!
Same here.. I spent over an hour troubleshooting this same project and while I swapped out the resistor for another 10k, I would've never changed to the 330. I was about to pull my hair out and found your comment.. much appreciated.. that leaves some question in my mind as to why this is the case and how someone learning these circuits is supposed to figure something like that out. I love the Arduino but this sparkfun kit has a number of flaws..
Slugsie3 years ago
The second resistors (560ohm) are listed as also being Red-Red-Red just like 2.2KOhm ones, Probably should read Green-Blue-Brown
-pink3 years ago
This seems like a great kit, but I still cant understand how to make the motor run both ways.. Did anybody manage and is it at all possible?
I am also planning to combine several to contol 5 motors. Did anybody try that yet?

I will be very greatful for your help!

how can you make the motor run in forward and reverse? is there a series of code that I can type in, or is it all in how I plug it up? thanks, Andrew
Interesting. I just bought an Osepp board whih is allegedly compatible with the sparkfun arduino.
tuttlesmow3 years ago
NEVERMIND- i was using my datasheet for a 2n2222, not the one provided with the link (p2n2222). now i guess i know what that tiny "p" means.
tuttlesmow3 years ago
what i thought i knew is now suspect. on the datasheet for the p2n2222ag (and what i thought i already knew) when the flat side of the npn transistor facing me, with a to-92 package,with the pins down, the order from left to right is, emitter, base, and collector on the right. why is this not true on the layout sheet. ?
enxion4 years ago
I tried this out and got it to work. Thanks for the tutorial I learned a thing or two.

I am however, wondering why the same circuit doesn't work when I replace the 5v and ground from the arduino with a power and ground from a 6v battery pack. Shouldn't it? The motor and transistor are rated for such loads. The only thing I've changed is the power source. I'm trying to make the jump from learning about motor controllers to actually constructing a useful one with it's power independent of the arduinos power.

I'd appreciate any help any one could point out.
i had a similar problem, where i was powering the arduino and motors from separate power sources.

It turned out they both had to share the same ground, i just plugged the negative terminal from my battery pack in to the ground rail on my breadboard and then connected a ground pin from my arduino to the same breadboard rail, then everything worked
Thanks for the reply. I've moved on since I posted that but I'll no doubt be reviewing it some day. You might want to post that message in the comments so others can see it and learn.
robot13984 years ago
do i have to press the reset button before uploading new files to arduino uno
or i have to erase the older programmes or i just have to upload the new programme
mwagner54 years ago

I was reading the datasheet of the 74HC595 and I came across with some values...

It is written that the max Icc/Ignd is 70mA, and each output pin supports 35mA.
If I want, for example, lit 8 leds at the same time, each at 20mA, the total would be 160mA.

So, wouldnt it damage the 74HC595?

Thanks a lot
JDalman4 years ago
ON the in and out code I found an easier way. I reloaded the array so the order is the same order the LEDs are to be lit, then I used loops to kight them from the middle out and unlight them from the outside in. I then changed it around a little to sequence out and then in.

Here's the array:
int ledPins[] = {5, 6, 4, 7, 3, 8, 2, 9};

Here's the loop:
//LEDs light inside to outside
for(int i = 0; i <= 7; i++){
int j = i + 1;
digitalWrite(ledPins[i], HIGH); //Turns on LED #i each time this runs
digitalWrite(ledPins[j], HIGH); //Turns on LED #j each time this runs
delay(delayTime); //gets one added to it so this will repeat
digitalWrite(ledPins[i], LOW); //Turns off LED #i each time this runs
digitalWrite(ledPins[j], LOW); //Turns off LED #j each time this runs
} //8 times the first time i will = 0 the final
//time i will equal 7;

//LEDs light outside to inside
for(int i = 4; i >= 0; i--){ //same as above but rather than starting at 0 and counting up
int j = i + 1;
//we start at seven and count down
digitalWrite(ledPins[i], HIGH); //Turns on LED #i each time this runs
digitalWrite(ledPins[j], HIGH); //Turns on LED #i each time this runs
delay(delayTime); //gets one added to it so this will repeat
digitalWrite(ledPins[i], LOW);
digitalWrite(ledPins[j], LOW);
it hertz4 years ago
void loop() { int value = analogRead(potPin) / 4; analogWrite(ledPin, value); }

potPin was not decleared in the scope........ everytime i rewrite or copy and paste

DrJoMaVa4 years ago
This step mentions linking multiple shift registers together to control a larger number of LEDs with just 4 Arduino pins. How is this accomplished? Thanks for your help.
biggestnoob5 years ago
Hi there, I am wondering if I can run my dc motor reverse. is there any special code to make it reverse? if there is, please tell me. thank you,
the red wire is normally going in the + rail, pull it out and connect it to the Collector of the transistor and the black wire coming from the motor goes into the + rail
Schwann5 years ago
 Hey, just thought I'd let you know that the example from arduino.cc uses a pull-down configuration while your circuit uses a pull-up configuration, so the LED on/off is reversed (:
1-40 of 72Next »