Arduino Tutorial for Beginners – (From Arduino Starter Kit and Programming to Arduino Projects)

Arduino UNO board

Welcome to Arduino tutorial for beginners! Well, let’s start with the most obvious question: What is Arduino?

What is Arduino?

Table of Contents


Arduino started in 2003 at the Interaction Design Institute Ivrea (IDII) in Ivrea, Italy. Its goal is to provide a very low-cost and easy electronic project for non – electronic people. It is consists of two parts: the Arduino microcontroller hardware and Arduino software Integrated Development Environment (IDE).

By learning Arduino basic kit and learning how to program the microntroller Arduino boards,  you can create simple Arduino projects like blinking LED or complicated projects like building a robot arm.

Arduino Tutorial for Beginners

The name Arduino comes from a bar in Ivrea, Italy, where some of the founders of the project used to meet. The bar was named after Arduin of Ivrea, who was the margrave of the March of Ivrea and King of Italy from 1002 to 1014.

Why Go Crazy Over Arduino?


Why Arduino is popular?

Hobbyist has fallen in love with Arduino. The only other single board computer (SBC) that comes close is Raspberry Pi.

We can’t deny that there are some element of luck involved. It was created at the right place and the right time.

However, below are some of the reasons why I believe Arduino is well – loved and well – received all over the world.

1) Affordable

Arduino start up kit cost around $20. At the price of a pizza and beer, you can already have in your hands one of the most powerful microcontroller kit in the world. Of course, I assume that you already own a computer to program the Arduino software.

2) Easy to Use

I’ve  been working with microcontrollers since my college days.

I was using 8088 and 6802 microcontroller. In the past, you need a program compiler that will convert my code into machine language. You  also need an infrared box to erase the program from the EPROM (Erasable Read Only Memory) if you have errors in the program.

With Arduino, all you need is the Arduino hardware and your computer. That’s it.

You just connect your Arduino microcontroller hardware into the USB (Universal Serial Bus) of your PC. That’s it. You’re all set!

You also don’t need to sweat out figuring out how to program and how to wire your project. There are so many project wirings and code available in the internet.

Here are some of the good source:

3) Open Source

There is power with open source. Here is the story of how open sourcing made Linux is the most well love operating system among the geeky.

Arduino is an open source platform. That means that the hardware schematic and the original code is made freely available, may be modified and may be redistributed. It is there to be tweaked, improved and leveled up without restriction.

I got this from Arduino.cc.

We believe that people should be able to study our microcontroller Arduino hardware. People can understand how it works, make changes to it, and share those changes.

We release all of the original design files (Eagle CAD) for the Arduino hardware.

These files are licensed under a Creative Commons Attribution Share-Alike license. This allows for both personal and commercial derivative works, as long as they credit Arduino and release their designs under the same license. The Arduino software is also open-source. The source code for the Java environment is released under the GPL and the C/C++ microcontroller libraries are under the LGPL.

4) Powerful

Arduino microcontroller can do so many different things. You can use it to control LED, program robots, monitor blood sugar, adding thumb mark in your lock and send a message over network. You’re only limited by your imagination.

Need some project to fire you up?

You can visit and check out this extensive list of Arduino projects from lifehack.

Popular Arduino Board Versions and Variations


Don’t be surprise to see so many Arduino versions and variations. Remember that Arduino is an open – source platform. This might be a little confusing or overwhelming but trust me, it’s not difficult. 🙂

So here are the most popular Arduino boards.

1) Arduino UNO ATMEGA328

Arduino UNO board

Arduino UNO microcontroller is the most popular and most widely used by Arduino hobbyist. It is using a microcontroller ATMega328 from ATMEL (later bought by Microchip). This Arduino board runs on 5V supply. ATAMEGA328 Arduino  has 14 digital Input / Output pins, 6 analog inputs, 32 KBytes Memory and 16 Mhz Clock speed.

2) Arduino UNO R3

Arduino UNO R3

Arduino Uno R3 is the improved version of Arduino UNO. Arduino R3 uses ATmega16U2 instead of the 8U2 found on the previous Arduino UNO version.  This makes Arduino UNO Rev3 faster. It also has more memory.

