Arduino IDE

Arduino IDE 2.3.8

Arduino IDE is an open-source integrated development environment platform. It enables users to create, compile and upload programming codes quickly without having any prior knowledge of coding.

Updated May 12, 2026
151.02 MB
5.0

Use the arrow keys to choose a rating, then press Enter or Space to submit it.

Excellent 1 user ratings

App Specs

DeveloperArduino
LicenseShareware
CategoryUtilities
Available platformsWindows, macOS, Linux
Downloads250

Overview

Arduino IDE is a free, open-source desktop application for writing programs and uploading them to Arduino boards. Available for Windows, macOS and Linux, it combines a sketch editor with board support packages, a compiler and tools for communicating with the hardware. A project can move from source code to a running board, with serial messages and graphs providing feedback from the program.

Sketchbook and code completion

Arduino programs are called sketches. The local Sketchbook keeps these projects accessible from the editor, with the main source saved as an .ino file inside a folder of the same name. You can write C++ sketches, reopen saved projects and search their code within Arduino IDE.

Code completion suggests functions, constants and parameters as you write. Selecting a target board gives the editor the context needed for these suggestions, even when that board is not connected. For example, a function suggestion can show the parameters it expects, then offer an appropriate constant while you fill in an argument. Quick suggestions can be switched off, and completion can also be requested manually.

Component libraries

Libraries add code for working with particular components and services. A sensor library supplies functions for communicating with that sensor; other libraries cover tasks such as controlling a servo, using a real-time clock or connecting through a Wi-Fi module. Arduino IDE’s Library Manager searches the available collection and adds selected libraries to the computer so sketches can include and call them.

Library examples provide source files that show how those functions fit together. The editor opens an example as a sketch, where its code can be examined and adapted for a project. Examples supplied with board packages also expose functions specific to that hardware, rather than assuming every Arduino board has the same peripherals.

How Arduino IDE compiles and uploads to a board

The Boards Manager supplies the support needed to compile for different microcontrollers. A board package defines details such as pin mappings and how Arduino functions are implemented for its supported boards. Searching for a board identifies the appropriate package, and the manager also lets you choose among available package versions.

Arduino IDE pairs the selected board with a communication port. Connected boards normally appear in the selector, while manual board and port choices handle devices that are not identified automatically. This selection determines both the compilation target and the destination for an upload.

Verify checks the sketch for compilation errors and builds it without transferring the result to the board. Upload performs the build and then sends the compiled program to the selected hardware. The output console reports compilation and transfer results, including errors that need attention before the program can run there.

Serial data

Once a sketch is running, Serial Monitor displays the messages it sends to the computer. The monitor sits within the editor and includes controls for the baud rate and for sending messages back to the board. Its output depends on the serial communication written into the sketch, such as messages printed by Serial.println().

Separate sketch windows can use different boards and ports, each with its own Serial Monitor. This allows the messages from two connected boards to remain visible at the same time when investigating communication between them.

Serial Plotter turns numerical serial output into traces on a graph. A sketch can send several values in each line, separated by commas, tabs or spaces, and prefix them with labels. The plotter displays the resulting variables together and lets you hide individual traces. This makes changing sensor readings easier to compare with a reference value.

Debugging on supported hardware

Arduino IDE also includes a debugger for controlling execution on supported hardware. Breakpoints pause the program at selected lines, while Continue resumes execution until another breakpoint is reached. Step Over advances through operations, and Step Into and Step Out move between a function call and the code inside it.

These controls require a compatible board and debugging interface. The Arduino Zero includes an onboard debugger, while other supported setups can use an external probe such as J-Link or Atmel-ICE.

Remote Sketchbook

The optional Remote Sketchbook connects Arduino IDE to an Arduino account’s cloud sketches. Pull retrieves a sketch for local editing, and Push sends the edited copy back. A sketch pulled in advance can be edited offline and uploaded to the cloud when a connection returns. New cloud sketches can also be created from the desktop editor.

Synchronization uses these explicit transfers. If the same sketch is changed on several computers, the last computer to push overwrites the earlier cloud copy. The integration is free to use, with the limits of the associated Arduino Cloud account still applying.

Similar Apps