Arduino Integrated Development Environment (IDE) v1
Last Updated :
13 May, 2024
Arduino devices are the new face of electronics engineering. The ability of Arduino to program electronic devices and integrate them into larger applications makes Arduino the most common choice of engineers in today's world. To work with Arduino, it is necessary to be aware of the construction of Arduino and the basic libraries that are used to work with Arduino.
In this article, we will study about Arduino Integrated Development Environment which provides an interface for programming and setting up the Arduino. We will discuss what is an Arduino IDE, and what it looks like. We will also discuss the features available in Arduino IDE and what are the different buttons used. It is advised to go through the article carefully and refer to the FAQs section in case of any doubts.
What is Arduino Integrated Development Environment?
To program the Arduino, you need software where you can write and upload the code. This task is performed by the Arduino IDE. Due to the variation in the type of operating system installed in Windows, Mac OS X, and Linux, there was a need to develop a platform that could work well for every OS. The IDE which refers to integrated Development Environment is a software used for writing codes that control Arduino in programming languages like C and C++.
The IDE is not sufficient alone to upload the code on Arduino, we need two more devices known as the Genuino and Arduino board to get the code on Arduino. You can note that the code written in the IDE is often known as the sketch of Arduino and the process of making this code is called sketching. The extension in which your sketch will be saved is '.ino'.
Display- Arduino IDE
Let's take a look how does the arduino IDE look like
Arduino Integrated Development Environment (IDE) Image Credit-Arduino IDE:https://www.arduino.cc/en/softwareLet us study the individual components of the IDE
Writing Sketches
Like in any other coding platform, you can create programs in the Arduino Integrated Development Environment which is termed as a sketch. Here is what the sketch file looks like. We will see in later section how can we run the sketch by saving it first.
sketch fileImage Credit-Arduino IDE:https://www.arduino.cc/en/software
File
When you click on the File option in the Menu bar, you will observe the following list of options
File MenuImage Credit-Arduino IDE:https://www.arduino.cc/en/softwareLet's study each option in detail.
- New: The New button is used to open the new window and you can use it to open a new file even if you have opened an already existing file, it will not close the current file.
- Open: This option is used for opening an already existing file. You will have to search your sketch file from the folders and drives in your computer.
- Open Recent: This button is used to display the the sketch files that were opened recently.
- Sketchbook: This option is used to store the current sketches created in the Arduino IDE software by creating an instance in a new editor.
- Examples: This is a useful feature in arduino since it is used for looking at some small projects for basic understanding. You can use this option to get started with arduino IDE and practice at your own pace.
- Close: This button is used to close the window when clicked.
- Save: When you have made changes to your current sketch file and want to save the changes then you can use the save option. In case you haven't saved the file initially and are saving it for the first time, then this will open the 'Save As' window.
- Save As: If you want to save the file with a new name and at a different location, then we can use this button and write the new name in the box.
- Page Setup: Page Setup is used for setting up the page options by setting certain properties like page margins, orientation, and size for printing. Here is what the 'Page Setup' looks like:
Page SetupImage Credit-Arduino IDE:https://www.arduino.cc/en/software- Print: Once you have selected the options in 'Page Setup', you can go ahead and print the original hardcopy using this button.
- Preferences: It is used to set preferences by customizing the settings of the Arduino IDE.
- Quit: As the name suggests, the button is used to exit the program and close all the IDE windows that are currently open.
Edit
Here is a list of options that appear in the drop-down menu when the edit menu is opened:
Edit MenuImage Credit-Arduino IDE:https://www.arduino.cc/en/softwareLet's discuss each option in detail.
- Undo: Incase you want to reverse the last action you performed then you can use the Undo button which will undo the action you made.
- Redo: Incase you want to redo the last action you performed then you can use the Redo button which will redo the action you made.
- Cut: Incase we want to remove a specific piece of text from the written code, you can use the cut option. After selecting the cut option, the text will be saved on the clipboard temporarily and you can further paste it to a new location.
- Copy: Incase we want to duplicate a specific piece of text from the written code, you can use the copy option. After selecting the copy option, the text will be saved on the clipboard temporarily and you can further paste it to a new location.
- Copy for Forum: Incase we want to copy a specific piece of text from the written code, you can use the 'Copy for Forum' option.
- Copy as HTML: Incase we want to copy a specific piece of text from the written code and add the code as embeddings. This is generally used in web pages.
- Paste: Incase you want to paste a specific piece of text from the written code, you can use the paste option. The text will be pasted from the clipboard to a new location.
- Select All: It is used to select all the text from the sketch at once.
- Go to line: It is a shortcut to move the cursor to the specific line location. Here is the dialog box.
Go to lineImage Credit-Arduino IDE:https://www.arduino.cc/en/software- Comment/Decomment: This option is used for adding texts that will be used as comments in the sketch file. These are usually added for understanding different codes.
- Increase Indent: It is used for the formatting purpose of the file by adding the space at the start of the specified line. This adds indentation by moving the text to the right.
- Decrease Indent: It is used for the formatting purpose of the file by removing the space from the start of the specified line. This removes indentation by moving the text to the left.
- Increase Font Size: It is used to for the formatting purpose of the file by increasing the font size of the written text.
- Decrease Font Size: It is used to for the formatting purpose of the file by decreasing the font size of the written text.
- Find: This option is used to minimize the manual work of finding the text in the document. This option can be used to find the specified text. This is what it looks like
FindImage Credit-Arduino IDE:https://www.arduino.cc/en/software- Find Next: This option is used to find the next occurrence of the word that has been mentioned in the 'Find' field. In case there is no next occurrence, no text is highlighted.
- Find Previous: This option is used to find the previous occurrence of the word that has been mentioned in the 'Find' field. In case there is no previous occurrence, no text is highlighted.
Sketch
Let us see what the Sketch button on the Menu bar looks like:
Sketch menuImage Credit-Arduino IDE:https://www.arduino.cc/en/software
- Verify/Compile: The verify button is used for the verification of the sketch or the written code. It can also report the memory by IDE.
- Upload: Once you click this button, the code will be compiled by the compiler and will run provided there are no errors in the code. You can specify the port where it will be uploaded.
- Upload Using Programmer: In case you want to manually overwrite the board instead of using the conventional Bootloader. The 'Upload Using Programmer' option is used for using the whole flash memory.
Let us see how we can perform this using the bootloader option and by selecting the USB serial port.
Tools-> Burn Bootloader
- Export compiled Binary: It is used for saving and exporting i.e sending files on the boards. The tools needed for this depend on the arduino.
- Show Sketch Folder: This button is used for opening the folder where the current sketch code is present.
- Include Library: Libraries are already written codes that are used to simplify the task of performing different functions. This button is used to include these Arduino libraries in our program. We can use # to import libraries in our sketch file.
- Add File: As the name suggests, this button is used for adding the file that you have created to a new tab.
New file addedImage Credit-Arduino IDE:https://www.arduino.cc/en/software
If you want to add the 'Blink' file created by you to the 'Javatpoint' file. This is how the screen will appear
Here is a list of options that appear in the drop-down menu when the tools menu is opened:
Tools MenuImage Credit-Arduino IDE:https://www.arduino.cc/en/softwareLet's discuss each option in detail.
- Auto Format: This button is used to handle the formatting of code. When you click this button, it will automatically manage the spacing and indentation of the written code.
- Archive Sketch: This button is used to store the copy of the current code by archiving it in the .zip format. The directory where the file is the one of the sketch.
- Fix Encoding and Reload: This is a complex button used to handle the inconsistencies in the data between the operating system char maps and editor char map encoding.
- Manage Libraries: The libraries used for arduino update with time and we need to update the libraries in our arduino as well. This button is used for updating this list and installing new libraries as well.
- Serial Monitor: The serial monitor helps to transfer data from connected board to computer using port,
- Serial Plotter: This is pre installed in the IDE and is used for displaying the serial data. This is generally represented in a plot.
- WiFi101/WiFiNINA Firmware Updater: It is used to check the Wi-Fi Firmware of the connected board and make the necessary updates for communication.
- Board: This button is used for selecting the board that matches the board connected to the computer. There will be a list of options to choose from.
- Processor: Depending on the type of board selected, this board will display the processor and it will be updated again and again when you change the board.
- Port: The port displays the serial devices that are connected to our port.
- Get Board Info: It gives the information about the selected board. We need to select the appropriate port before getting information about the board.
- Programmer: You need a hardware to program the board which is generally needed when the onboard USB serial connection is not in use. Another function of this button is to burn the bootloader manually.
- Burn Bootloader: When you don't have a bootloader pre installed in your microcontroller then you can use this option. In order to burn the bootloader, we need to know the correct board and port which will reduce and error.
Help
Here is a list of options that appear in the drop-down menu when the help menu is opened:
Help menuImage Credit-Arduino IDE:https://www.arduino.cc/en/softwareLet's discuss each option in detail.
The name help indicates the usefulness of help menu. It provides a list of options that can be useful for the user. It consists of several options that can be used by the user in case he/she just got started with arduino IDE. These include Getting Started, Environment, Troubleshooting, Reference, etc.
It is beneficial for the user since these options can be used without an internet connection and will directly open the official website of Arduino.
Tabs, Multiple Files, and Compilation
Let us see the tabs used for compilation and other functions
- Open: If you have an already created file and you want to open it then you can use the Open button. Clicking this button will open the created file and you can access it.
- Save: If you have a sketch file that needs to be saved then you can save it using this button.
- New: In order to open a blank sketch file in a new window, you can use the New button.
- Verify: While writing long codes, there is a large possibility of errors in the code therefore, you can verify the code before compiling it. The verify button is used for the verification of the sketch or the written code.
Uploading
As the name suggests, the Upload button is used to upload the code to the compiler. Once you click this button, the code will be compiled by the compiler and will run provided there are no errors in the code. It is necessary to connect your board to the screen so that results can be seen on the screen therefore, this button is very important.
Upload optionImage Credit-Arduino IDE:https://www.arduino.cc/en/software
Note that if the connection on your board is wrong or port numbers are marked incorrectly, the code will not run and will not give appropriate results. Therefore, ensure proper connection between the board and ports. These connections can be made using USB wires which can easily access your computer
Before uploading the code make sure that you reset the board so that any previous action is removed and new connections can be made. With the advancement of arduinos, many boards can provide the option to reset automatically if it's not available then you'll have to press the RESET button.
The result after clicking the upload button is a blink of the Tx and Rx LED only if the connections are right. Incase of failure, a prompt will appear indicating the error message on the screen.
If the uploading is failed, it will display the message in the error window. Note that the LED will blink on pin number 13.
Libraries
Certain functionalities are repeatedly used in arduino for performing certain actions. In order to reduce the number of times a code is written libraries are created which can be added into the arduino integrated development environment. These libraries are mostly written in C and C++ languages. Let us see how can we add libraries in the IDE
Sketch -> Import Library.
Here is a list of some standard libraries
- EEPROM(Electronic Erasable Programmable Read Only Memory)
- Ethernet Library
- Firmata Library
- GSM Library
- Liquid Crystal Library
Third-Party Hardware
All the installations and updates are done in the computer through the default Arduino package list. The Arduino package list can also be used for using official boards or it can even be used with third-party boards depending on the compatibility.
Here is how you can add or remove additional Board Manager URLs
File > Preferences >then Find Additional boards manager URLs and click OK
Serial Monitor
If you look at the right corner of the toolbar, you will see this icon which opens the serial monitor.
serial monitorImage Credit-Arduino IDE:https://www.arduino.cc/en/software
The serial monitor is also used for resetting the board in systems like Windows, Linux, and Mac OS X. We can also use a terminal program to manage the characters in our sketch. This terminal program will be connected to the COM port and this port will be connected by running the function and making some selections.
Conclusion
We have seen how we can use arduino integrated development environment for programming the arduino for electronic devices. We discovered various menus like file menu and we even read about the different bars under each menu like add, new, sketch. It is important to understand the buttons that are used for compilation and uploading purpose. Readers are advised to understand the functionality of each button and try some basic projects. Some frequently asked questions have been answered for better understanding of the readers.
Similar Reads
Setting Up C Development Environment
C is a commonly used programming language developed in the 1970s by Dennis Ritchie. It is known for providing low-level memory access, which makes it ideal for system programming and embedded systems. To start programming in C, we should be able to run or execute C source codes. We have two ways to
4 min read
Setting Up Smart Contract Development Environment
A development environment is an environment in which all the resources and tools are available which are used to develop a program or software product. Here, an attempt to create a development environment that is a collection of the processes and tools that are used to develop smart contracts.There
5 min read
Top 10 .NET Development Trends in 2025
Over the years, .NET development has continuously changed with time, turning it into one of the most robust and various frameworks in building manifold applications. With a rise in cloud computing, microservices, artificial intelligence, and other state-of-the-art technologies, the .NET ecosystem de
9 min read
Evolution of Software Development | History, Phases and Future Trends
Software development, the process of creating computer programs to perform various tasks, has evolved significantly since its inception. This evolution has been driven by technological advancements, changing needs, and the growing complexity of the digital world. Let's explore the key stages in the
8 min read
10 Reasons Why Software Development is Important ?
Everyday we hear about Software Development in different aspects of the technological world. But have you ever wondered why Software Development is so popular ? It must be very important, right ? So in this post, we have broken down into basics to understand the fundamental reasons why Software Deve
9 min read
Choosing the Right IDE for Python Development: A Comparison
Python, being one of the most popular programming languages, has a rich ecosystem of development environments. Selecting the right Integrated Development Environment (IDE) for Python development can greatly enhance your productivity, streamline coding workflows, and improve debugging processes. Diff
5 min read
Intel Associate Software Developer to Software Developer II
Career progression in any industry or sector is critical for an individual's growth. A natural progression from an Associate Software Developer to a Software Developer II at Intel can be termed a critical milestone for current and aspiring software developers. This development is more than mere fina
10 min read
Implementing Continuous Integration And Deployment (CI/CD) With AWS CodePipeline
In the Rapid field of software development, implementation of Continuous Integration and Deployment ( CI/CD )Â is essential for dependable and effective applications. This Article explores the streamlined process of setting up CI/CD using the AWS Code pipeline automating the build, test, and deploym
9 min read
The Impact of Git On Modern Software Development
Over the past two decades, Git has emerged as one of the most influential tools in modern software development. It enables developers to efficiently collaborate on projects, track changes, and manage codebases regardless of team size or geographic location. In this article, we will explore the profo
10 min read
What is Software Development Kit (SDK)?
In Software Development, an SDK is a collection of tools, libraries, and instructions that help developers in developing software applications. SDK is like a toolkit that includes pre-built components and guidelines to help developers develop software for a given platform or programming environment.
6 min read