Arduino Uno Rev 3 also adds SDA and SCL pins next to the AREF. It also added IOREF pin that allows Arduino shield to work and adjust to voltage coming from the board.

Arduino Uno v3 board is backward compatible which means it will work with all existing shields designed for Aduino UNO board but it can also work with new shields which uses UNO R3 additional pins.

3) Arduino Leonardo

Arduino Leonardo Microcntroller board

Arduino Leonardo looks almost similar with Arduino UNO with some differences.

Like Arduino UNO it operates at 5V and it has 32 KBytes of Flash memory. Its clock speed is 16 Mhz.

It has a different printed name on the microcontroller board – Arduino Leonardo. It also uses a different microcontroller IC – ATMEGA32u4. Compared to UNO, it has more input / ouput digital pins. There are 20 to be exact.

4) Arduino MEGA 2560

Arduino MEGA 2560

If Arduino UNO is the baby board, its mama is the Arduino MEGA.

It has 54 digital input / output pins. It has 16 analog inputs. It has bigger flash memory at 256 KBytes. Well, aside from the Arduino MEGA print on its hardware, it is using ATMEGA2560 as its microcontroller.

5) Arduino DUE

Arduino DUE microcontroller board

Unlike the previous 3 Arduino boards, Arduino Due uses only 3.3V as power supply. It uses SAM3X8E ARM Cortex as its microcontroller. It has 54 digital input/output pins. It has 12 analog inputs and 2 analog outputs.

It has also bigger flash memory at 512 Kbytes.

6) Arduino NANO

Arduino NANO

If you are a space saver, you might be looking for a smaller Arduino board. The best Arduino board for you is Arduino Nano. This Arduino version uses ATMEGA328 as its microcontroller.

7) Arduino Pro Mini 328

Arduino Pro Mini 328

Arduino Pro Mini 328 is running on 5V with 16MHz bootloader. A bootloader is a program that loads when you power up the board. Arduino Pro Mini does not come with connectors populated so that you can solder in any connector or wire however you want it.

This is a cheaper version of Arduino. It uses SMD components and was designed in two layers. The Arduino Pro Mini works with the FTDI cable but the FTDI cable does not bring out the DTR pin so the auto-reset feature will not work. It has a built in voltage regulator on board so it can work up to 12VDC without any problem.

This is not for beginners. If you are starting, the best way is to start with Arduino R3 UNO or Arduino MEGA R3.

Want more?

Here is also a cool video comparing different Arduino board types and their uses.

Arduino Starter Kit


If you are a beginners, I suggest that you start with Arduino starter kit. What is more frustrating that turning on your Arduino kit only to find out that you lack some components?

For a price of less than $50, you can find a good Arduino starter kit at Adafruit.

What is inside the Arduino UNO Kit?

Arduino Starter Kit

1) Arduino UNO Board with ATMEGA328 microcontroller

This is the heart of your Arduino project.

2) Wires

You need plenty of this to connect your circuit on the bread board. The cool thing about starter kit, these wires are already spliced. You don’t need to cut and remove the insulators. They are ready to be used and plugged into the bread board.

There are 65 flexible breadboard wires in 8 colors to help you trace your circuit connection better.

3) Bread board

Arduino Braed Board

This is called a bread board but it is not a bread. Obviously, not for eating. 🙂

It has a dual purpose:

  • One is to hold the components in place.
  • Two, it is used to connect components to one another. Inside the breadboard, those holes are connected in a certain way.

The cool thing about bread board, you don’t need to solder your wires to connect your circuits. Just push the wire on correct holes in the breadboard and you can have a cool circuit without soldering.

If you are wondering how the breadboard is connected, see the diagram of breadboard connection below.

bread board connections diagram

4) Resistors

Resistors are added in the Arduino circuits to limit current within the specification of the circuit. It would be helpful for you to know some basic electronics like Ohm’s law to understand how to use resistors.

Here is a cool video tutorial about Ohm’s Law from Bruce.

Arduino Starter Kit contains different values of resistors.

  •  5 pieces of 100 ohm resistors – These resistors are used for output pins
  • 5 pieces of 1K resistors – These resistors are used to limit current flowing through light emitting diode (LED)
  • 5 pieces of 10K resistors – These resistors are used for pullups (connect the pin to supply) & pull downs (connect the pin to ground)

