5 ms·
Does anyone have recommendations for writing Arduino code without the Processing-based Arduino IDE? I'm sure there must be a not-too-difficult makefile-based co
by news_to_me 7y ago
Does anyone have recommendations for writing Arduino code without the Processing-based Arduino IDE? I'm sure there must be a not-too-difficult makefile-based compile/upload configuration, but I'm not aware of any (nor do I trust myself to write one from scratch).
At this point, the Arduino IDE is my least favorite part of the whole ecosystem.
- faster 7y agoI switched to VS Code with the PlatformIO extension. A little bit of conversion is required, 'ino' to 'cpp' and some shuffling between directories.
- monocasa 7y agoI've used this in the past to get started. https://github.com/mkleemann/cmake-avr https://github.com/mkleemann/cmake-avr
- tridentlead 7y agoI don’t know if this is what you’re looking for but I frankenstiened this from some stuff on the net: https://github.com/dstutman/avr-template https://github.com/dstutman/avr-template
- etaioinshrdlu 7y agoI had good luck with Atmel Studio which is a variant of MS visual studio. This was on the ARM based arduino parts. It overwrote the arduino boot loader. The debugger was actually useful!
- leonvv 7y agoThe Arduino IDE has a verbose mode which prints out all the commands it uses to upload your program.
- jlubawy 7y agoThis plus VS Code and CMake is what I'd use to start any new project, saves time having to figure out all the options yourself.
- tuankiet65 7y agoI used to rely on this Makefile template https://github.com/sudar/Arduino-Makefile https://github.com/sudar/Arduino-Makefile.
- inamberclad 7y agoI use PlatformIO's CLI, which is pretty good for build management. It also has its own library system.
- anonsivalley652 7y agoNot Fritzing. Generally: Arduino CLI Mac + Xcode: EmbedXCode. Windows: Arduino add-on for VS. I would keep the Arduino IDE because no work-alike is going to have every feature.
- jpindar 7y agoAtmel Studio. It was very easy to set up, and can call AVRdude for uploading. It has the ability to import typical Arduino projects, so you can either keep using the Arduino libraries or convert the project to pure C/C++.
- craftinator 7y agoI really wanted to use Atmel Studio, but couldn't get it working correctly on Arch Linux + wine. Can't imagine why such a major company wouldn't support Linux native.
- feistypharit 7y agoLikewise, I use https://github.com/plerup/makeEspArduino https://github.com/plerup/makeEspArduino
- miccah 7y agoI wrote a very, very simple Makefile awhile back utilizing the arduino CLI options. https://github.com/mcastorina/laptop-remote/blob/master/Makefile https://github.com/mcastorina/laptop-remote/blob/master/Make... Haven't used it since then, so YMMV.
- carlosperate 7y agoArduino has recently modularised their IDE, and the arduino-cli can be used to crate a sketch, compile it and flash the board: https://github.com/arduino/arduino-cli https://github.com/arduino/arduino-cli
- mcshicks 7y agoI have used emacs on linux before and it's fine. However I don't know how well it works with non standard arduinos like atttiny. I can't remember the exact write-up I used but I just googled emacs arduino.
- inetknght 7y agoMy understanding is that GCC can cross-compile to Arduino if you target AVR. See also https://www.arduino.cc/en/Reference/UsingAVR https://www.arduino.cc/en/Reference/UsingAVR I haven't done it personally... but I also haven't yet poked much into Arduino either. I'm still having fun with Raspberry Pis. Arduinos... are a little more in-depth.
- fake-name 7y agoPlatformio[0] is probably the best option, here. It supports the arduino-style code munging, though realistically if you're at least remotely familiar with C++ it's super easy to not use it. It also supports basically every embedded platform out there to some extent. [0]: https://platformio.org/ https://platformio.org/
- craftinator 7y agoPlatformIO plugin for VSCode. There's a bit of a learning curve, especially for folder structuring requirements, but overall it makes you stay organized in a consistent and repeatable way. It's also great if you're working with more than just Arduino framework (Espressif, Kendryte, STM32), as you can keep your code modular and easily apply it to different microcontrollers.
- klingonopera 7y agoI've managed to setup Code::Blocks[0] to use WinAVR to program Arduinos. Here's a guide[1] I found for that. It works, but I probably forgot to add some optimization flags, because the code ran slower than when compiled with the Arduino IDE. And then I realized, you can just take any .c or .cpp written for the AVR, rename it to .ino, put it in a folder with the same name, and use the Arduino IDE to compile and flash. So I never really use C::B for the Arduino anymore, I just write the code in Notepad++[2] and use the Arduino IDE to upload. [0]: http://www.codeblocks.org/ http://www.codeblocks.org/ [1]: https://uetianblogger.blogspot.com/2015/05/winavr-and-codeblocks-for-atmega-code.html https://uetianblogger.blogspot.com/2015/05/winavr-and-codebl... [2]: https://notepad-plus-plus.org/ https://notepad-plus-plus.org/ EDIT: > you can just take any .c or .cpp file Eh... actually only .cpp, as the Arduino IDE is C++. Or a .c file that will also compile in C++.
- franky47 7y agoAs others mentioned, PlatformIO is a good start. For those who are interested in building a library, here's my TravisCI workflow for unit testing & running examples on various platforms: https://github.com/FortySevenEffects/arduino_midi_library/blob/master/.travis.yml https://github.com/FortySevenEffects/arduino_midi_library/bl...
- lonelygirl15a 7y agohttps://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino https://marketplace.visualstudio.com/items?itemName=vsciot-v...