Arduino IDE 2.0 Is Here

Arduino IDE v2.0 screen with callout tags to identify features

Arduino have released the latest version of their Integrated Development Environment (IDE), Version 2.0 and it is a big step up from the previous release, boasting plenty of new features to help you to develop your code more easily.

As the de-facto way for beginners to get into programming hardware, more experienced users have sometimes complained about what they see as the over-simplistic IDE — even lacking relatively basic features such as autocomplete. The new version provides this, and much more besides.

The press-release from Arduino offers a few clues to the main features, but the real detail is tucked away in a range of new tutorials, designed to get you up to speed with the new look.

Arduino IDE v2.0 remote sketchbook

The main screen is organised differently, to show off the new capabilities and to make development faster and easier. The new “Remote Sketchbook” has been integrated closely with the Arduino Cloud, to allow for easy switching between computers during development. V2.0 will pick up any Cloud sketches automatically, while computers using the previous versions of the IDE can still access the sketches via the Web Editor as before.

The Serial Plotter can now be used at the same time as the text Serial Monitor, rather than having to choose one or the other. In addition, there is a host of new Debug functionality for those devices that support it. This works with the usual In-Circuit Emulators (such as the Atmel ICE), but also natively with newer Arduino boards like the Arduino Zero without any additional hardware. The debugger gives you access to powerful features like Breakpoints, Step-Into and Step-Over to really understand what your code is doing.

Arduino IDE v2.0 serial plotterInstallation is straightforward, and will automatically pull in any libraries and sketches that you created in previous versions of the Arduino software to ease the transition.

There’s a lot to like in the new IDE, but we expect it will take a little while to discover and use all the new features effectively.  Some of them are carry-overs from the “Arduino Pro IDE” that we covered a few years ago, but it’s great to see the software evolve and improve over time.

Have you tried new new IDE yet?  What are your thoughts on how it compares to the older version, or other development environments?  Let us know in the comments.

Update: Thanks to [Alessandro Ranellucci] in the comments for pointing out that one of the major advantages of the new release is the command-line tool arduino-cli that allows users to edit code in their favourite editor and call “arduino-cli compile -u” on the terminal to build the project.

Thanks to [cardboardBaron] for the tip.

