Download PDF Parts List View on YouTube

Let’s explore the latest iteration of the popular Arduino IDE. Version 2.0 is now a Release Candidate, and it sports a new look and a number of new features.



We’ll see how to install the IDE on all popular platforms, and then we’ll take it for a test drive with a number of microcontrollers.


The Arduino IDE, or Integrated Development Environment, is a familiar tool to most microcontroller users. It allows you to create programs, or “sketches”, for not only Arduino devices, but for a number of microcontrollers from other manufacturers as well.

The product has many features to simplify your programming tasks. It allows you to make use of libraries to improve your code and to install new “boards managers” for new microcontrollers.

Arduino IDE 2.0

The IDE has been around for several years now and while it has had many updates the look, feel, and operation have remained essentially the same. Meanwhile, numerous other development environments have become available, some of them with more advanced features like real-time debugging and auto-complete.

So now Arduino has created a new version of the IDE, a fairly radical departure from the old design.  This new IDE, version 2.0, is now in the Release Candidate stage, meaning that very soon the final product will be released.

Today we’ll take a look at the Arduino IDE 2.0. But before we do that, let’s take a quick look back at the old IDE.

Arduino IDE History

I’m sure that if we were to examine the history of many popular products, we would be able to dig up some interesting stories, and the evolution of Arduino is certainly one of them. It’s a story of innovation, trademark disputes, and reconciliations. And it all started in a bar.

It Begins in a Pub

The story begins in 2003 at the Interactive Design Institute in Ivrea, Italy.  It was here that five developers created a thesis named “Arduino–La rivoluzione dell’open hardware”, which is roughly translated to “Arduino – The Revolution of Open Hardware”.

The name “Arduino” was derived from a pub that the developers used to frequent, the “Bar Di Ri Arduino”. The pub, in turn, was named after Arduin of Ivrea, who was the king of Italy from 1002 to 1014.  But this was not the product’s original name, initially, it was called “Wiring”

The thesis described a low-cost open-source hardware platform, one that would be inexpensive enough to be used by experimenters to create all sorts of microcontroller-based projects.  The original platform consisted of a printed circuit board with an Atmel (now Microchip) ATmega128, a development environment called “Processing”, and a custom library that simplified programming tasks.

In 2005 one of the lead developers, Massimo Banzi, forked the project and renamed it Arduino.

Trademark Disputes

In 2008 the five developers registered a business and named it “Arduino LLC”. The company subcontracted the work of building the Arduino boards and collected royalties from the subcontractors.  They registered the trademark “Arduino” in the United States.

One of the developers, Gianluca Martino, created his own company called “Smart Projects” and registered the Arduino name in Italy, without telling his partners at Arduino LLC. The Italian trademark registration was kept secret for two years and wasn’t discovered until Arduino LLC tried to register the name in Europe.

Although they initially established a non-binding agreement to have Smart Projects pay a royalty to Arduino LLC, it broke down in 2014. In that year, Smart Projects appointed a new CEO who changed the company name to Arduino SRL.  To further the confusion, Arduino SRL copied the website of Arduino LLC.

In 2015 Arduino LLC filed a lawsuit against Arduino SRL.

To get around the Italian trademark registration, Arduino LLC created a worldwide trademark named “Genuino” and used it to brand their products outside the United States.

The whole legal mess was finally settled in 2017, and now everything is once again named “Arduino”.

IDE Evolution

The original Arduino IDE, whose latest iteration is version 1.8.19 as of this writing, was a derivative of the Processing IDE.   It is an editor that allows you to write code in C++, with enhancements for controlling microcontrollers. 

It employs a program called avrdude to compile the text into machine-readable code.

In 2018 Arduino released a web-based IDE, which is still in use with the Arduino IoT Cloud.

In October 2019 Arduino announced a new version of the IDE, which they called Arduino Pro.

A year later, Arduino Pro became Arduino IDE 2.0. Alpha version.  It went into Beta the next year.

The current version of the Arduino IDE 2.0, as of this writing, is Release Candidate 3.

Installing the IDE

The new Arduino IDE 2.0 can be installed on Microsoft Windows, macOS, or Linux.

Regardless of which operating system you are using, the first step in the installation is to go to the Arduino website and download the installation files.  You can download the latest release candidate, which as of this writing is Release Candidate 3, or you can be daring and go for the nightly build to get the very latest version.

You’ll find files for all three operating systems on the download page, so grab the one suitable for your computer and follow the appropriate instructions.

Microsoft Windows

Installing the IDE under Windows is very simple, it’s really no different from the installation procedure for any Windows software.

Windows users can choose between grabbing an EXE file, a ZIP file, or an MSI (Microsoft Installer) file. I used the EXE file, but the installation procedure for the other formats is quite similar.

Begin by executing the file, which in the case of the EXE file is simply a matter of clicking on it. 

You’ll need to agree to the terms of the license agreement first.

After that, let Windows know if you’re installing the application for all users, or just for the currently logged-in user.

You then need to select a location to install the application. Unless you have a specific requirement, you should just choose the default destination folder, which will already be listed. 

Click the Install button and the installation will begin. There are quite a few files to copy, so it may take a few minutes. A progress bar will keep you updated.

When the installation finishes, you’ll be given the option to run the IDE. Keep that option selected and click the Finish button.

The IDE installation is complete.


The installation on a Mac is about as easy as it can get!

Download the DMG file from the Arduino site and then open it. A window will appear, with the IDE and the Applications folder icons in it.

Simply drag the IDE icon into the Applications folder and the installation program will copy all the files.  A window will display the progress of the copy operation.

Once the copy process is finished, the IDE installation is complete. You can look in your Launchpad to find the new IDE and run it.

The first time you run it, you’ll need to agree to give the Arduino IDE permission to run on your computer, as it is a file downloaded from the Internet.

When the IDE first runs it may copy some additional files, these are used to set up the programming environment. It will only need to do this once.

Ubuntu Linux

The installation of the Arduino IDE 2.0 under Linux is a bit different, as there is no actual installation program. Instead, the files are copied to a supportable directory on your computer and the product is launched using the Terminal.

Keep in mind that the following instructions are for the Release Candidate 3 of the Arduino IDE 2.0, and may change when the final product is released.

First, you’ll need to download the ZIP file from the Arduino website. 

Next, find the file you just downloaded and open it with your Archive Manager.  Extract the files into a suitable directory, I would suggest your Home directory.

The extraction process will create a new directory inside your Home directory. Use your file manager and enter this directory.

You’ll need to use the Terminal to run the IDE, so right-click inside the new directory and select “Open in Terminal”.

Now use the following command to run the IDE.

To make it easier you just need to type “./a” and press the Tab key, the Linux autocomplete will fill in the rest as the executable file just happens to be the only one that begins with the letter “a”!

The IDE will now launch. Remember, you’ll need to do this every time that you want to run the Arduino IDE 2.0.

You’ll also notice that, unlike the Windows and Mac versions, the Linux version of the Arduino IDE 2.0 does not seem to have an icon associated with it.

Once again, I suspect that when the product is finalized the Linux installation and operation will be different, probably more like the current Arduino IDE. And it will likely have an icon!

IDE Tour & Tests

NOw that you’ve installed the new Arduino IDE 2.0 it’s time to check out all of its features.

Basic IDE Features

When you first see the new Arduino IDE 2.0 you’ll probably notice its dark theme, which is the default theme that the IDE uses.  You can change to a different theme if you wish, more on that later.

Sidebar Icons

The IDE consists of the main window with another smaller window below it. When you first open it up you may not see the lower window, it will appear when it is needed.

On the left side of the IDE, you’ll notice five icons. Clicking on one of these icons will open a side panel, whose contents depend upon which icon you have selected.

