You are on page 1of 8

Arduino – Next level of electronics

Arduino is an open-source electronics prototyping platform, designed to make the process of using electronics in
multidisciplinary projects more accessible. The hardware consists of a simple open hardware design for the Arduino
board with an Atmel AVR processor and on-board I/O support. The software consists of a standard programming
language and the boot loader that runs on the board.

Arduino hardware is programmed using a Wiring-based language (syntax + libraries), similar to C++ with some
simplifications and modifications, and a Processing-based IDE.

Currently shipping versions can be purchased pre-assembled; hardware design information is available for those who
would like to assemble an Arduino by hand. Additionally, variations of the Italian-made Arduino—with varying levels of
compatibility—have been released by third parties.

The Arduino project received an honorary mention in the Digital Communities category at the 2006 Prix Ars
Electronica.

The project began in Ivrea, Italy in 2005 to make a device for controlling student-built interaction design projects less
expensively than other prototyping systems available at the time. As of February 2010 more than 120,000 Arduino
boards had been shipped.[4] Founders Massimo Banzi and David Cuartielles named the project after a local bar named
Arduino, The name is an Italian masculine first name, meaning "strong friend". The English pronunciation is "Hardwin",
a namesake of Arduino of Ivrea.

Arduino Hardware :
An Arduino board consists of an 8-bit Atmel AVR microcontroller with complementary components to facilitate
programming and incorporation into other circuits. An important aspect of the Arduino is the standard way that
connectors are exposed, allowing the CPU board to be connected to a variety of interchangeable add-on modules
(known as shields). Official Arduinos have used the megaAVR series of chips, specifically
the ATmega8, ATmega168, ATmega328, and ATmega1280. A handful of other processors have been used by Arduino
compatibles. Most boards include a 5 volt linear regulator and a 16 MHz crystal oscillator (or ceramic resonator in
some variants), although some designs such as the LilyPad run at 8 MHz and dispense with the onboard voltage
regulator due to specific form-factor restrictions. An Arduino's microcontroller is also pre-programmed with
a bootloader that simplifies uploading of programs to the on-chip flash memory, compared with other devices that
typically need an external chip programmer.

At a conceptual level, when using the Arduino software stack, all boards are programmed over an RS-232 serial
connection, but the way this is implemented varies by hardware version. Serial Arduino boards contain a simple
inverter circuit to convert between RS-232-level and TTL-level signals. Current Arduino boards are programmed
via USB, implemented using USB-to-serial adapter chips such as the FTDI FT232. Some variants, such as the Arduino
Mini and the unofficial Boarduino, use a detachable USB-to-serial adapter board or cable, Bluetooth or other methods.
(When used with traditional microcontroller tools instead of the Arduino IDE, standard AVR ISP programming is used.)

Arduino - Next Level in Electronics Page 1


The Arduino board exposes most of the microcontroller's I/O pins for use by other circuits. The Diecimila, now
superseded by the Duemilanove, for example, provides 14 digital I/O pins, six of which can produce PWM signals, and six
analog inputs. These pins are on the top of the board, via female 0.1 inch headers. Several plug-in application "shields"
are also commercially available.

The Arduino Nano, and Arduino-compatible Bare Bones Board and Boarduino boards provide male header pins on the
underside of the board to be plugged into solderless breadboards.

Types of Arduino Boards

Flash EEPROM SRAM Digital I/O PWM Analog input


Arduino Processor Dimensions
KiB KiB KiB pins pins pins

Diecimila ATmega168 16 0.5 1 14 6 6 2.7"x2.1"


Duemilanove ATmega328 32 1 2 14 6 6 2.7"x2.1"
Uno ATmega328 32 1 2 14 6 6 2.7"x2.1"
Mega ATmega1280 128 4 8 54 14 16 4"x2.1"
Fio ATmega328P 32 1 2 14 6 8 1.1"x1.6"
Mega2560 ATmega2560 256 4 8 54 14 16 4"x2.1"

Looking at this example board from the top down, this is an outline of what you will see (parts of the board you might
interact with in the course of normal use are highlighted):

Arduino - Next Level in Electronics Page 2


Starting clockwise from the top center:

 Analog Reference pin (orange)


 Digital Ground (light green)
 Digital Pins 2-13 (green)
 Digital Pins 0-1/Serial In/Out - TX/RX (dark green) - These pins cannot be used for digital i/o
(digitalRead anddigitalWrite) if you are also using serial communication (e.g. Serial.begin).
 Reset Button - S1 (dark blue)
 In-circuit Serial Programmer (blue-green)
 Analog In Pins 0-5 (light blue)
 Power and Ground Pins (power: orange, grounds: light orange)
 External Power Supply In (9-12VDC) - X1 (pink)
 Toggles External Power and USB Power (place jumper on two pins closest to desired supply) - SV1 (purple)
 USB (used for uploading sketches to the board and for serial communication between the board and the computer; can
be used to power the board) (yellow)

Microcontrollers
ATmega168 (used on most Arduino boards) ATmega8 (used on some older board)
14 (of which 6 provide PWM 14 (of which 3 provide PWM
Digital I/O Pins Digital I/O Pins
output) output)
Analog Input Pins 6 (DIP) or 8 (SMD) Analog Input Pins 6
DC Current per I/O DC Current per I/O
40 mA 40 mA
Pin Pin
Flash Memory 16 KB Flash Memory 8 KB
SRAM 1 KB SRAM 1 KB
EEPROM 512 bytes EEPROM 512 bytes