5) Arduino USB cable

Universal Serial Bus (USB) cable is what you use to connect your Arduino board to your computer. The Arduino starter kits contains a 3 – inch USB cable.

Below the USB wiring diagram.

USB wiring diagram

The sides of the USB cable is connected to 5V and GND coming from your computer. The Data- and Data+ is what you use to program your Arduino board from your PC. That connection is where the data communication between your PC and your Arduino board takes place.

6) Light Emitting Diode (LED)

Light Emitting Diode LED polarity

LED turns on and gives out light when there is current flowing through it. They come in different colors.

This one is tricky. LED comes with polarity. That means you can’t interchange the two legs. One LED leg (pin) is positive which also called anode. The other LED leg (pin) is negative which is also called cathode.

You will know the negative pin because it is located at LED part with the flat side.

Arduino starter kit has 5 pieces of red LED.

7) Push Button Switches

This is a cool video tutorial about Arduino push button switches and how to wire it.

8) Potentiometer

potentiometer

A potentiometer is cool 3 terminal resistor network.

The first and the third pin is the two ends of the resistive strip. The second pin is connected to the wiper arm that moves through the resistive strip.

How do you use a potentiometer?

You connect terminal 1 and terminal 3 to 5V and GND. Then turn the knob to turn the wiper arm. As you turn the knob, you can get a variable voltage at terminal 2 from 0V to 5V depending on where the wiper arm is located.

Need more explanation?

Watch this short video tutorial on how potentiometer works.

Arduino Shields


Arduino shield is an Arduino module that can be plugged on top of your existing Arduino PCB boards to extend its capabilities. Many Arduino shields are stackable. They are easy to mount and cheap to produce.

For example, as you see on the picture below, you can stack and combine Arduino UNO board, Voice Box Shield and WiFly Shield to form a more complete module.

Stackable Arduino Shields
Courtesy of SparkFun

Below are some of the popular Arduino shields available in the market:

Arduino Bluetooth Shield

Arduino Bluetooth

Arduino bluetooth module allows your Arduino board to communicate and operate over wireless bluetooth network connection. It uses serial communication over bluetooth.

This Bluetooth Arduino module has 14 digital input/output pins, 6 analog inputs, 16 MHz crystal oscillator,  an ICSP header and a reset button. It runs on 5V supply but it can have an input voltage  from 2.5V to 12V due to its voltage regulator.

It has a flash memory of 32 KBytes, 1 KBytes of EEPROM.

The Bluegiga WT11 module on the Arduino Bluetooth module provides Bluetooth communication with computers, phones, and other Bluetooth devices. The WT11 communicates with the ATmega328 via serial communication using RX and TX pins.

Arduino Android Shield

Arduino Android and IOS Shield

Did you know that you can use your Android phone or IOS phone with all its sensors as part of your Arduino project?

All you need is 1Sheeld+ Arduino Android shield.

The good news is that you can use it too for IOS phones.

This is a great way to integrate you cell phone, and all its sensors, into your Arduino project. Within minutes of using the 1Sheeld Arduino Android shield, you can make significant progress creating Arduino wireless project.

 

Ethernet Shield

Arduino Ethernet Shield

Need to connect your Arduino to internet network? No problem.

Just grab Arduino ethernet shield. Then plug it into your Arduino board. This shield will allow your Arduino board to connect to the internet.

Xbee Shield

Xbee Arduino Shield

The Arduino Xbee shield allows your Arduino board to communicate wirelessly to other devices using Zigbee protocol. This module can communicate up to 100 feet indoors or 300 feet outdoors.

Adafruit Industries 2.8″ TFT Touch Shield

Arduino-TFT-Touch-Shield-Capacitive-Touch

If you want to add a beautiful 2.8 inch Arduino touch screen display, then this TFT Touch Shield is perfect for you. This one has a capacitive touch screen which is more sensitive than resistive touch screen. It has a bright 4 white LED backlight and a very colorful 18-bit color control.

This shield uses Serial Peripheral Interface (SPI) for the display and SD card. Easy to use with Arduino UNO, Mega and Leonardo. The shield is available as fully assembled and ready to use. No wiring or soldering needed. This comes with a library. Load the shield library and you’ll have it running right away.

Arduino WiFi Shield

Arduino Wifi Shield

Arduino Wireless WiFi shield connects your Arduino to the internet wirelessly! To connect to WiFi network, just plug the shield to your Arduino board. There is no further configuration needed. WiFi shield comes with a library.

Adafruit PN532 NFC/RFID Controller Shield

PN532 RFID NFC Shield

This RFID Arduino shield from Adafruit uses the PN532 chip-set. PN352 is one of the most popular Near Field Communication (NFC) chip on the market. NFC is one of the ways for two very close devices to communicate to each other. PN352 is is used in almost every phone or devices that does NFC. PN352 can read and write to tags and cards.

This Arduino RFID shield comes with a library.

Also note that NFC is an extension of RFID, so anything you can do with RFID you can do with NFC. It can do 13.56Mhz RFID.

Arduino Relay Shield 

Arduino Relay Shield

Relay shield provides four high quality relay that can control high current loads connected to your Arduino boards. It has a normally open (NO) and normally close (NC) relay.

You can use relay shield to control external devices that could not be directly controlled by the digital input / output pins of Arduino.

This shield has four light emitting diode (LED) indicators to let you know whether your relays are turned on or turned off. Relay shield can be used to turn on or turn off motors, fans or lights.

Arduino Power Supply Shield

Adjustable Arduino Power-Supply-Shield

If you are working on motor or robots that consume a lot of power, you might consider using the adjustable Arduino power supply shield.

This power supply Arduino module has an adjustable voltage regulator that can be switched on and off by your Arduino.

The output voltage can be adjusted from 1.25 V to the input voltage level by turning a small screw on the potentiometer. A set of 5 LED indicators display the rough output voltage at various increments.

You can use the Power Supply Shield to supply power to motor drivers, servos and other parts of your robot. Your Arduino microcontroller can then turn off the module when they are not needed.

Adafruit Wave Shield for Arduino Kit

Adafruit Wave Shield

Want to add music to your Arduino project? You are in luck. Adafruit Wave Shield can play music files in .wav format.

It can play up to 22KHz 12bit uncompressed audio files of any length. It’s low cost, available as an easy-to-make kit. It has an onboard DAC, filter and op-amp for high quality output. Audio files are read off of an SD/MMC card, which are available at nearly any store. Volume can be controlled with the onboard thumbwheel potentiometer.This shield is a kit, and comes with all parts you need to build it.

Note: Not compatible with Arduino Mega or Leonardo.

Arduino Stepper Motor Shield

Arduino Motor Shield

Arduino motor shield from SparkFun can control two DC motors.

Based on the L298 H-bridge, this Arduino Motor Shield  can drive up to 2 amps per channel.

The board takes its power from the same VIN line as the Arduino board. It includes blue and yellow LEDs to indicate active motor direction.

Note also that all driver lines have diode protection from back EMF (electromotive force). Back emf is an unwanted voltage produce by coils of wires in the motors that can damage the your power source.

Arduino LCD Shield

Aduino LCD shield

Liquid crystal display (LCD) is a flat display that uses liquid crystals to display characters. Liquid crystals do not give out light directly. Instead they use backlight to produce image.

If you wish to incorporate LCD as your Arduino display, this shield is perfect for you.

This Arduino LCD shield uses a 16×2 Character LCD. With this, it is  possible to control a 16×2 Character LCD, up to 3 backlight pins and 5 keypad pins using only the two I2C pins on the Arduino.

Smoke Detector Shield

Below is a cool demo of how the Arduino smoke detector shield works.

Joystick Shield Kit

Arduino Joystick Shield

If you have played Nintendo before, then you are familiar with a joystick. Joystick is simply a stick that you can move in different directions to control an object.

Joystick shield provides a joystick with 5 buttons (4  away from the joystick and 1 on the bottom). You can use the joystick to control melody or pixels on a screen. On the other hand, the buttons can be used for navigation or game control. If you want to jump directly into the example sketches, go for it:

GSM/GPRS Shield

Arduino GSM GPRS Shield

The GPRS/GSM shield provides you a way to use the GSM cell phone network to receive data from a remote location. This you to use GSM and GPRS communication covering voice and text communication. This GPRS/GSM shield is controlled via its UART.

