Using Arduino Boards in Atmel Studio 7
Using Arduino Boards in Atmel Studio 7
Sepehr Naimi
www.NicerLand.com
12/17/2017
Contents
Introduction ...............................................................................................................................3
Installing Atmel Studio and Making the First Project ......................................................................3
Downloading Avrdude ................................................................................................................3
Checking COM Port .....................................................................................................................4
Opening the Atmel Studio and using avrdude ...............................................................................5
Making a Project ........................................................................................................................7
Programming the Arduino Board .................................................................................................9
The IC pins ............................................................................................................................... 10
References ............................................................................................................................... 10
2
Introduction
There are various hardware tools to program Atmel microcontrollers. But if the chips have
bootloaders, they can be programmed using serial ports without needing to use any hardware tools.
Bootloader is small software which gets the program through the serial port and programs the IC
chip.
The microcontrollers of Arduino boards have boot loaders. As a result, you can connect them to the
PC and use them as an AVR trainer board. The document teaches you to use Arduino Trainer boards
in Atmel Studio.
You can also burn the boot loader on a new chip and make your own trainer board. But to program
the boot loader onto the new chip you need a programmer.
Downloading Avrdude
1. To program Arduino boards you need Avrdude. Download Avrdude from the following
website:
http://mirror.rackdc.com/savannah//avrdude/avrdude-5.11-Patch7610-win32.zip
2. Unzip the downloaded file, rename the directory to avrdude, and copy it into your C drive.
Note
If you already have the Arduino IDE on your PC, the avrdude.exe file is located in
C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
and avrdude.conf is in
C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf
3
Checking COM Port
1. Using a USB cable, connect the Arduino board to your PC.
2. Right click on the Computer icon and choose Manage.
3. Click on Device Manager and then Ports (COM & LPT). Check the COM port of the Arduino
board.
4
Opening the Atmel Studio and using avrdude
4. Open the Atmel Studio IDE.
5. Go to the Tools menu and choose External Tools… .
5
c. Type the following address next to the Command:
C:\avrdude\avrdude.exe
d. Avrdude needs the following arguments: avrdude.conf file, the microcontroller part
number, the COM port, the serial baud rate and the hex file to be programmed. The
following table gives the arguments for different Arduino board. They should be
typed in the Arguments textbox:
Note: Change the COM port and the location of avrdude.conf, according to your computer.
7. Go to the Tools menu again. Arduino Programmer should be added to the Tools menu.
6
Making a Project
8. Go to the File menu. Click on New and then Project.
1 2
9. Choose GCC C Executable Project and name the project as toggleProject. Then press OK.
7
1
/*
* toggleProgram.c
*
* This program toggles ports B and C.
*
* Created: 4/3/2015 4:43:51 PM
* Author: Naimi
*/
#include <avr/io.h>
int main(void)
{
DDRB = 0xFF;
DDRC = 0xFF;
8
Programming the Arduino Board
12. Connect your Arduino board to the PC.
13. Go to the Tools menu, and click on Arduino Programmer. The following texts appear in the
Output window and the L LED starts blinking on the board.
9
The IC pins
The following picture shows the Arduino UNO board together with the Atmega328 pins.
Label Port
SCL PC5(ADC5/SCL)
SDA PC4(ADC4/SDA)
AREF AREF
GND GND
13 PB5(SCK)
12 PB4(MISO)
11 PB3(MOSI)
10 PB2(OC1B)
9 PB1(OC1A)
8 PB0
7 PD7
Label Port 6 PD6
A0 PC0(ADC0) 5 PD5
A1 PC1(ADC1) 4 PD4
A2 PC2(ADC2) 3 PD3(INT1)
A3 PC3(ADC3) 2 PD2(INT0)
A4 PC4(ADC4) 1 PD1(TXD)
A5 PC5(ADC5) 0 PD0(RXD)
References
http://www.atmel.com/
http://www.nongnu.org/avrdude/
10