Programmare Arduino in C o C++ puro.

Puoi programmare anche in assembly, se ne sei capace. L'IDE di Arduino è solo un modo semplificato per gestire il microcontrollore ma nulla vieta di lavorarci in C puro (gli Atmel con core AVR ad 8 bit non sono ottimizzati per il C++).
Puoi usare qualunque editor che ti aggrada, anche un semplice editor di testo. Poi salvi, compili da terminale e flashi con avrdude ed un programmatore qualsiasi, anche Arduino usato con lo sketch ArduinoISP o altro. Altrimenti su Windows puoi usare l'IDE ufficiale di Atmel.