Arduino Builder – standalone utility for building and uploading Arduino sketches

Why bother to make this utility as the Arduino IDE can do everything?

  • 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.
  • And I love Arduino!

That’s why I made this utility, simple, straight-forward and trying to have a sleek look, to make myself feel better when proceeding an upload for 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.

Arduino Builder comes in GUI (graphic user interface) version, for normal end users, and CLI (command line interface) version, named Arduino Uploader, for integrating into 3rd-party applications.

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.

Arduino Builder (GUI)

Only 3 choices are to be made before the compiling and uploading can be proceeded.

  1. Choose file, either a sketch file (.ino), an HEX file (.hex) or an ELF file (.elf)
  2. Choose the board type in the dropdown list
  3. Click on the serial port (or USBASP button) and the uploading will be proceeded

During compiling or uploading, the current status will be displayed and the detailed information will be shown in the console area. A detailed tutorial is available here.

   Arduino Builder - Step 1  ab2 ab4

Screenshots of Arduino Builder

Arduino Uploader (CLI version of Arduino Builder)

Arduino Uploader is a command line utility invoked by command line options and will return after compiling and uploading proceeded.

Command Line Syntax

ArduinoUploader [sketch/HEX file] [board type] [serial port/usbasp]

Board types:
1 - Arduino Uno
2 - Arduino Leonardo
3 - Arduino Esplora
4 - Arduino Micro
5 - Arduino Duemilanove (328)
6 - Arduino Duemilanove (168)
7 - Arduino Nano (328)
8 - Arduino Nano (168)
9 - Arduino Mini (328)
10 - Arduino Mini (168)
11 - Arduino Pro Mini (328)
12 - Arduino Pro Mini (168)
13 - Arduino Mega 2560/ADK
14 - Arduino Mega 1280
15 - Arduino Mega 8
16 - Microduino Core+ (644)
17 - Freematics OBD-II Adapter


Compile and upload Blink.ino to Arduino UNO via COM4:

ArduinoUploader Blink.ino 1 COM4

Burn bootloader for Arduino Pro Mini 168 via USBASP

ArduinoUploader optiboot_atmega168.hex 9 usbasp