The icon functions are as follows, from top to bottom:

  • Sketchbook – This opens the sketchbook, a list of Arduino sketches. It defaults to the sketches on your local computer, and if you already have a previous version of the Arduino IDE (i.e. version 1.8) installed then you should be seeing all of the sketches you have already created. This is because the sketchbook location defaults to the same location. You can also get at your Arduino IoT Cloud sketches here, more on that later.
  • Boards Manager – As with the previous version of the IDE, the Boards Manager allows you to install the core board files to permit operation with a variety of microcontrollers.
  • Library Manager – Another familiar item with a new look, the Library Manager lets you install new libraries to use within your sketches. As the Arduino Libraries are located within your sketchbook folder you’ll also have access to any libraries you installed using the previous version of the Arduino IDE.
  • Debug – This is a new feature of the Arduino IDE 2.0. It allows you to attach a debugger tool such as the Atmel-ICE or J-Link debuggers and use them with compatible microcontrollers. Only SAMD microcontrollers are currently supported.
  • Search – pretty self-explanatory, this allows you to search your code for specific words, terms, or variables. It supports regular expressions and allows you to specify which files to include and exclude in your search.

The icons all toggle the display of the sidebar, so to close the sidebar you just need to click the icon again.

Top Toolbar

Many of the icons on the top bar will be familiar to users of the older Arduino IDE 1.8. There are also a few new ones.

The group of icons on the left side of the top toolbar are as follows:

  • Verify – The “checkmark” icon lets you compile your code without uploading it. This is useful while you are writing a sketch and want to ensure that you haven’t made any errors so far.
  • Upload – The “right arrow” icon is used to upload the sketch to the target microcontroller. The sketch is, of course, compiled first.
  • New – If you want to create a new sketch then just click on this icon. The new sketch will open in its own window.
  • Debug – This invokes the debugger utility.
  • Open – This brings up a file selection box to allow you to open an existing sketch.
  • Save – Click this icon to save your current sketch.

There is also a pull-down control to select the board and port combination. If you have multiple microcontrollers connected to the computer you can select among them.

You can also click on the “Select other board and port” menu item to bring up a dialog box that allows you to manually select a board and port.

Finally, on the far right side, there is an icon for the Serial Monitor. We’ll examine the Serial Monitor in more detail in a bit.

Top Menu

The top menu of the new Arduino IDE 2.0 has the same selection as the older IDE did, although there are some additional submenus.  Many of the icon functions are repeated in the top menu, and several items have keyboard shortcuts.

Blink with Arduino Uno

Now that you have a feel for the operation of the new IDE it’s a good idea to try a test sketch, just to see how it all fits together. And, of course, tradition dictates that we use the Blink sketch!

First, you’ll need to connect an Arduino Uno to one of the USB ports on your host computer. Then select the board using the drop-down control (it will likely appear there by itself once the Uno is hooked up).

You run this exactly as you would have with the old IDE:

  • Click on the File menu item on the top menu bar.
  • Select Examples from the resulting list. A submenu will appear to the height of the first one.
  • From the list of built-in examples, select 01.Basics.
  • Click on Blink.
  • The Blink sketch will open in a new window.

Unless you are just starting with the Arduino you’re probably very familiar with the Blink sketch, its purpose is to flash the built-in LED on the Arduino board at a rate of once per second.

Click on the Upload button (the “right-arrow”) and observe the IDE. A window will open below the sketch, displaying the compiler and upload progress.

Once you see “Upload Complete” observe your Arduino Uno. You should see the built-in LED flashing once per second.

It’s the simple “Hello World” sketch in the world of Arduino, and it verifies that everything is working.


You can customize the Arduino IDE using the Preferences window. To open the window, just select Preferences from the File menu.

The window has two tabs, Settings, and Network.  The Network tab is only used if you require a proxy server to access the Internet, so for most installations you can just ignore it.

Many of the settings are identical to those in the holder Arduino IDE. You’ll need to click the OK button in order to have your changes take effect.

The Sketchbook location defaults to the same location as your previous Arduino IDE (if you had one), the default location is a folder or directory named “Arduino” in your home or user folder.  You can change this if you wish.  There is also an option to show all the files in each sketch folder.

The editor font size is pretty self-explanatory, you can change it to suit your requirements.

Interface scale allows you to change the size of the interface and may be useful for those with 4K monitors.

There are four themes that you can use with the new Arduino IDE 2.0. The default theme is the Dark Theia theme, there are also two light themes and another dark high-contrast theme. Experiment to see which one you prefer.

You may select to see more information during compiles and uploads, which can be useful for troubleshooting.

