Arduino Software IDE

As we know the arduino is an opensource hardware and software platform. For developing the projects arduino providing the software IDE. You can download arduino software IDE from the official website. They are updating the software time to time so get in touch with arduino website for software updates. IDE is available for Windows, Mac OS X (Mac OSX Lion or later), Linux 32 bit , Linux 64 bit and Linux ARM (experimental).

Arduino IDE – You must know

Arduino GUI

This is the first window of arduino ide. It is very simple and easy to use. There is no need of taking in-depth knowledge to understand the ide. Just go through the all tabs and buttons you will know all the things about the ide. Arduino IDE has very simple GUI but includes some good things in it.

There are some good features you should know before using it.

    • Getting Started with Arduino
    • Language Reference
    • Examples
    • Arduino Board and Port Selection
    • Serial Monitor

  • Arduino Hex File Location
  • Writing code to AVR ICs using External Programmer

Getting Started with Arduino

You will get all the information about connecting the board, driver installation, uploading the arduino sketch and more.

Find this offline at Arduino IDE – Help -> Getting Started or
at Arduino website Getting Started.

Language Reference

Offline in IDE – Help -> Reference
at Arduino Website – Reference

Arduino programming language is a set of c/c++ functions. Arduino programs can be divided in three main parts: structure, values (variables and constants), and functions. So structure, variables and constants are similar to c language but there are different functions to access the arduino hardware.
Instead of making program for every part arduino provided wide libraries for accessing different part of the hardware as few listed below:

Digital I/O Analog I/O
pinMode() analogReference()
digitalWrite() analogRead()
digitalRead() analogWrite() – PWM
Advanced I/O Time
tone() millis()
noTone() micros()
shiftOut() delay()
shiftIn() delayMicroseconds()
External Interrupts Random Numbers
attachInterrupt() randomSeed()
detachInterrupt() random()

See the libraries page for interfacing with different types of hardware.


Arduino is widely popular among the students,startups, designers, hobbyists and anyone interested in developing their idea. Because it is providing large support in developing your project. It providing huge collection of examples included in the Arduino IDE. As you can see from the below picture.

The examples are very good with explanation and pin connection with the peripherals. Examples includes all programs from basics to the advanced level.

Arduino Board and Port Selection

Arduino supporting a huge range of boards that vary by their hardware specification. Before uploading the sketch(code) we need to select the arduino board from the IDE Tools -> Board or see the below picture.

After selecting the board we upload the code to the board through the USB port. Arduino show itself as a COM port to the PC. Sometimes there may be more COM port visible to the IDE. So make sure you are selecting the correct one. First, go to the device manager and see which COM port number arduino is connected select that one from the IDE.

Arduino in Device Manager

Here arduino is at COM6. Now select the arduino from the IDE as shown below.

Select Arduino Port from IDE

Here arduino ide showing COM6(Arduino Uno), so its easy to identify but some compatible arduino board don’t show the board name.

Serial Monitor

Most microcontroller has a serial port for communication. The arduino also have two wire Tx and RX pin for serial communication. In few projects, for displaying some data we need some display device like lcd. And for reducing the development and wiring time we enable the arduino serial functionality. By this instead of displaying on LCD, we display it on arduino ide serial monitor. We have used this feature in arduino temperature and humidity sensor tutorial for displaying temperature and humidity.

Arduino Serial Monitor

Simply click on right side button showing serial monitor as in the picture. And your arduino board starts sending data serially like below.

Arduino Serial Monitor

Arduino Hex File Location

Every ide when compile the code it generate the hex file. This hex file is actually written into the microcontroller board like arduino or AVR ICs. Some time we want this hex file to give to client or someone who you don’t want to give the actual source code of the project. So by giving this hex file your client can make n number of copy by writing to the AVR ICs but can’t make changes.
So what is the arduino hex file location:
This is a windows temporary folder so lots of file is already there how will you identify your hex file.
Step 1: Search the folder by your project name like you are coding blink or digitalReadserial project, then search blink. You will see the file Blink.cpp.hex. Now check in which folder it is go and copy.
Step 2: Goto file -> preferences and then select check box at show verbose output during compilation then ok.
Compile the code by pressing Verify button now you will see many files visible while compilation at arduino. But end of the compilation you will get this hex file inside some folder like build874374991363932708.tmp. See below picture:

Arduino hex file location
Note: Also notice the Date Modified time in Temp folder to differentiate between the old and current file you just compiled.

Writing/Uploading code to AVR ICs using External Programmer

Arduino boards containing the ATmel series of microcontroller. It has given its own name to each board like Arduino UNO, arduino nano etc. but all have AVR IC’s in it.
Once we have successfully done the arduino project using original arduino board. Now this program can be loaded to its equivalent AVR IC. Suppose we have created the code for arduino uno, check what AVR ic in it. Just see the board or specification you will find it had ATmega328P.

What are the Steps

Step 1: A USBasp Programmer or AVR Programmer
Step 2: Make connection from USBasp Programmer to the ATmega328P. These connections are GND, Vcc, RST, MOSI, MISO and SCK.
Step 3: Now select Tools -> Programmer -> USBasp
Step 4: Compile the code
Step 5: Upload using File -> Upload using Programmer
Step 4: Its Done…

Arduino Download

Download the Arduino Software from the official website for different platform.