A little note about GSM and GPRS.

GSM (Global System for Mobile communication) is a digital mobile communication system that is widely used in Europe and other parts of the world.

General Packet Radio Services (GPRS) is a packet – based wireless communication service with data of 56 to 114 Kbps and continuous connection to the Internet for cellphones and computers. GPRS is based on Global System for Mobile (GSM) communication and complements existing services such as cellular phone connections and the Short Message Service (SMS) or text message.

MP3 Player Shield

This is a cool video about mp3 player shield demo. He has a cool robot too.

Camera Shield

Arduino Camera Shield

Camera Shield is the first shield board that support photograph based on the solution of VC0706 + OV7725. These are high performance camera processors with enhanced image processing functions. Camera shield library controls this module via UART/SPI.

Want more Arduino shields? Here is a giant Arduino shield list.

Arduino Programming


How to program Arduino?

Can you do Arduino programming even if you have not do any programming before?

Don’t worry. Programming Arduino doesn’t need to be difficult for several reasons.

First, there are so many Arduino libraries that are available publicly that you can copy and modify.

Second, there are lots of documents that you can study to help you program Arduino the correct way.

Arduino Programming Syntax


Arduino Programming Syntax

What is a programming syntax?

Programming syntax is the set of rules that you need to follow in writing the Arduino program (code). It gives you the correct format, order and what specific words or command you can use that your Arduino board can understand and follow.

Arduino programming happens on Integrated Development Environment (IDE). See how IDE looks like below.

Arduino Integrated Development Environment IDE

The IDE is a text editor where you can write your Arduino code. When you open an Arduino program, it is being opened on IDE.

When you save a file in Arduino, the file is called a sketch.

The coding language that Arduino uses is like C++ which is a common language in the world of computing.

If you have no idea about C++, you can read more and learn from Tutorialspoint.

One thing to note, the program you code on IDE for Arduino could not be loaded to Arduino device right away. IDE will convert your program into machine language that your Arduino board can understand.

In the programming world, it is called compiling. To compile your Arduino program, you just need to click few buttons and IDE will take care of the rest.

Here are some of the basic Arduino programming rules:

Program Variables


arduino progarm variable

What is a variable?

A variable is a word in the code that is used to store program values that you assign to them. You can use any variable name as long as it is not one of Arduino commands.

For example: int age = 26;

In the example above, age is the variable and it has a value of 26 assigned to it.

Please note that Arduino variables are case – sensitive which means capital and small letters are treated as two different things. It means that “age” and “Age” are two different variables.

Arduino Variable Types


There are different types of data used when programming. In the same way, these data can only be stored on variables with the same data type.

Here are some of the different variable types used in Arduino programming:

Char

Char variable is for data type that takes up 1 byte of memory that stores a character value.

Character literals are written in single quotes  ‘ ‘  while multiple characters use double quotes ” “.  See sample char variable program below.

  • char myCharac = ‘C’
  • char myCharac = ‘CDE’

Int

Integer variables are primary data types for whole numbers without decimal points.

For Arduino Uno, an integer variable stores a 16-bit (2-byte) value. It stores value in the range of -32,768 to 32,767.

For Arduino Due, integer variable stores a 32-bit (4 byte) value. It stores value in the range of -2,147,483,648 to 2,147,483,647. See sample int code below.

  • int lcdPin = 202;

Unsigned Int

Unsigned int (unsigned integers) are the same as integer since  they store a 2 byte value.

The unsigned integer stores only positive values. It stores values in a range of 0 to 65,535.

For Arduino Due, unisigned int stores a 4 byte (32-bit) value ranging from 0 to 4,294,967,295. See sample code for unsigned int below.

  • Unsigned Int myLCD = 5096;

Long

Long variables are extended version of integers. It stores 4 bytes compared to 2 bytes of Int.

It stores values from -2,147,483,648 to 2,147,483,647.

Note that the stored value must be followed by an L to force it to become long. See sample code below.

  • Long Length = 1235L;

Short

