If you’ve opted to use a general-purpose IDE for Arduino development, perhaps in conjunction with a Makefile, it’s helpful to know what directories to point your IDE toward to get decent code completion.
To that end, I’ve added a list of the ones I know about to my wiki.
I’ve added basic Arduino support to Komodo Edit for projects that use a Makefile. This simply involved adding a menu and a toolbar for invoking
make monitor, and
If you want to add the menu and toolbar to your Komodo, expand this file and drop its contents into your
/home/<username>/.komodoedit/<version-number>/tools directory or the equivalent on your OS. (Update: see this comment for a potentially easier way to add the tools.) Add your preferred keyboard shortcuts for any or all of the commands by editing the items under “Arduino” in the Toolbox. I’m using F5 to Build, F6 to Upload, and F7 to Monitor.
To enable syntax highlighting on
.ino files, add a new entry for
*.ino files in Preferences | File Associations and set the Language to C++.
This setup gives me a good set of features I want, including the ability to:
- Edit files with a full-featured programmer’s editor.
- Perform the most used operations with keystrokes or GUI bits.
- Create projects to encapsulate all relevant project files.
- Navigate to all relevant project files from within the same environment.
- View the results of building, uploading, and cleaning the project in the same environment.
Features notably absent are syntax checking and code completion. Komodo doesn’t currently parse/compile C/C++, so adding these features may be possible, but it won’t be easy.
So, I’m shopping for alternatives to the official Arduino IDE that better suit the projects I’m working on. In this installment, I look at two promising Makefile implementations to see if either come through as a workable solution. One of the attractive things about a Makefile approach is that you should be able to wire it up to your favorite editor du jour.
Continue reading “Battle of the Arduino Makefiles”
My Arduino work has gotten to the point where I find the official IDE a little constraining. I’m not alone in this. A quick search will reveal that there are lots of people working on different approaches to making the development process more scalable and otherwise more powerful. Some are developing alternative IDEs, some are working on integration with existing IDEs, and yet others are working on Makefile and Cmake based scripted solutions.
It’s important to remember that Arduino was intended for use by designers and artists—and to leverage as much as possible what those users were already used to with Processing. The official IDE succeeds remarkably in that, something for which the developers must be congratulated. The fact that more advanced users are seeking other ways to develop for the platform is in fact a testament to the success of the overall design.
<flame>In spite of this, there is a (tiny?) cult of people who find sport in bashing the official IDE for <insert sin here>. It’s important to remember that Arduino wasn’t designed for you. The reason that Arduino is as successful as it is—the reason the community is so large and diverse, the reason there are so many libraries for tackling the kind of things you want to do, the reason the hardware is so plentiful—is because the people behind it made it as accessible as they did. So, please dial down the negavibes and be happy to be part of a community that will (let you) build (advanced) tools for your favorite tools.
An incomplete list of completely unvetted libre alternatives for Linux includes:
- Special-purpose IDEs
- Integration with existing IDEs
There is a page at the Arduino wiki on the subject as well. Some of the alternatives listed above appear abandoned and/or otherwise obsolete, so caution is advised.
In the upcoming days, I’ll be working with these options to try to find something that better suits the scale of the projects I am now working on. I’ll report back anything interesting.