There are four checkboxes, of which Auto Save is checked by default. You can also select to verify code on uploads and to check for IDE updates automatically. 

One box that I recommend you check here is the Editor Quick Suggestions. This will assist you while writing code by providing syntax and command details while you type.

There is also a text box and popup window that you will use to add additional boards manager JSON files, which are used to add non-Arduino boards to the IDE. We will cover that in more detail later on.

Again, you need to click OK to have any changes you made within the Preferences window take effect.

Serial Monitor

The Serial Monitor is an essential feature when developing with a microcontroller. 

In the new Arduino IDE 2.0, the Serial Monitor is now kept on the main screen in the same section as the compiler output and error messages, below the sketch. This differs from the older Arduino IDE, where the Serial Monitor was a separate popup window.

You can display the Serial Monitor by clicking on its icon, which is on the far right side of the toolbar.  Clicking the icon again will toggle the display of the monitor.

On the far right side of the Serial Monitor, you’ll find two dropdowns. The first one sets the monitor’s linefeed and carriage return properties. The second one sets the baud rate.

Serial Monitor Test

The Arduino website has a very simple sketch that you can use to demonstrate the operation of the Serial monitor.

The sketch simply prints “Hello World” to the Serial Monitor every second. A Serial.println statement is used to place each text string on a new line.

Load the sketch to your Arduino and then open the Serial Monitor, where you should observe the output text.

Serial Monitor Bugs

One bug I have seen with the Serial Monitor is that sometimes it seems to jumble to display. The solution seems to be to close and reopen the Serial Monitor.

Another bug has to do with running the Arduino example for running two Serial Monitors simultaneously.

The Arduino example has you connect two boards to the computer and then load a slightly different sketch into each one. One sketch prints “Hello World”, the other prints “Hello Mars”.

The Arduino example states that the result will be two serial monitors, one displaying “Hello World” and the other displaying “Hello Mars”. But when I tried it, it didn’t work! Instead, each display alternates between “Hello World” and “Hello Mars”, despite being set to different USB ports.

I reported this on the Arduino Forum, and it turns out that this is a known bug, a regression – in other words, this used to work correctly but was broken in a recent update.

You can see the details and track this bug on GitHub.


The Serial Plotter is an improvement over the hone in the older IDE. Unlike the Serial Monitor, the Plotter opens in its own window.

There is no icon on the toolbar for the plotter, in order to run it you’ll need to open it by clicking on the Tools menu and then selecting Serial Plotter.

Plotter Test

Arduino provides a couple of example sketches that you can use to test the plotter on their tutorial page. Both sketches output two variables, a fixed one and one that changes value.

In one sketch, the variable that changes value is coupled to a potentiometer, so you can manually alter its value. The other sketch uses a random number generator for the variable that changes value.

I used the sketch with the random number generator for my test. When I looked at the sketch I immediately saw that the one on the Arduino site had a small error, they neglected to change the name of the variable and used the pone from the potentiometer sketch. The correct sketch is shown below:

Run the sketch and open the plotter. You will see the two variables, each represented by a different colored line.

A great feature of the new Serial Plotter is the ability to stop the data and examine it, rather than just watching it go by.  Click the STOP button anytime you want to stop the data. You can then drag your mouse over the lines to display the exact values of the variables at the selected coordinates.

The STOP button will display RUN after it is activated, so to resume plotting, just click the RUN button.

Plotter Bug

Once again, I have found a bug that has to do with the serial ports. This one affects both the Serial Monitor and the Serial Plotter.

The bug is that the monitor and plotter will occasionally (actually more than “occasionally”) display a message that the port is disconnected, even though it obviously isn’t.  So you’ll see an error message while still seeing data.

If you open multiple windows then the bug gets worse, it will still display the port as being disconnected but will also show “phantom” data – values for variables that simply don’t exist.

And on the plotter the “disconnected” message causes the STOP button to be greyed out, so it is inactive, and you can’t stop and examine the data.

This bug has been reported and is logged on GitHub.

Boards Manager

The Boards Manager allows you to install different core board files to support additional microcontrollers. It is accessed on the sidebar by clicking the boards icon, which is the second one from the top.

