Arduino is a fun entry point for those of you who want to program microcontrollers. It comes in two parts: the Arduino development board itself, and the Arduino IDE, a very easy to use notepad-like environment where you can write your code.The Arduino board itself is nothing more than a development board for an ATmega328P microcontroller with some nice extras, while the Arduino IDE takes care of making programming a microcontroller a kid's game.
However, the IDE can sometimes get in the way of a more advanced programmer, as it ads a lot of extra code we sometimes do not want (o prefer to do our self). The remedy is to program the ATmega328P with Ateml Studio 7, just as if it were a regular microcontroller. But for that, we first need to tell it how to "talk" to the Arduino to program it.