Arduino CLI

I have been playing with arduino-cli recently, and I've been somewhat impressed.

With my experience of that, and a desire to maybe incorporate the ESP-IDF into UECIDE I am considering something radical...

  • Rip out all UECIDE's compilation and board management completely, and just use it as a wrapper to arduino-cli - or the compilation system of your choice.

It would be a massive change, and I'd appreciate the thoughts of others that use UECIDE.

It would mean:

  • UECIDE's aggressive caching would go
  • The plugin manager would vanish / radically change
  • You'd not be able to install just the boards you need
  • You would finally get 100% compatibility without those pesky compilation errors
  • Have instant access to all the Arduino cores and boards without me having to manually port them
  • Have more than just Arduino (such as ESP-IDF)

So UECIDE would become little more than an editor that is geared towards editing Arduino code.

Thoughts? Comments?


Salut Matt,

Salut Matt,

I like UECIDE because I can select the boards I use and the compilation works much faster than with the arduino IDE. If UECIDE becomes just another editor, I can stick with the ones out there like Atom or PlatoformIO. I also rpofited a lot of your fast support in case of any problems. I woudl regret if UECIDE evolves into a frontend of the Arduino IDE.

Ciao, Mathias

I could do with finding some

I could do with finding some way of integrating arduino-cli into UECIDE. My problem is that there are so many Arduino-like cores around now, and supporting them all is not really practical. By integrating arduino-cli I then get instant support for all the cores that Arduino has without needing to do any work.

I keep getting requests along the lines of "Can you add such-and-such a board?", which usually means a good few weeks of back-and-forth trying to port the Arduino core files to UECIDE.

I also want to have some way of integrating the ESP-IDF, which uses a python-based script system to both configure and build a project.

The hardest thing about using arduino-cli is selecting the board options. There's no way of finding out what the options are without examining the boards.txt file. My thinking is that UECIDE will do that for you and present the options for you to select. I'm considering moving to a "create project..." style where you can have "Arduino CLI project", "ESP-IDF Project", "Generic Makefile Project", "Native UECIDE Project" etc (where the latter is what you have now).

That system would then move things like the board / core / compiler / board options away from the menus and into a "project configuration" panel / dialog to more closely tie the settings with the project, and make them more specific to the type of project you've chosen.

Maybe I should create uecide

Maybe I should create uecide-cli - a native tool for compiling really fast from the command line. Completely separate the IDE from the compilation - then it's just one of many plugable compilation systems. That would be good, and remove a lot of the complexity from the IDE. The IDE becomes an editor with a selection of native back-ends (arduino-cli, uecide-cli,, etc). It also means you can more easily use your own preferred editor with the UECIDE compilation and board management. And it would be faster too without Java being involved...

Now there's a thought...