Boards Manager Features

The Boards Manager allows you to search for a processor or board and then, if necessary, install its code files. I said “if necessary”, as several core files are preinstalled with the Arduino IDE 2.0.

If you want to install a new board, type the name of the board, i.e. “Raspberry Pi Pico”, or the name of its processor, i.e. “RP2040”, into the search box in the Boards Manager. If the core is available, it will appear in the search results, along with an Install button to allow you to install it.

If the board does not show up in the search, then you’ll need to install an additional Boards Manager file to use it. This is a JSON file that has been made available for the board by its manufacturer, and it needs to be added to the “Additional Boards Managers” section in the Preferences window.

I’ll be showing you a couple of examples of doing that in a bit, as the next thing we are going to do is to use a number of different microcontrollers with the Arduino IDE 2.0.

Testing Additional Boards

In order to demonstrate the use of different microcontroller boards with the Arduino IDE 2.0 we will need to wire them up to a small circuit. Our circuit is very simple and will consist of the microcontroller and three additional components:

  • A potentiometer, connected to an analog input. I used a 10k linear-taper pot.
  • An LED
  • A dropping resistor for the above LED. On the Arduino Nano AVR board, I used a 220-ohm resistor, as it is a 5-volt microcontroller. On all the other boards, which are 3.3-volt devices, I used a 120-ohm resistor.

To test the boards out, I used another example sketch that is bundled with the Arduino IDE, one called AnalogInput.   You can load it as follows:

  • Click on the File menu at the top of the IDE
  • In the resulting menu, select Examples. A sub-menu will open
  • In the sub-menu, select 03.Analog.
  • Select AnalogInput in the resulting menu. The sketch will open up in a new window.

The sketch assumes that you have a potentiometer connected to the analog input 0 pin, and an LED with a dropping resistor connected to digital I/O pin 13. For some of the boards we will be testing you will need to change the output pin value as the LED is connected to a different GPIO pin.

The purpose of the sketch is to control the LED blink rate.

Using an Arduino Nano AVR

The first “non-Uno” board we will be testing is an Arduino Nano AVR board, the older 8-bit controller that is very similar to the Arduino Uno. It is wired as follows:

As this board has its LED connected to pin 13 there is no need to modify the AnalogInput sketch.

Connect the board and, hopefully, you’ll see it displayed in the drop-down on the toolbar. If it isn’t displayed, or if it comes up as “unknown”, then choose the “Select other board and port” option from the drop-down. Use the resulting dialog box to manually select the Nano and, if necessary, the port it is attached to.

Once the board has been selected, hit the upload button, and observe the results.

In my case, I received a number of “avrdude” errors, which are generic compiler errors. I resolved this by selecting an older bootloader version:

  • Click on the Tools menu at the top of the IDE.
  • Select Processor from the resulting menu, this will open a sub-menu.
  • Choose ATmega328(Old Bootloader).

The next attempt at uploading the sketch succeeded, and I was able to control the flash rate of the LED using the potentiometer.

This fix may not be necessary for you if you are using a different Arduino Nano AVR clone.

Using an Arduino Nano 33 IoT

The Arduino Nano 33 IoT is an updated version of the older Nano. It uses a 32-bit processor, and it has integrated WiFi and Bluetooth. It also operates on 3.3-volts.

As the pinout of the Nano 33 IoT is identical to the older AVR version, the wiring is identical, although the resistor value is smaller due to the lower supply voltage.

Connect the Nano 33 IoT to the computer using a microUSB cable. You should see it on the drop-down, if not then repeat the same process we used with the Nano AVR to select it manually.

Load the sketch up and observe the results. In my case, it worked perfectly the first time.

Using an ESP32

The ESP32 is a 32-bit processor from Espressif Systems that has integrated WiFi and Bluetooth. It is available on a myriad of modules and boards, I used an ESP32-WROOM board for my test.

I wired my module as follows, please note that if you are using a different module the pinouts may be different, so you may need to wire yours differently.

Adding the ESP32 Boards Manager

In order to use the ESP32 with the Arduino IDE 2.0 you will need to install an additional boards manager JSON file. The string is as follows:

