Though an emulator is quite useful for debugging code that has no side effects, most real-world applications include some circuitry besides the Arduino. If a microcontroller on an Arduino had a JTAG interface, it would be pretty straight-forward, but what if it's e.g. an Arduino Uno?

  • 5
    Could you elaborate on what you are trying to accomplish? Its not clear from the question that what exactly do you want to debug.
    – asheeshr
    Commented Feb 27, 2014 at 12:24
  • 2
    @AsheeshR The only thing that is possible to debug on Arduino is source code. There's a set of tools called "debuggers", which employ breakpoints, step-by-step evaluation etc. I don't understand your question. Commented Feb 27, 2014 at 15:12
  • 1
    @jippie You're wrong about that. DebugWire yes, but JTAG No. The ATMega168/368 has no JTAG support whatsoever. If you do a quick search of the datasheet you will not find any reference to JTAG
    – Madivad
    Commented Feb 27, 2014 at 15:15
  • 1
    DebugWire is an Atmel proprietary protocol, not much information available about it.
    – jippie
    Commented Feb 27, 2014 at 15:44
  • 1
    It seems there is possibility for interactive debugging with this tool: visualmicro.com/post/2012/05/05/Debug-Arduino-Overview.aspx it is not free but it is quite cheap. I haven't used it myself so I don't want to provide an answer for it.
    – jfpoilpret
    Commented Feb 27, 2014 at 22:47

2 Answers 2


The Arduino Uno uses the Atmel Atmega328p microcontroller, which only has one debug option, DebugWire. There are a few tools that can work with it, but the least expensive and most commonly available is the AVR Dragon.

You can use AVR Studio 6 for this. You can use the .elf file file produced during the Arduino build process directly, but setting up the debugger is a little easier if you port the Arduino program to the AVR Studio. It's not difficult, but there are a lot of little pieces to deal with. There are guides online to help you through this.

  • 1
    Is there an AVR Dragon clone with open-source firmware? Commented Feb 28, 2014 at 13:28
  • Any links to those online guides? Commented Feb 28, 2014 at 13:30
  • There are MKII clones which will do debugwire with this chip, but I'm not aware of their open source hardware or software status, and am having trouble finding a good example easily. Here's one guide for using AVR Studio 6 with arduino projects: engblaze.com/…
    – Adam Davis
    Commented Feb 28, 2014 at 15:48
  • 1
    Doesn't this require removing a capacitor? Commented Sep 16, 2017 at 11:42
  • 1
    @PeterMortensen I don't know, you'd have to examine the arduino uno schematic and the debugwire requirements along with your debugger's documentation. It may be worth asking a new question to get or share details of a specific setup.
    – Adam Davis
    Commented Sep 16, 2017 at 12:00

This might not be right for you, but the Visual Micro plugin for Atmel Studio and Visual Studio has a USB debugger which only uses Arduino code.

In the background the debugger uses Serial which might affect some time-sensitive applications.

Enter image description here

  • Will this really work on Arduino Uno? Commented Sep 16, 2017 at 11:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.