Choose VS Code and discover how peaceful development can be

Arduino IDE has once again managed to break everything after proposing new board updates.
On top of that, it couldn’t even download or install the ESP32 board updates. At this point it’s hard to ignore the fact that the Arduino IDE is outdated, poorly designed, and stuck in place despite countless improvement suggestions from the community.

My advice:
Stop fighting with Arduino IDE. Switch to VS Code + PlatformIO, and you’ll enjoy a far more stable, modern, and frustration‑free development experience for the rest of your life.

Just do it! You won't regret.

I heard that Microsoft collects information about you when you use VS code.

What platform does not? Only way to do it without sending data is to have own non-internet connected server and client.

Arduino does not send information to Microsoft.

Related:

I don't believe this is a blanket statement.

Many of us are to new and still learning. For many of us, electronics is just a hobby, not a day job. Maybe, if you are a professional or advanced, a different IDE may be of use. But for me personally, the Arduino IDE has made it so easy to learn that I absolutely love it.

I didn't know I was? I haven't had any problems with the IDE. Any problem I had was user error.

Now...IDE DON"T PROVE ME WRONG!

Not had any issues , VS is nice , but I’ve found it hard to use and tricky to deal with libraries and boot loading - each to his own, I see little point in rubbishing it or the Arduino IDE on here though .

@Bertolli hasn't provided enough details in their complaints about Arduino IDE to properly evaluate.

If by "break everything", you mean that the developers of the boards platform in use (which may well be a 3rd party platform that the Arduino company has no involvement in maintaining) introduced regressions or breaking changes in the new version, then that is either the fault of the developers of that platform for making a bug, or else the fault of the user for not evaluating the changesets before updating.

The only blame you can place on Arduino IDE for this type of breakage is that it doesn't support per-project management of dependencies. The Arduino developers have done a lot of work in that area recently. The capability has already been added to the Arduino CLI that provides much of the non-GUI capabilities of Arduino IDE under the hood. However, support for utilizing that "build profiles" feature has not been added to Arduino IDE:

You can add the missing support to Arduino IDE via this 3rd party extension:


If by "break everything", you instead mean that the installation of the new version of the boards platform was not performed correctly, then that would indeed be the fault of Arduino IDE (or more likely of Arduino CLI, since it actually performs the platform installation for Arduino IDE).

Again, not enough details to evaluate. There was a bug in Arduino IDE 2.3.7 that caused spurious failure of platform installations that required large downloads for users with slower Internet connections:

However, that was fixed in Arduino IDE 2.3.8, which was released two months ago. If someone is still using 2.3.7, that is user error.

As for other causes of failed downloads, these are usually either caused by transient network outages (which is the fault of the network service, not Arduino IDE, and would occur just the same for any tool), or unusual configuration of the user's network/Internet connection (e.g., use of a proxy, VPN, or interference by a security system).

Especially if you are hobbyist you should use VS Code, much easier learning curve and much more logical in every way. Start with VS Code and if you get bored to VS Code as it is too easy, then you can switch to Arduino IDE and sweat with problems it has...

Are you having a laugh ?

Unless VS Code/Platform IO has changed drastically in the last couple of years I found it difficult to set up and confusing to use. I got it working eventually but often had problems and did not know what was going on and resorted to fixing problems by trial and error

After a couple of weeks I gave up and went back to the Arduino IDE. Adding libraries and boards is a breeze and it does what I want/need.

I assume that VS Code/Platform IO is a capable system but not for me and certainly not for beginners

I'm not. Perhaps you are. I sense you've developed some fondness of your preferred development environment that puts a bias on your opinion. What you present as facts are also opinions. Some may be based on your experience, but I can't agree since never had such experience and I happily use the Arduino IDE without any form of fight. As for my opinion: no IDE is perfect and my experience with VS code seems to be quite different than yours.

Vscode - yes, but I gave up on PlatformIO after the mess with the ESP32 platform. Maybe it still supports AVR, Raspberry and Teensy boards, but for the ESP32 and core v3 one now has to use Pioarduino community version instead. Since Pioarduino is a forked version of PlatfromIO, you can't have both plugins enabled at the same time. You can have both installed, but have to choose one and disable the other. What seems to be often recommended these days, is the esp-idf plugin which I expect does not come with that drawback.

At some point, if I have time, I may try and learn esp-idf, but for the time being I am still using Arduino IDE as it works well with all of the board types that I currently work with. I guess what I am trying to say is, that ditching the IDE and switching to the Vscode+platformio combination may not be that clear cut. At the end of the day its an individual choice based on what hardware you are working with.

BTW, I do still use Vscode for other programming languages and projects, just not much for micro-controller work.

@UKHeliBob , the trick I found with Vscode was to use File -> Open Folder and completely ignore anything to do with workspaces. Took me a while to figure that out. If you can't intuitively open a project and you have to use Google to figure it out, then that seems a big fail. However, once figured out, things became easier and I found it a very capable IDE. The plugin system does add complexity as each plugin has its own settings and tools.

It seems that Atom, from which Vscode was derived, has been forked and a new project, called Pulsar is now available. This project claims to have removed sending of telemetry to Microsoft. Having had a quick look at it, there are similarities to Vscode in terms of its general appearance, but is seems to be just an editor. There seems to be no integrated compiler or plugins mechanism. BTW, apparently it is possible to turn off sending of telemetry to Microsoft in VSCode, although I am not sure how far this goes and its not clear whether this turns off sending of ALL data.

That is exactly the type of nonsense that I want to avoid and has confirmed for me that I will stick to the Arduino IDE unless/until something better comes along

I understand that development of the Arduino IDE has stopped which does not bode well for the enhancements that have been suggested

The ESP32 thing I ran into a few months back. My existing project wouldn't compile in PlatfromIO and after various conversations what it boiled down to was core v2 vs core v3 and some disagreement between Esspressif and PlatformIO regarding updates and consequently ESP32 support died. Fortunately someone forked it and added in core v3 support so that version is community supported. In the end it also turned out that there is an unresolved issue with support for serial CDC on the ESP32S2 anyway, which forced me to abandon the project, yet the same code worked perfectly fine on an ESP32C3.

I wasn't aware of that. Didn't we have version 2.3.8 released fairly recently?
Maybe not that surprising if they are concentrating all efforts on AppLab?
Rather disappointing though, if true.

Is it likely to resume in the future, or is this the end of the line for Arduino IDE then?

I’m not sure why, but VS Code has been completely reliable for me, while the Arduino IDE fails constantly. Saving work in the Arduino IDE still isn’t dependable, and it doesn’t keep track of library versions at all. That makes it really hard to store a project with its dependencies and reopen it years later. VS Code keeps everything in a clear folder structure, works well with Git, and doesn’t lose track of your environment.

Many of the changes in 2.3.8 were to the underlying CLI functionality rather than to the IDE itself. These changes are almost invisible to the user and do not improve the use of the IDE itself

See Arduino IDE 2.3.8 is now available for details

I am not opposed to trying it. But Arduino IDE works so well for me, I don't feel a need to change. I dont know if I would even notice that it is easier or better.

Maybe ignorance truly is bliss!