To add this boards manager, take these steps:

  • Open the Preferences window from the File menu
  • Look for the text box labeled Additional boards manager URLs
  • If the text box is empty then just paste the above JSON location into it.
  • If it already is populated the click the icon to the right of the text box. A dialog box will open, listing your existing entries. Enter the new JSON URL below the last entry.
  • Click OK in the Preferences window to close the window and install the boards manager.

I have found a bit of a “quirk” in the Arduino IDE 2.0 Release Candidate 3, it seems that after installing a new boards manager you will need to close and restart the IDE.

After restarting the IDE go back into the Boards Manager and search for ESP32. Click the Install button to install the files.  This will take a few seconds, and your Arduino IDE 2.0 will be ready to use the ESP32.

Connect your ESP32 to the computer and open the AnalogInput sketch.  If the board does not appear in the dropdown, or if it comes up as “unknown” then select it manually. Note that there are many different ESP32 modules, I used ESP32 Dev Module for my board but if you’re using a different ESP32 board then your selection may be different.

As the LED is connected to GPIO pin 2 you’ll need to modify the ledPin variable value in the AnalogInput sketch. Just change the 13 to 2 and you’re all set.

Upload the sketch while observing the upload status in the lower window of the IDE. If it doesn’t seem to upload you may need to press the IO0 button on the module to get the upload started.

The ESP32 should now be flashing an LED, whose rate can be controlled by the potentiometer.

ESP32 Python Path

In some cases, you may not be able to upload to the ESP32, as you will receive a “Python not found in $PATH” error. This error is exactly what it says, you either don’t have Python 3 installed or you have it installed, but it is not specified in your computer’s $PATH variable.

This error is common on Linux and can also occur on a Mac. The solution for both is the same:

  • Close the Arduino IDE 2.0.
  • Open a Terminal window
  • Type the following in the window: 

Let the files install and then reopen the Arduino IDE 2.0 and try again. This should resolve the issue, and you’ll be able to upload the code to your ESP32 module. Remember that you still may need to hold down the IO0 button to get the upload started.

Using a Seeeduino XIAO

The Seeeduino XIAO is a tiny 32-bit SAMD-based microcontroller.  Here is how I have hooked it up for our test.

As with the ESP32, you’ll need to add a new boards manager JSON file to the box in the Preferences window. The JSON file URL is as follows:

Once you have added the JSON file location, restart the IDE and then open the Boards Manager. Search for “XIAO”, note that you want the SAMD version and not the one based upon the RP2040 chip.

Modify the AnalogInput sketch to use 10 as the value for the ledPin variable.  Then upload the sketch to the Seeeduino XIAO.  You should get the expected results, an LED whose flash rate you can control with the potentiometer.

Using a Raspberry Pi Pico

The Raspberry Pi Pico is based upon Raspberry Pi’s own RP2040 microcontroller.  Here is how we will be wiring it up:

You won’t need to use a JSON file for the Pico as it is already in the Boards Manager that is packaged with the Arduino IDE.  Open the Boards Manager and do a search for “Pico” or “RP2040”. Select the Raspberry Pi Pico from the results and install it.

Connect the Pico to your computer and load the AnalogInput sketch. Change the value of ledPin to 5, and upload it to the Pico.

If you have trouble with the upload try it aging this way:

  • Start the upload.
  • Remove the USB cable from the Pico
  • Hold down the BOOTSEL pushbutton
  • Keep the button held down and plug the cable back in
  • Release the pushbutton

Once the sketch has loaded, you’ll be able to control the LED flash rate with the potentiometer.

Library Manager

The Library Manager allows you to install Arduino libraries and their included sample code files.  In most respects, it functions identically to the Library Manager in the previous versions of the Arduino IDE, the only visible difference is that it is now on the side panel instead of being in its own window.

As with the older IDE, you can install libraries in two ways.

If you have an older copy of the Arduino IDE on the computer, and you have left your sketchbook pointing to the same location, you’ll already have access to the libraries you installed, as the Libraries folder is just a sub-folder of the sketchbook folder.

Installing a Library from the Library Manager

