We look under the hood of Arduino IDE, and use the avr-gcc compiler directly to build a program in C. We then use avrdude to upload it on Arduino Uno board.