84 thoughts on “Arduino IDE 2.0 Is Here

      1. It doesn’t need administration privileges on the host system.

        I.e. it doesn’t work on managed systems, such as schools where the student accounts are locked out from installing software, but you could still run the previous versions off of a USB drive.

  1. It was necessary and it’s good, except I think the Boards Manager and Library Manager user interface is so horrible, so incredibly bad. I tried the Pro IDE and a few alphas and I thought this would definitely change. But no.

  2. Tried it – terribly laggy! – like 0.5-1min just to switch between tabs in a sketch. Menus take forever to open Arduino 1.x IDE works just fine. I7 9600, 32GB, etc not a PC spec issue.

      1. What? No man, Javascript. Most of the apps that you use that just feel that little bit “off” are written in JS using the Electron framework. Atom, MS Teams, Slack, VS Code, all just that little bit slower than they should be.

  3. So after IDE 1.0 (2011-11-30) we got the PRO IDE (start at 2019-10-25 and reached 0.1.4 at 2021-02-10) and now (2022-09-14) we have a 2.0.0. Congratulations. Let us all celebrate the stamina of Banzi, Cuartielles, Igoe, Martino and Mellis.

    The outstanding feature of IDE 1.x is the not so really promoted “portable” feature: it can create a self containing folder with everything you need. Put it on an USB-Stick and you are ready to use it anywhere you want. This is the spirit needed for maker spaces, classrooms, garage tinkerers, cabin hackers and in-me-shed-builders[1].

    That feature got lost in 2.x. Developers saw no need for it[2]. Reflects the state of the project over the years: always bypassing the mainstream.

    [1]: https://www.youtube.com/watch?v=5ThOOrac-KQ
    [2]: https://github.com/arduino/arduino-ide/issues?q=+portable+mode

    1. Jan, the IDE is an open source project so anyone can contribute! Its development velocity depends on how many people help with development.
      Hopefully someone from the community will start working on the feature request you linked and submit a pull request. :)

        1. (offtopic) Interesting observation: I loved that quote, so I decided to doublecheck it before I commit it to my “quotes.txt” awesome database :)

          In the entirety of google, the only reference for this exact wording (the part in quotes) is this post here. In bing, it gives you the author as the main answer, followed by sources, including noticing that the original quote in English starts with “in reality” rather than “in truth”.

          Blew me away, time to change my default search engine it seems :)

    1. I don’t get why VSCode is so popular. It’s UI is so busy! It’s like Emacs if every feature and plugin in Emacs had to have a visual presence on the screen at all times. One practically has to take over an old drive-in movie screen just to have any room left for a code area after all the UI!

      1. Same, also options are mostly set in a config file instead of an UI. Also the Electron framework messes up the font rendering. Their font smoothing is inferior to the one built into Windows, and the menu’s aren’t native but follow some custom style.

        I wish the font rendering of Firefox was used, it is much nicer, and looks native.

      2. I’m also not a fan of being nagged to install 20 different plugins every 3 clicks. Particularly since a lot of the plugins they recommend are proprietary. But I know a lot of people who love it so to each their own.

      3. I would agree! Not a fan. The default settings are not to my liking and I’ve spent far too long trying to custom it to suit my development style. Was a waste of time as every update seems to just add more default automation. Reminds me of those MS Word and Excel automated macros… dangerous.

        1. What I Love of PlatformIO is that it stores the version of the libraries you are using, which prevents compatibility conflicts when you use a newer library version in a future project. Also it makes it easier to share a project with someone else.

  4. Where is the file explorer? Where is the git integration? Where is the basic features that code editors like VS Code and Sublime Text have? They should drop this whole notion of attempting to make their own IDE and instead focus on making official plugins for already existing IDEs.

    1. That strategy comes with a high probability of scaring off the very beginners Arduino was created for in the first place.

      I think having both a plugin and their “simple” IDE is a better strategy while making sure the projects are compatible and moving back and forth between them is as easy as possible. Imagine if by default both saved projects in the same place and installing a library in the IDE made it also available on VSCode and vice versa…

      That’s not to say there weren’t plenty of low hanging improvements that the old IDE was really crying out for. I haven’t tried v2 yet so no opinion there…

  5. Tried it, it’s a pile of garbage. As is anything built on Electron. Horribly slow and inefficient, more difficult to configure, the only real improvement (as far as I’m concerned) is in the looks.
    Could someone please explain to me why, WHY, even HOW, any IDE could consume almost 2 GIGABYTES of ram while editing an arduino sketch with five (fairly short) files?! Insanity!
    And I thought the Java based IDE was bad…

    1. “Tried it, it’s a pile of garbage. As is anything built on Electron.”
      Huh. I haven’t noticed that. I used MS Teams all through the pandemic, it’s on Electron and it ran just fine.

      “WHY, even HOW, any IDE could consume almost 2 GIGABYTES”
      Great question! That shouldn’t be.

      My main desktop has 24GB of RAM.
      Unless I checked would I notice that something is consuming 2GB?
      It’s 2022. What are you using? A Retro PC?

      I’m not sure I like the idea of ignoring super-inefficient software just because hardware is plentiful. But… write once-run everywhere IS pretty awesome.

          1. Yes. It is, kind of. Please stop trolling (if you do). Some schools still have PCs with 4GB of RAM or less and 32-Editions of Windows. Not the older Windows releases, though, but Windows 8.x to 10. Which makes things worse, resource wise. 😒

            IMHO, for what it is, Arduino IDE shouldn’t require more resources than Editor or Wordpad.

          2. >>”IMHO, for what it is, Arduino IDE shouldn’t require more resources than Editor or Wordpad”

            Agreed. I even implied as much with my first comment.

            A school teaching Arduino? Lucky kids. That’s a hard thing for me to imagine. How to wire an LED throwie would be too “geeky” for the schools I remember. That’s awesome if times are improving. No I wouldn’t want to see them the kids prevented from learning. Not that this will, there are always alternatives.

            As much as I don’t like that the current popular coding fads are all super high-level languages stuffed into super-bloaty platforms I think it is far better than the days where everything was released Windows only, then eventually Mac and Linux never. If Electron is the fad… I’ll take that.

            So, going back to grandparent or whatever post, “No one…” says it takes 2GB. Ok, I have my doubts but am not in a position to test it right now. So your 4GB machine is left with 2GB to run the OS and maybe a web browser. Why is it slowing down so much? I still remember doing that with less than 1GB!

      1. I do use second-hand computers with low specs. “retro pc”, hardly. But for this task, I should be able to. A couple KB of source, maybe a couple MB of image buffer to render the text into if it renders the whole file at once, I’ll be generous and allow a couple more MB for UI and behind-the-scenes stuff… 32MB should be all that is needed for a simple IDE like Arduino.

        Does anybody even comprehend how big a megabyte really is, let alone a gigabyte? The inefficiency is mind blowing.

        1. As someone who started off his PC journey by playing with a 1985 spec XT with 256K of RAM, I know exactly what you mean. I got a lot of stuff done on that old machine.
          Totally in agreement about the wastefulness of this software. There’s a ridiculous disconnect between the resources used and what it actually does.

          1. I was going to have a try of Arduino IDE 2 but none of my Macs or Windows machines can run it.
            My Macs use OSX 10.13 and I have “upgraded” my main Windows laptop from Windows 10 to Windows 7 Pro. It runs better now!
            Even the old Arduino IDE has got really slow. I think things may go better if developers used older machines with less resources. My first computer had 1K of ROM and a massive 11K of RAM so any programs I wrote had to be small and efficient. Admittedly, things are way different now, but I do think programmers are making a mistake using latest platforms with lots of RAM etc.

        2. Looks particularly bad if you remember equivalently featured IDEs like Delphi running on a 486 with 16MB of RAM.

          Schools are gonna be trying to run it on netbook atom type things.

          “Because faster hardware exists” is not an excuse to make anything that does simple tasks dog slow and bloaty.

          1. >>“Because faster hardware exists” is not an excuse to make anything that does simple tasks dog slow and bloaty.

            Agreed. But as I said, write once run everywhere is awesome. I don’t miss the days where to run the latest software I had to re-boot into Windows at all. All through our year of working from home I used my home (Linux) desktop to run Teams. Being able to do that was great! Can you see Microsoft writing a native Teams client for Linux in C? Or talking a Microsoft shop workplace into using some other conferencing software just so you can run Linux?

            Should all write once run everywhere platforms be THAT bloated? Probably not. But unfortunately they are. Or maybe it’s just the popular ones are for some strange reason. Don’t like it? Write a better one.

      2. Your mentality is exactly why all programs have become so RAM bloated, because “fast & loose” programmers believe their programs high RAM usage isn’t them being lazy or incompetent, but rather the users being skinflints for not tossing big money at replacing or upgrading a perfectly fine computer.

      3. “My main desktop has 24GB of RAM.
        Unless I checked would I notice that something is consuming 2GB?
        It’s 2022. What are you using? A Retro PC?”
        Oh please, what kind of argument is that? If every little tool uses so much RAM you will quickly
        run out of it.

        Having that much RAM is to enable use of virtual machines, and maybe power user applications, like large media file processing, data analysis, machine learning.

        Definitely not to waste it on small tools, so you can’t do any of the above. Seems web developers and app developers forgot there is multitasking!

        Not to mention with browsers they eat that memory up in no time, once you have a few tabs open.

        1. “Not to mention with browsers they eat that memory up in no time, once you have a few tabs open.”

          I’ve had bad experiences with Chrome. I know it’s most popular, I bet that’s where the perception that tabs use so much memory comes from. It doesn’t seem to be a real problem in Firefox. Electron probably gets it’s memory hunger from Chrome. I’ve rarely ever had a reason to run more than one Electron app at the same time. So maybe that’s why I haven’t experienced the problem?

        1. Sorry. Gave up on notebooks a long time ago. Too hard to expand, less likely to have decent Linux drivers and they tend to self-destruct after a few years. I’d rather remotely connect to a decent desktop via a phone or tablet then muck about with a laptop.

          I honestly thought “power users” would have a lot more power than my desktop whose CPU and RAM all came out of a hand-me-down office computer!

    2. Well, I tried the Linux appimage version, and I found it working fine. It’s not laggy at all, loaded several dozen libraries in 2 minutes, and it’s using around 250MB of memory.

      Maybe the Windows version is having issues? Because I can work comfortably with the Linux version.

      1. In general programs on Windows want to use as much ram as you have available, and then to scale back if there is other demand. The philosophy is that empty ram is wasted ram, accelerate anything you can by caching things in ram. That is part of the reason people are always complaining about bloated Windows programs, especially browsers. As a result IDE 2.0 is using 600 MB as I type this on my laptop with 8GB of ram, but if I closed everything else I have running that number would probably increase.

    1. Depending on the platform/board selected you’ll be able to select the available programmers provided by the implementer.
      On that end the experience is aligned to IDE 1.
      If you can’t see the “Programmer” menu item populated after selecting a board please report it in the Forum or on GitHub 🙏🏼

  6. The betas were really underwhelming, and I’ll personally be skipping this. The interface lag was very bad, and while the previous interface was clunky old java, at this point it’s effectively lightweight compared to this electron-based mess. The day they take the 1.x versions away for good is the day I’m going in 100% on plain AVR C and vim, more than I already have.

  7. Cursor on 2.0 goes everywhere after you hit ENTER, you start typing a new line and mess is in place. Back to the previous 1.18 IDE. I thought cursor management was a thing if the past back to Z80, 8085 processors.

  8. It’s probably worth mentioning that a very big outcome of this IDE 1.x -> 2.x work is the complete refactoring of the build logic that is now spun off to the arduino-cli command line tool:
    https://github.com/arduino/arduino-cli

    So now anyone can use any editor, just calling “arduino-cli compile -u” on the terminal to do the rest. Of course it’s open source, just like the IDE, so feel free to jump in and help steer the projects wherever you want :)

    1. This is the real news!!! Like, for real, as a user I do not want to wait several seconds just to open a file. It’s a real shame. But this new CLI sounds perfect, and would open up a new world of community support, because I doubt anyone wants to put time and effort into maintaining IDE 2.0.

    2. @Dave Walker please rewrite the article to highlight this!

      The easy build/deploy process is probably the only reason most of us use the arduino IDE. I’ve sat with it open to build and edited the files in a proper IDE many times.

    3. And @Alessandro Ranellucci huge thanks for this change, that solves the issues for people who already have a favourite IDE.

      Arduino clearly put a lot of effort into making the build side simple, but writing an IDE from scratch was a bad idea; even borrowing a project like Monaco would have provided a better IDE.

  9. Overall it’s a big improvement on the old IDE, particularly in the editor itself. Very happy using it.

    But the single biggest annoyance of the old IDE is still there – if it has a problem uploading a binary on a serial port e.g. due to a timeout, it insists on rebuilding the code when you try again. So basic dependency management is still broken.

    It’s also a pity they didn’t use it as an opportunity for a major UX refresh. Why oh why is “Additional Boards Manager URLs” still in Preferences rather than in the Boards Manager?

    It would also be nice if the “More Info” links in the Boards Manager and Library Manager had a hover so we can see which one we’re looking to install. Lots of very similarly named libraries outtthere along with forks.

    I’m also finding the Serial Monitor a bit glitchy on Windows compared to using Teraterm. Nothing I can consistently point to tho.

  10. Am I the only person who thinks:

    Any mention of “Cloud” I automatically replace it with “random computer somewhere around the world, ideally in a country with minimal data protection laws if any, and minimal privacy laws”.

    And every time I see “gather real time and historical data from your devices in one place”, I replace with “we will be maximising our profit generated from all harvested metadata” (since metadata has not yet been protected by most data protection laws).

    And once I see that “Arduino Cloud” is a platform operated by Amazon Web Services , I think “yea-no, no thank you, bye bye”
    (ref: Plug “Arduino Web Editor and Cloud Platform – Powered by AWS” into your search engine of choice ).

    1. Your are not the only one. Hopefully you don’t have to use that feature. I am a ‘stay off’ cloud person. Don’t store ‘anything’ out there. Don’t see the point whether security wise or user wise. Need a backup, keep it local. Need to share, setup a local file server. Need off-site backup, backup to portable drive and store off site.

      I downloaded the appimage at lunch. Yikes, first thing it did when launched was download stuff from the internet without asking me. That’s not good. That means it expected me to be ‘connected’ to the net while running. Not good. Not liking this at all….. Where is the ‘control’ over internet downloads and what it sends back and forth from the mother ship? Didn’t seem slow as some are saying above, but then I just saw the startup screen sketch…. Then I had to go back to work….

  11. It also does not seem to be compatible with some 3rd party cores, becuase platforms.txt is not being preprocessed the same way.

    {runtime.hardware.path} seems to not being replaced

  12. So having read all the comments the only sane conclusion is stick with 1.X and avoid 2.x until actual users verify the issues have been resolved. This mirrors advice I gave to IT sysops in a large federal agency not to rush being the first to install new software. Management didn’t like that so they insisted every location update software immediately upon release. We all know how that turned out. Nuked the whole country. I’m getting a similar vibe from Arduino IDE 2.0 only it’s more on a local level.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.