Digital Pins
In addition to the specific functions listed below, the digital pins on an Arduino board can be used for general purpose
input and output via the pinMode(), digitalRead(), and digitalWrite() commands. Each pin has an internal pull-up resistor
which can be turned on and off using digitalWrite() (w/ a value of HIGH or LOW, respectively) when the pin is configured
as an input. The maximum current per pin is 40 mA.

 Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. On the Arduino Diecimila, these pins
are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip. On the Arduino BT, they are connected to
the corresponding pins of the WT11 Bluetooth module. On the Arduino Mini and LilyPad Arduino, they are intended for use
with an external TTL serial module (e.g. the Mini-USB Adapter).
 External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling
edge, or a change in value. See the attachInterrupt() function for details.

Arduino - Next Level in Electronics Page 3


 PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function. On boards with anATmega8, PWM
output is available only on pins 9, 10, and 11.
 BT Reset: 7. (Arduino BT-only) Connected to the reset line of the bluetooth module.
 SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although provided by the
underlying hardware, is not currently included in the Arduino language.
 LED: 13. On the Diecimila and LilyPad, there is a built-in LED connected to digital pin 13. When the pin is HIGH value, the
LED is on, when the pin is LOW, it's off.

Analog Pins
In addition to the specific functions listed below, the analog input pins support 10-bit analog-to-digital conversion (ADC)
using the analogRead() function. Most of the analog inputs can also be used as digital pins: analog input 0 as digital pin
14 through analog input 5 as digital pin 19. Analog inputs 6 and 7 (present on the Mini and BT) cannot be used as digital
pins.

 I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library (documentation on the Wiring
website).

Power Pins

 VIN (sometimes labelled "9V"). The input voltage to the Arduino board when it's using an external power source (as
opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin,
or, if supplying voltage via the power jack, access it through this pin. Note that different boards accept different input
voltages ranges. Also note that the LilyPad has no VIN pin and accepts only a regulated input.
 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come
either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.
 3V3. (Diecimila-only) A 3.3 volt supply generated by the on-board FTDI chip.
 GND. Ground pins.

Other Pins

 AREF. Reference voltage for the analog inputs. Used with analogReference().
 Reset. (Diecimila-only) Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields
which block the one on the board.

Arduino - Next Level in Electronics Page 4


Arduino Software :
The Arduino IDE is a cross-platform application written in Java, and is derived from the IDE for
the Processing programming language and the Wiring project. It is designed to introduce programming to artists and
other newcomers unfamiliar with software development. It includes a code editor with features such as syntax
highlighting, brace matching, and automatic indentation, and is also capable of compiling and uploading programs to the
board with a single click. There is typically no need to edit makefiles or run programs on the command line.

The Arduino IDE comes with a C/C++ library called "Wiring" (from the project of the same name), which makes many
common input/output operations much easier. Arduino programs are written in C/C++, although users only need
define two functions to make a runnable program:

 setup() – a function run once at the start of a program that can initialize settings
 loop() – a function called repeatedly until the board powers off

Downloading and installing the software

In order to program the Arduino board you need to download the development environment (IDE) from here:
http://www.arduino.cc/en/Main/Software
Choose the right version for your operating system.
Download the file and uncompress it.
The first thing to do is to install the drivers that allow your computer to talk to your board through the USB port.

Macintosh:
 Look for the ―Drivers‖ folder inside the ―arduino-0004‖ folder and double-click on the file called
FTDIUSBSerialDriver_v2_0_1.dmg. When this has opened, install the software contained in the
FTDIUSBSerialDriver.pkg. At the end of this process you’ll have to restart your machine to make sure the
drivers apre properly loaded.
 After the installation is successful you will also need to run the command called ―macosx_setup.command‖
 Follow the instructions provided by the program and type the password that you use to login into your
computer when asked.
 After this program has run successfully you need to turn off your computer. Don’t just reboot or logout,
really turn it off and back on again.
 When this phase is over you can plug the board into the computer.
Windows:
 Unzip the file called [FIXME] contained in the Drivers directory into a directory you can easily find later on.
 Plug the board into the computer and, when the [FIXME] New Device Found [/FIXME] window comes up,
specify the location for the install wizard to look for the drivers.

Arduino - Next Level in Electronics Page 5


 This will happen twice because the first time the computer installs the low level driver 17 then a piece of code
that makes the board look like a serial port.
 Once the drivers are installed we can launch the development environment and start using Arduino.

Using the development environment

After the application has come up you will see a window like this one
Firstly, you need to find out which port your device is connected to

Macintosh:
 From the ―Tools‖ menu select ―Serial Port‖ and select the port that begins with ―/dev/cu.usbserial-―. The last
3 characters identify which one is the USB port the board is plugged to and change if you plug arduino into a
different port .

Arduino - Next Level in Electronics Page 6


Windows:
 On Windows the process is a bit complicated at the beginning.
 Opening the ―device manger‖ from:
 Start menu -> Control Panel -> System.. -> Hardware -> Device Manager
 Look for the device in the list under ―Ports (COM & LPT)‖.
 Arduino will come up as an ―USB Serial Port‖ and will have a name like COM4.
Note: For some reasons on some windows machine the COM port has a number greater than 9 and this
creates some problems when Arduino is trying to communicate with it. Check in the Arduino troubleshooting
section of the website how to fix that.
 Then in the IDE, select the appropriate port from the Tools / Serial Port menu.

Now the Arduino development environment can talk to the Arduino board and program it.

For further details and queries log on to

http://www.arduino.cc

Arduino - Next Level in Electronics Page 7


Arduino - Next Level in Electronics Page 8

You might also like