Arduino IDE is an application that exists for various environments - Linux, Windows and MAC and allows you to write programs, compile them and flash them in a micro-controller.

This application was for a long time been in version 1.0.5 and in the meantime the final version of the 1.6.x family that is currently in 1.6.4 has been released. This version is the version released by the original creators - The Arduino.CC, this version can be downloaded in this link. However, another 1.7.x version appeared in version 1.7.4 and was launched by - the entity that manufactures the cards in Italy. This version can be downloaded from this link.
Apart from these confusions created by the dispute of the trademark Arduino - both versions work with the version 1.6 family is the one I think should be used since it is the one that has the latest developments and patches.

It is a tool that allows the creation of so-called sketchs that allows to materialize the instructions that the micro-controller must execute. The IDE supports a ton of cards / microcontrollers and even adds support for new microcontrollers.

The programming is done in C/C++ with resources to several libraries to perform various actions on the I/Os of the micro-controllers. These libraries can also be downloaded from the Internet and added to the IDE.

Any program in Arduino has a master file with the INO extension or the old extension PDE.

The structure of a program is as follows:


The two functions are incorporated into the final code as follows:

  • The setup function is executed only once at the start of the program - It mainly serves for initialization code.
  • The loop function is executed repeatedly just after the setup.

The Arduino IDE is a GUI that hides the invocation of the compiler (GCC) and the software that allows the flash of the code in the micro-controller (avrdude).

This is an advanced tool that only interests those who want to make programs to run on micro-controllers.
The limits are our imagination (the size of the flash memory or the number of I / O pins). There are thousands of designs to explore and replicate that allow you to do things as diferent as opening garage doors through bluetooth or controlling a watering system according to the level of humidity of the land, etc.

If you think it’s a tool just for learning or for small things, firmware Marlin used on some 3D printers is compiled with the Arduino IDE.

Useful links: