This article is a part of Arduino / ATmega328p Embedded C Firmware Programming Tutorial. Consider exploring the course home page for articles on similar topics.

Arduino Tutorial Embedded C Register Level Arduino Master Class


This tutorial will walk you through the process of configuring Atmel Studio such that you can directly Program Arduino from Atmel Studio. This will let you choose Professional grade IDE ie. Atmel Studio for your programs and still use a Maker / Prototyping Hardware ie. Arduino for Testing or Deployment. 

PCBway Banner

To Flash Arduino from Atmel Studio you need to install Arduino IDE and Drivers before. Please Follow these steps to install if you haven’t.

Configuration Steps

Time needed: 5 minutes.

Configuration Steps for Atmel Studio for Flashing or Programming any Arduino Board

  1. Open Atmel Studio

    Open your installed Atmel Studio IDE.

    Atmel Studio 7

  2. Go to External Tools Menu

    On the Menu Bar go to Tools -> External Tools

    External Tools Atmel Studio

  3. External Tool Window

    You should see a window like this but will be empty for you. I had already added two commands for Arduino UNO and Arduino NANO. 

    Atmel Studio Add External Tool

  4. Add a new Tool for Arduino UNO 

    Click ‘Add’ to add a new Tool. And fill the text boxes as below.

    Title: Arduino UNO

    Command: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe

    Arguments: -C"C:\Program Files (x86)\arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM10 -b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

    Select 'Use Output Window'

    You can give any Title you want. The Command should have the path to avrdude.exe that will be in the location where you have installed the Arduino IDE. The Arguments should have 3 most important parameters in it, the Microcontroller which is dependent on the Arduino Board you are using, COM Port and Baud Rate. COM Port system dependent and can be detrmined from Device Manager. Baud Rate should be 115200.

    Arduino UNO / NANO Microcontroller > -patmega328p 
    Arduino MEGA Microcontroller > -patmega2560

    Add External Programming Tool Arduino in Atmel Studio

  5. Add a new Tool for Arduino Nano

    Click ‘Add’ to add a new Tool. And fill the text boxes as below.

    Title: Arduino NANO

    Command: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe

    Arguments: -C"C:\Program Files (x86)\arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM5 -b57600 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

    Select 'Use Output Window'

    You should notice that the microcontroller is the same as in Arduino UNO as both the board uses the same MCU. The COM Port is changed as every new board will get a new COM Port assigned by your PC. You have to check in Device Manager which COM Port is assigned for your Board. The Baud Rate for Arduino NANO is 57600. 

  6. Build Your Program

    It usually takes few seconds to get the build done.

    Build the Program in Arduino

  7. Flash Arduino and Test

    Go to Menu -> Tools and Select the Tool you want to Test. 

    Select The Tool to Flash

  8. If Everything is fine you should get a message like this

    It usually takes few seconds to flash the Arduino.

    Success Flashing Arduino from Atmel Studio


Do you want to get your PCB manufactured? Check out PCBWay They have their own factory at Shenzhen, China and provides affordable PCB Manufacturing and Assembly Services. They can manufactur FR-4 , Aluminum, Rogers, HDI, Flexible and Rigid-Flex boards, with very reasonable price. Before you order you can check for quotation Online instant Quote .

If you want to know how to place an order on PCBWay Website and get your PCB Board manufactured in professional quality check out my step by step guide on PCBWay : How to Order Manufacturer Review - Electronics-LabTo check if the gerbers generated by your CAM software is correct you can view them on the Online Gerber Viewer. If you want to get any project assembled and mass manufactured then they also have a SMT & THT assembly service, which starts from only $30 with free stencil and free worldwide shipping. Learn More about their Assembly Service.

They have other services like Layout Design and also supports students with PCB and Project Sponsorship. It is a higly recommended company to work with. Learn more about PCBWay.

Crazy Engineer



Mosen · July 6, 2019 at 4:17 pm

Hello there.
Thanks. What about Arduino Mega?

    Crazy Engineer · July 6, 2019 at 4:54 pm

    Please Read the Tutorial Once Again. You will Find Required Information.

Kalachand das · March 25, 2020 at 1:56 am

How can I contact with you?

yingnan cui · April 12, 2020 at 9:16 am

avrdude.exe: no programmer has been specified on the command line or the config file
Specify a programmer using the -c option and try again

    Crazy Engineer · April 17, 2020 at 11:10 pm

    Looks like the Drivers are not present or the configuration is not correct.

Neeraj · June 29, 2020 at 12:21 am

Can this fix avrdude not responding() error for arduino Uno?

Arkapravo Mandal · August 22, 2020 at 6:26 pm

I tried but failed because the process was incomplete, sorry to say that but yes it was incomplete process. there are much more to do it before add external tool.

    Crazy Engineer · August 22, 2020 at 6:33 pm

    Don’t hesitate to share the missing steps. Please share them in a comment below. Other readers will be benefitted.

Brandon Swanson · September 11, 2020 at 7:15 pm

Mega2560- When i follow the steps to flash i get the following error. Any ideas? Name has been changed as well as comport to match.

avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 1 of 10: not in sync: resp=0x22

    Crazy Engineer · September 17, 2020 at 10:53 pm

    Either the Pin Connection / Wiring is Wrong or the Device is Locked or Damaged

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.