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. A real case for Arduino Uploader integration is Mind+, the Arduino graphical programming environment.
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.
- Choose file, either a sketch file (.ino), an HEX file (.hex) or an ELF file (.elf)
- Choose the board type in the dropdown list
- 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.
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
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