Pages: [1] 2   Go Down
Author Topic: Arduino Builder – utility for viewing, building and uploading Arduino sketch  (Read 8510 times)
0 Members and 1 Guest are viewing this topic.
Sydney
Offline Offline
Full Member
***
Karma: 1
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
  • 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.

Links









Intro

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 Builders 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 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.png (64.18 KB, 656x586 - viewed 49 times.)
« Last Edit: March 23, 2013, 11:03:56 am by stanleyhuang » Logged


Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16525
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?

Lefty
Logged

Sydney
Offline Offline
Full Member
***
Karma: 1
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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


Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16525
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?

Lefty
« Last Edit: March 02, 2013, 11:36:46 am by retrolefty » Logged

Sydney
Offline Offline
Full Member
***
Karma: 1
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The CLI can do this, simply by specifying - for serial port option in the command line. I will add this feature to GUI soon.
« Last Edit: March 02, 2013, 11:49:38 am by stanleyhuang » Logged


Sydney
Offline Offline
Full Member
***
Karma: 1
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Just released 0.6.1. In this revision, I added a "Build Only" button to do compiling only. A pie chart UI was also added to show memory consumption for target MCU.
Logged


Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16525
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm having trouble getting your application to run on my windows XP SP3 system.

Version 6.1
opening 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.0
Opening 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.


Lefty
Logged

Norfolk UK
Offline Offline
Edison Member
*
Karma: 52
Posts: 2214
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm having trouble getting your application to run on my windows XP SP3 system.

Version 6.1
opening 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.
Logged

Handle every stressful situation like a dog. If you can't eat it or hump it. Piss on it and walk away.

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16525
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm having trouble getting your application to run on my windows XP SP3 system.

Version 6.1
opening 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.

Lefty
Logged

Sydney
Offline Offline
Full Member
***
Karma: 1
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I will test it on XP soon.
It runs quite well in Windows 7.
Logged


Sydney
Offline Offline
Full Member
***
Karma: 1
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Version 0.6.2 is released. The new version fixed several issues and works well Windows XP.
Logged


Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16525
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Version 0.6.2 is released. The new version fixed several issues and works well Windows XP.

Thank you very much, I will give it a try sometime later today.

Lefty
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 331
Posts: 16525
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Well I gave it a try and it's still a no go. Lock's up file explorer and can only reboot to recover. Maybe it's my machine, so best to have someone else with an XP report if it works for them or not.

Lefty
Logged

Sydney
Offline Offline
Full Member
***
Karma: 1
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I tested in on Windows XP in VM. What's your IE version? Is it 6.0? The UI (including the pie chart) is HTML based as I plan to port it to other OS than Windows.
Logged


Sydney
Offline Offline
Full Member
***
Karma: 1
Posts: 108
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Pages: [1] 2   Go Up
Jump to: