A good addition for stand-alone arduino users.

I am using custom, stand-alone Arduino.
I am uploading my sketches through avrdude. It’s very annoying to look for the .hex files in the Temp folder.

So it is better to add an option in IDE, so that one can choose where to save the hex and other build files. Some older versions used to save .hex files in the project folder. I like that.

It is better to add this feature for those who use stand-alone arduinos with non-standard programmers.

Get in line sarkar, people have been asking for similar functionality for ever.


What is a "non-standard programmer"?

Like AVR Doper (V-USB HID based programmers). Not compatible with Avrdude.

Get in line sarkar, people have been asking for similar functionality for ever.


Why only asking? Aren’t there any developers, who can make custom IDE versions?

Probably, I think most people who need this sort of facility move to another development environment. I've been using Notepad++ and a makefile for some time.

I have seen some 3rd party mods to the IDE but if you do that you have to constantly integrate into the next version. That's OK if a modified IDE is you passion in life, but most people probably want to do other stuff. Those that are into IDE dev work wouldn't touch the Arduino IDE with a barge pole I would think.


Like AVR Doper (V-USB HID based programmers). Not compatible with Avrdude.

From http://www.obdev.at/products/vusb/avrdoper.html (emphasis mine)…

We recommend that you use AVR-Doper in HID mode instead, which has no such problem. This mode is supported by avrdude. More information about interface modes and their relative advantages can be found in the project description.

I subscribe the "please set the compiled files into a fixed known directory", just like it used to be on, say, 016. I would also add, if feeling happy, add also an auto conversion to a .BIN file :)

It's not just who doesn't use the IDE/bootloader that may need the files. For example, with the ELF and source files, you can fire up AVR Studio and do a C source level simulation, with breakpoints, step-by-step "debugging" and all! I use simulation extensively on my microcontroller projects, it saves me a whole lot huge bunch of time.

But there are already some mechanisms in place to deal with non standard programming tools. Teensy uses its own programming tool rather than avrdude. It has its own boards.txt file that creates entries for: .upload.avrdude_wrapper .build.post_compile_script

I'm not sure how it all fits together but I bet if you look into that, you can find a way to get the filenames handed to your own wrapper script that can then call whatever tool you need to perform the actual upload just like teensy does.

--- bill

Yes, if you have installed Teensyduino, then your Arduino IDE has been patched to recognize those directives in your boards.txt file. They are not limited to Teensy in any way. You are welcome to use them.

The modified java source code is copied to a “src” folder within your Arduino folder. On a mac, control-click on Arduino and select “show package contents”. On Windows and Linux, you can see inside the Arduino folder as normal files.

I submitted this as a patch the developer mail list on December 23, 2008 and again January 1, 2009. It was rejected on January 3, 2009, with the following explanation:

This is a small patch but a big change in philosophy. The Arduino IDE isn’t a general purpose AVR development environment. It’s a tool to support the programming of Arduino (and Arduino-compatible) boards. Adding the ability to launch arbitrary external tools would change expectations for the software, suggesting further complex additions that would add little value for most Arduino users.

If there’s interest in a general purpose AVR IDE, might it make more sense for that to be a separate application? It could, of course, build on the source code for the Arduino environment. Additionally, the Arduino core libraries are standard AVR C and C++ and usable independent of the IDE (e.g. with the included Makefile).


If this sentiment has changed and this patch would now be welcome in Arduino, I would be happy to prepare another patch against the latest in github. But unless David speaks and specifically says this patch is welcome, there isn’t much point going to that trouble.

If anyone wants to use these directives, separately from Teensy and my Teensyduino installer, I’ll be happy to help (eg, separate those bits of source code from the other Teensy-specific patches). Even though the GPL only requires providing the source, which the installer does, if you need a bit of help, all you need to do is ask. Of course, be prepared to compile your own customized Arduino IDE (eg, JDK, ant, misc dev tools, etc). This stuff isn’t standard in the Arduino IDE, and unless opinions have changed since January 2009, it probably never will be.

Also, it's worth mentioning issue 690.


Since David created this issue, it seems likely he might accept a patch if it were implemented as a tools menu plugin.

That wouldn't allow seamlessly integrating a non-avrdude backend, so I'm not planning to work on this. But maybe someone who feels strongly about HEX file output might do the work and submit a patch?