The easiest way to install a new library is to use the Library Manager. It is on the sidebar, it’s the middle icon.

Click the icon to open the  Library Manager and use the search box to find the library you are looking for. Then just click the Install button to install it in the IDE.

The library and its sample files (if it has any) will be installed and is ready for use in your sketches.

Installing a Library from ZIP

Sometimes you won’t find the desired library in the Library Manager. In this case, you can download the library in a ZIP format from GitHub or a website and install it manually.

Installation of a library from a ZIP file is identical to how it was in the older Arduino IDE.

  • Click on the Sketch item in the top menu.
  • Select Include Library. A sub-menu will open.
  • Select Add .ZIP Library in the sub-menu.
  • A file selection box will open. Use it to select the ZIP file for your library.

One “quirk” I have noticed with Arduino IDE Release Candidate 3 is that after you have installed a library from a ZIP file, you’ll need to restart the IDE before it becomes available. Otherwise, your new library is ready to use.


The new Arduino IDE 2.0 is certainly a departure from the older IDE, and it has a number of advantages such as access to the Arduino IoT Cloud and code completion.

The Release Candidate 3 version that I tested does indeed have some bugs, over 300 of them currently listed on GitHub. I have no doubt the developers at Arduino will be working to resolve these, and once they do, this will be a robust product that will be a great contender for your IDE of choice.

Of course, it isn’t without competition, other editors such as PlatformIO are also available, are past the release candidate stage, and are already in production.  So those of you already using an advanced editor may not want to make the switch.

But if you are currently developing with the older Arduino IDE, it does make sense to install and test out the new Arduino IDE 2.0. As it uses the same sketchbook location you will have access to all of your existing sketches, and if it turns out you prefer the older editor you can always go back.

I think the folks at Arduino deserve some applause (or a donation) for the hard work they have done on this product, and I look forward to seeing the production version soon.


Parts List

Here are some components that you might need to complete the experiments in this article. Please note that some of these links may be affiliate links, and the DroneBot Workshop may receive a commission on your purchases. This does not increase the cost to you and is a method of supporting this ad-free website.




Arduino IDE 2.0 – Download the Arduino IDE 2.0

Arduino IDE 2.0 Tutorials – Tutorials from Arduino for the new IDE


Arduino IDE 2.0
Arduino IDE 2.0
Article Name
Arduino IDE 2.0
Introduction to the new Arduino IDE, Release Candidate 3. In this article, you'll learn about all the basic features of the new Arduino IDE. I'll also show you a few bugs, and how to work around them.
Publisher Name
DroneBot Workshop
Publisher Logo
Tagged on:
Notify of

Inline Feedbacks
View all comments
2 years ago

Hi Bill,
first of all, a great Video and a great description.
I have a few questions:
– I work a lot with ESP8266 and ESP32
– Is (in IDE V2.x) also a chance to download the Filesystem
– Is there also a Exception Decoder for the ESP8266 and ESP32 available?

2 years ago

hi, i just installed the Arduino 2.0 and i follow your instructions (on your youtube channel) and i’m here in your document because at the step “Adding the ESP32 Boards Manager” (your link added and IDE restarted) i don’t see in the library manager (searching for “esp32” like you) the “esp32 by espressif”.. same thing for my IDE 1.8.19.. i saw a comment somewhere meaning that the china links don’t work on Mac (i use a macbook air m1 2020), no problem with my old laptop with windows7.. i curious of how to resolve this with my new macbook.. i’m… Read more »

2 years ago

Hi Bill,
thanks for your great videos.
I’ve been working with Pi Pico on Thonny. All was good.
But now I wanted to work with the same Pi Pico on Arduino IDE like you did but I get: Upload error: Failed uploading: uploading error: exit status 1.
Need help

2 years ago

Arduino IDE 2.0 Linux – Output Panel

2 years ago

I miss having the Serial Monitor in a separate window. It was very handy to move it to another display and see more of the sketch.
The IDE rc3 was not handling tabs (/t) properly in the Serial Monitor but I see it is working as expected in rc6.
I like the themes available through the preference dialog in version 2; editing theme.txt was problematic since it installed as a file that required admin privilege in our network.