Sometimes, we only want to compile a pre-written sketch and upload it to Arduino. Normally we do this with Arduino IDE, but it's not the best experience.

Sometimes, we just want to burn bootloader in HEX file for a board. There are many GUIs to AVRDUDE out there for doing this. But many of them are out-dated and do not handle for Leonardo (ATMega32U4 based), not mentioning they are just GUIs to AVRDUDE which can't compile.

Arduino IDE forces sketch file name to be located in a directory of the same name and this is not handy sometimes.

Arduino IDE does not properly handle library files which reside in the same directory. When there is a duplicated version in IDE's libraries directory, compilation fails.

That's why I made this utility, simple, straight-forward and trying to have a sleek look, and to feel better when compiling a sketch and programming Arduino.

Arduino Builder is a fully standalone utility for viewing, compiling and uploading Arduino sketch file and compiled ELF or HEX file (usually bootloader) to Arduino board with Arduino serial programming interface, USBasp or Arduino ISP, without the need for Arduino IDE. This can be easily done with no more than 3 steps. When compiling is required (for uploading sketch file), the utility scans the sketch for referenced libraries and build the necessary libraries automatically.

The distribution package contains Arduino 1.0.4 core and library files, AVR GCC compiler toolchain and AVRDUDE. As only the standard Arduino libraries are shipped with the utility, in order to build with custom libraries, please place the library source code files (with identical directory name) in <install dir>/arduino/libraries directory, as what is done with official Arduino IDE.

Looks like quite an effort, thanks for the contribution I will check it out. However it does not (nor can it) deal with my pet peeve that the arduino IDE no longer stores a compiled sketch's hex file into the users sketch folder as it did long ago in much earlier versions. It's a real pain to search out the temp directory for the strange file names it uses and to then store them away somewhere useful for future use. What procedure or steps do you use to handle your hex file storage?

With my utility, compiled hex is always stored in the same directory of the sketch.

Wow, nice. That feature alone is worth using your utility. Can your utility do a compile without a upload, much like the IDE has a verify option that just compiles a sketch without having to have the board attached?

Version 6.1opening file explorer and clicking on ....GUI.exe, I see opening window of your GUI app for about 3 seconds, it then disappears and file explorer just hangs with a hourglass cursor. Task manager says file explorer is not responding, can't quit file explorer and have to reboot to recover.

Version 6.0Opening file explorer and click on ....GUI.exe , I get opening window of your GUI app. Select Uno board and point to a arduino sketch .ino file and then click on comm 5 (my uno board's comm port) and GUI says error uploading.

Version 6.1opening file explorer and clicking on ....GUI.exe, I see opening window of your GUI app for about 3 seconds, it then disappears and file explorer just hangs with a hourglass cursor. Task manager says file explorer is not responding, can't quit file explorer and have to reboot to recover.

Instead of re-booting, open Task Manager and 'End Process' on explorer.exe. Then from within Task Manager do File->New Task and type explorer.exe and hit okay. Should be quicker than re-booting.

Version 6.1opening file explorer and clicking on ....GUI.exe, I see opening window of your GUI app for about 3 seconds, it then disappears and file explorer just hangs with a hourglass cursor. Task manager says file explorer is not responding, can't quit file explorer and have to reboot to recover.

Instead of re-booting, open Task Manager and 'End Process' on explorer.exe. Then from within Task Manager do File->New Task and type explorer.exe and hit okay. Should be quicker than re-booting.

When I try to End Process on explorer.exe (not responding) task manger kills it and then shows a new copy of explorer.exe starting and it also is not responding. As I said rebooting was the only way to get going again.

The new release of 0.7.0 has added options for MCU operating frequency including 20Mhz, 16Mhz, 12Mhz and 8Mhz. An interesting Arduino variant (based on ATMega644pa) named Microduino+ is also supported in this version.