A short is a 16-bit data-type for integers (whole numbers without decimal points.

For all Arduino types, short variable stores a 16-bit (2-byte) value. It stores numbers from range of -32,768 to 32,767. See sample code below.

short = mySwitch = 123;

Byte

A byte is like an unsigned integer that stores an 8-bit unsigned number, from 0 to 255.

Float

Float variable is used for numbers with decimal point.

Floats have only 6-7 decimal digits of precision. That means the total number of digits, not the number to the right of the decimal point.

Unlike other platforms, where you can get more precision by using a double (e.g. up to 15 digits), on the Arduino, double is the same size as float.

Floating point math is slower than integer math in performing calculations so avoid it if you can unless you really need to manipulate values with decimal points.

Double

Double variable is similar to float.

On Arduino Uno and other ATMEGA based boards, this occupies 4 bytes. It is almost same as  float in byte size with no gain in precision.

On the Arduino Due, doubles have 8-byte (64 bit) precision.

See Arduino.cc for more information.

Boolean

Boolean variable contains two values. It is either true or false. It is often used in programming as a flag to check if the condition is  true or false.

Example: Boolean ProjectRun = true;

Arduino Program Structure


Arduino program needs to have at least two parts. It has setup () function and loop () function.

Setup function is the preparation part of your Arduino program. It runs at the start of the program and is run only once. Setup function is where you usually initialize serial communication.

Loop function is run after the setup function. Loop is the heart of the Arduino program and as the name implies, it is run continuously as if looping it over and over again.

Loop function is where your device wait for inputs and generate outputs.

 

Arduino Common Commands


Curly Braces

Curly braces { } signals the start and the end of a function. A function is any group of commands that are grouped together. Below is a sample of setup function. See the curly braces used in the beginning and end of the function.

 

void setup()

{

// initialize the digital pin as an output.

pinMode(led, OUTPUT);

}

Semicolon

Semicolon  ;  is used at the end of one line of command. It signals to IDE that this is the end of the command. Code statements without semicolon will result to compiler error. It is important to add it on every end of Arduino statement. See sample code below.

For example: int switch = 10;

Double Backslash

Double backslash  //  is used to comment out Arduino code. This means you can read it, but IDE will ignore it.

It is a good programming practice to use comment when writing your Arduino program. Two to three years down the road, comments will help you remember the logic behind your program. See sample program below.

void setup()

{

// This line is a comment

pinMode(led, OUTPUT);

}

Block Comment

Block Comment /*  */  helps you comment out several lines of codes without putting a double backslash for every line of code. It makes commenting a block very convenient.  The comment starts with /* and ends with */. See the sample code below.

void setup ()

{

/* This is the start of the comment

int line = 123;

int switch =  234;

This is the end of the comment */

}

pinMode(pin, mode)

This command is usually executed during setup () function to set the pin either as input or output. See sample below.

pinMode(led, INPUT); // this sets the led pin to INPUT

pinMode(light, OUTPUT); this sets the light pin to OUTPUT

 

digitalRead(pin)

DigitalRead command reads the status of the digital pin. The value could either be high or low. In the example below, variable led_status would store value of either HIGH or LOW depending on the status of the led pin.

led_status = digitalRead(led);

 

digitalWrite(pin)

Digital Write function forces the output pin to either HIGH or LOW. In the sample code below, ledPin is the pin used to turn on and turn off LED. Setting the ledPin to HIGH turns the LED on. Setting the ledPin to LOW turns the LED off. The program below is part of LED blinking code.

void loop()
{
digitalWrite(ledPin, HIGH);   // sets the LED on
delay(5000);                  // waits for 5 seconds
digitalWrite(ledPin, LOW);    // sets the LED off
delay(5000);                  // waits for 5 seconds
}

delay(ms)

This command makes the program to pause in milliseconds (ms). Note that 1000 ms is equal to 1 second. So for the program below, the program will pause for 10 seconds.

delay (10000); // pause for 10 seconds

millis()

This command will return how long since the Arduino program was started. The value returns back to zero after 9 hours of running. In the example below, the variable time will store the elapsed time since Arduino program started.

time = millis(); //stores elapsed time to variable time

 

min (x, y)

Min command chooses the smaller value between x and y.  In the example below, variable younger will have a value of  16.

younger = min(16, 55); //younger will store the value of 16

 

max (x, y)

Max command chooses the bigger value between x and y. In the example below, variable cell will store value of 29.

cell = max(10, 29); //cell will store 29

 

random(min, max)

Random command generates random numbers between min and max. So for the code below, variable myNumber will store any number between 10 and 20.

myNumber = random(10, 20);

 

Best Arduino Projects for Beginners


You don’t need to be a super scientist or an nerd geeky engineer to build your own awesome Arduino UNO projects. You can start with simple Arduino projects and slowly move to a more advance and more challenging Arduino projects.

I’m sure you will love these Arduino based projects for beginners.

Here are some of the top Arduino projects for beginners that you can start with.

1. Make LED Blink Using Arduino

LED-Blink-Arduino-Project

Let us start with the most basic Arduino project. Make an LED blink using Arduino UNO. You will need a breadboard, wires, USB cable, LED, 10K ohm resistor and 220 ohms.

Check out makespaces for details of the Arduino circuit and program.

2. Arduino Moving Light Display

After making the LED blink, we can start to use more LEDs and make the light move. This would be a cool Arduino project. See video below to see how Arduino moving light display project works.

 

Enjoy the fun looking at running lights in your breadboard by doing the Arduino LED projects. You can make LED blink. You can make the lights run in parallel. You can even arrange the LED lights and make them act like an LED equalizer.

You can check out this project from Starting Electronics.

3) Arduino LED Equalizer and Volume Meter Project

