Apologies for this being a bit of a brain dump, but here's what I know related to your question.
The Arduino software is free software and the hardware designs are available under a free (of some sort) license. There are several arduino related packages in the repo. Do an apt-cache search arduino To see them. Among them is arduino-mk which AIUI provides command line tools to use with arduino boards. You need this for the first sort of alternatives I know of: * Alternatives to the Arduino's implementation of Wiring (which is the C++ library Arduino sketches are written against). The first alternative is to program directly against AVR libc http://www.nongnu.org/avr-libc/user-manual/modules.html Which is what the existing arduino sketches software is built on top of. Another alternative is to program directly in AVR (or ARM for the Tre) assembler. Essentially, you have the board circuit diagrams and the chip datasheets for all arduino boards. So you are free to approach them in exactly the same way any other embedded microcontroller project is. Pick a suitable GCC supported language and write/find the core libraries. * Alternatives to the IDE: The only alternative to the IDE for Arduino sketches I've used is an Arduino mode for GNU/Emacs which AFAIK isn't in the repo. But I haven't made extensive use of it. [1] Here are some VIM sketch syntax support pages for Arduino[2]. Hope this helps. [1] http://www.emacswiki.org/emacs-en/ArduinoSupport [2] https://duckduckgo.com/html/?q=arduino%20mode%20for%20vim
