New Arduino Command Line Interface


#1

Arduino has finally released the Alpha version of the new CLI.

Announcement: https://blog.hackster.io/announcing-the-new-arduino-command-line-interface-cfc4c49e103b
Github: https://github.com/arduino/arduino-cli

Mugsy currently uses Ino(http://inotool.org/) to programmatically upload scripts to the Arduino. Although I love the way it works, it is no longer supported and I’ve been looking for an alternative for a while. I’ve dabbled with Platform IO a bit but I’ve never been really happy with it.

I’m going to start diving into the new CLI this eve but wanted to send out the call for anyone else who had some spare brain cycles and wanted to check it out as well.

I’m mostly interested in upload speed, as anything being pushed to the Arduino would usually be pre-compiled.

For those who are new to some of this and wondering what the CLI does: It allows us to compile/upload/etc scripts directly to the Arduino through the terminal or more importantly, programmatically. A very basic example would be:
User Clicks on Grinder Test Link-> Link Calls Python Script -> Python Script Calls Arduino CLI-> CLI Uploads Grinder Test Script to Arduino-> Grindy Grindy Grindy

Hope all is well!


#2

COMMAND LINE FOR LIFE!

This is cool, I’ll try to check it out soon. I’ve always stuck with the Arduino IDE just because I like eliminating wildcards on hobby stuff. However, I’m sure I don’t need to tell you that the IDE is horrible for anything but basic projects.

Thanks for highlighting the release!


#3

Yeah, totally agree. The Arduino IDE drives me bonkers. I primarily use Sublime Text and iTerm with ZSH


#4

To clarify… for the final mugsy you are looking to be able to do on the fly script changes and uploads to arduino controller and want to explore their new command line to do so correct?

And I have always preferred command lines… just so much easier to script things.


#5

Yup, exactly. There is not one monolithic script that runs on the Arduino. The pi pushes the script to the arduino depending on what function was selected. Ino actually works pretty well and is currently what Im using for a CLI bridge from the front end. Sadly its abandonware from what I can tell, so I don’t want to use it in production.

All of the scripts are pre compiled, so the push is pretty quick.


#6

Interesting modular architecture. I’m currently relocating my office / hobby room and everything is packed up so I can’t help just yet.