After making the LED move and dance, it is time to design a sleek looking Arduino equalizer. The stronger the music volume, the more LED lights turn ON.

You can find a good tutorial on how to create your own Arduino equalizer here.

 

4) Simple Arduino Stopwatch Project

StopWatch Arduino Project

You can create a simple Arduino stopwatch project that tells you how many seconds has elapsed since you push the reset button. You can check the project created by Conor at instructables and get the step by step instruction.

 

5) Motorized Camera Slider

We will not end this list of cool Arduino projects without mentioning about this stepper motor Arduino Camera slider.

Are you a photography enthusiasts who wants a motorized camera slider? With a combination of a camera, mechanical slide and step motor, you can create and power your motorized camera slider with Arduino Nano.

You can find the step by step tutorial here.

6) Arduino Temperature Sensor

Arduino Temperature Sensor

Arduino temperature sensor uses thermistor as temperature sensor. The resistance of the thermistor changes with the change in the temperature.

Arduino is then used to compute for the actual temperature based on the changed in thermistor value. The temperature is then displayed on the LCD module.

Here is a step by step guide from Circuit Basics.

7) Arduino Robot Arm

Arduino Robot Arm

I always wanted to create robot arms. Perhaps, my inspiration came from watching iron man and Robocop.

Hmmm, too much robot is not good for the health. 🙂

But if you are like and you want to create your own Arduino robot arm, you can satisfy your own craving today.  Here is a good tutorial about Arduino robot arm project from Lifehack.

8) Arduino Light Sensor

Arduino Light Sensor

Arduino light sensor uses light dependent resistor (LRD). LDR changes its resistance value depending on the amount of light it gets from its surroundings.

This simple Arduino light sensor project automatically turns on the light emitting diode (LED) when the room darkens. Check out instructables for details.

9) Arduino Quadcopter

A quadcopter is a simple flying mechanical vehicle that has four arms. Each arm has propeller.

Two of the rotors turn clockwise, while the other two turn counter clockwise. Quadcopters are aerodynamically unstable, and require a flight computer to convert your input commands into commands that change the RPMs of the propellers to produce the desired motion.

If this sound interesting to you and you are ok with the challenge, you can get a good guide at skilled flyer.

Wrapping It Up


Where do we go from here?

Learning Arduino is like learning a new language. Just keep on working on it until you become comfortable. Never ever give up. If you get stuck, there are some places that you can go to and get help to keep you moving.

Here are some Arduino tutorial you can learn from:

It would also be a big plus to learn some basic electronics and some debugging. Here are some of the best electronic books to keep you going.

Enjoy and Have Fun!

Kindly share this article. Thanks :)

One thought on “Arduino Tutorial for Beginners – (From Arduino Starter Kit and Programming to Arduino Projects)”

  1. If you have questions about Arduino, just add them below.

Leave a Reply

Your email address will not be published. Required fields are marked *

eight − 4 =