What is Arduino? and How to Clone Arduino?


What is Arduino?

Arduino is an open-source hardware and software combo available online. I doesn't mean that the boards are freely distributed, of course the software could be freely downloaded but the hardware as a kit needs to be purchased. But the PCB design and layout are freely available to download and build your own board at home.

The Arduino is an 8-bit microcontroller board used to perform a variety of tasks and projects. This board contains a whole host of digital and analog pins and few LEDs to indicate the activity on it. It typically contains 14 Digital pins running from 0 through 13 on the above shown board and 6 Analog pins A0 through A5. Other than this a lot of other features like PWM and Serial ports are multiplexed along with the pins being digital. Also its interesting to note that Arduino are available in a variety of form factors like LilyPad, Nano, Mega etc and flavours like NG, Diecimila, and the Duemilanove with additional features. Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. A worldwide distributed community of students, hobbyists, artists, programmers, and professionals has gathered around this open-source platform and their contributions have added up to an incredible amount of accessible knowledge that can be of great help to novices and experts alike. Moreover to mention these people have developed libraries and the Arduino IDE comes preloaded with all the kinds of essential libraries to get a kickstart for newbies and hobbyists at hand while making projects.

Why Arduino?

Use Arduino because its cheap, Simple to use and program, can become intelligent if programmed for it, can sense, can control by adding very few additional drives to it. An moreover its supported by a variety of cross platforms like Windows, Linux and Mac.

Arduino programs may be written in any programming language with a compiler that produces binary machine code for the chip integrated on the Arduino board.

The Arduino project provides the Arduino integrated development environment (IDE), which is a cross-platform application written in Java. A program written with the IDE for Arduino is is usually referred as a "sketch".

And any unfamiliar student, artist, enthusiast or a total dummy can easily write their own programs by learning the Arduino programming from the IDE itself. The programming guide is embedded into the IDE which can be browsed by accessing the Tools-->Reference menu. The Arduino IDE supports the C and C++ programming languages using special rules of code organization. The Arduino IDE supplies a software library called "Wiring" from the Wiring project, which provides many common input and output procedures. A typical Arduino C/C++ sketch consist of two functions that are compiled and linked with a program main() into an executable cyclic executive program:

setup(): a function that runs once at the start of a program and that can initialize settings.
loop(): a function called repeatedly until the board powers off.

After compilation and linking with the GNU toolchain, also included with the IDE distribution, the Arduino IDE employs the program avrdude to convert the executable code into a text file in hexadecimal coding that is loaded into the Arduino board by a loader program in the board's firmware.

A typical program for a beginning Arduino programmer blinks a light-emitting diode (LED) on and off (usually connected on pin 13 of Arduino board). This program is usually loaded in the Arduino board by the manufacturer to show its in working condition.
Screenshot of Arduino IDE showing the sample program of LED blinking on pin 13.
So all you need is an Arduino board and its IDE. Once you have these two things you can literally build any project by adding few additional sensors and of course the connections required.

Building an Arduino Clone

Though Arduino distributed free circuit diagram to build the complete hardware we really don't need so. So we just need the bare minimum components to be plugged along with the IC available on Arduino board like crystal and so to get it to work. Here is a simple diagram representing what is this bare minimum configuration of Arduino which is sometimes referred as "Arduino Barebone".
The Arduino barebone PCB files (Designed in Eagle software) can be downloaded here 
Arduino barebone connection diagram with bare minimum components
Important to note here while building barebone is the IC to be used like ATmega-168 and ATmega-328 (these two are popularly seen on arduino boards and clones). Also you need to check the IC is having a "Bootloader" or not when bought and its in a brand new condition. This can be done by simply flashing the LED ON/OFF program from examples of the Arduino IDE. If it shows you "sync 0x00" error then, probably your IC is not having bootloader. Well! this is out of scope for this article and "flashing a new IC with bootloader" shall be dealt in another post. Barebones are intended to be used as a run time hardware only but not as a programmer board similar to Arduino, meaning that you can't program the mentioned ATmega ICs using this barebone connection. You'll have to plug the IC first onto your Arduino board, program it and then put it back into the barebone (probably in your project) circuit to get it to work.

You Might Also Like


Popular Posts

Like us on Facebook

Flickr Images