Create Makers

Software for Arduino Programming

Code Editor Banner

Disclosure: Some of the links below are affiliate links and we only earn a small commission if you purchase through our links at no additional cost to you. The earning mainly used for maintaining the website.

Any piece of programming board requires software for the development environment. Generally, the software is used as a bridge to build communication between the board and the IDE. For programmable boards to perform a specific command or task, the software – more commonly known as Integrated Development Environment (IDE), is required. It functions to write programs to the boards. So as the Arduino, an IDE (software for Arduino) is a must for programming the board.

What Is An Integrated Development Environment (IDE)?

An integrated development environment (IDE) is a computer application designed to develop software applications or projects. It consists of different programming languages, frameworks, and code libraries for easy and rapid development. Code editor, compiler, debugger, and more are the main advantages of IDE.

You must have heard of Microsoft Visual StudioEclipseAndroid Studio, and Xcode, right? Those are among the most popular IDE on the market today. Each has its features and tools for building software applications. Android Studio is well known for building android applications, whereas Microsoft Visual Studio flexible for multiple programming languages in a single platform.

IDE for Arduino

Now you get the idea of IDE. But wait, are there any prerequisites before get started? Arduino programming language is wiring-based, and Arduino IDE is processing-based. Often, we tend to agree Arduino programming language uses C++ language due to their similarity. To be precise, Arduino language is not even a language.

Well, this is probably too complicated to digest. You do not need to be an expert in programming due to its simplicity. You are good to go, even with zero knowledge about circuits and programming. In today’s world of programming and coding, there are text-based coding (requires fundamental programming language) and block-based coding (drag and drop features). So, you do not need to worry about the architecture behind it.

Text-Based Coding

Text-Based Coding

A traditional way of programming by typing text. A list of commands or syntax needs to remember. Coders have to follow the syntax rules to avoid errors. Typos in the names of variables can cause a big headache to troubleshoot.

Block-Based Coding

Block-Based Coding

As the name block, block-based coding is graphical of presenting the codes. It is very famous, especially for school kids. Dragging and dropping puzzle blocks rather than typing letters by letters make programming much effortless.

Arduino IDE

This is the official Arduino Software (IDE) introduced by It features for writing, compiling, and uploading codes to Arduino boards. A wide range of operating systems is supported like windows, Linux, and Mac OS X.

Programs that are written in Arduino IDE text editor are called sketches. These sketches are saved as a .ino extension file. Just like any other text editor, you can copy/paste and search/replace text within the text editor. At the top of the IDE, you can verify, upload, create, open, and save sketches. Any syntax errors of the codes will show right below the text editor.

  1. Toolbar
    • Verify: Check any errors in codes.
    • Upload: Compile and upload codes to boards.
    • New: Create a new sketches.
    • Open: Open saved sketches.
    • Save: Save sketches.
    • Serial Monitor: Open serial monitor.
  2. Text Editor
    • Void setup(): Codes here will run one time only as soon as the program starts running.
    • Void loop(): Codes here will run over and over again as long as the boards is turned on.
  3. Compiler
    • Messages: Show status/error messages.
    • Debugger: Show error of codes.

Alternative IDE for Arduino

If you are looking for another IDE rather than the classic one, you are in the right place. Eclipse and Microsoft Visual Studio are the awesome alternative IDE. However, setting up with them is sometimes quite challenging. As a beginner, you might want to skip these IDE. There are other easier IDEs.

Arduino Web Editor

Instead of writing codes offline in the classic IDE, you can write it online on the Arduino Web Editor by All the sketches are stored in the cloud and always up-to-date.

Testing On Arduino Web Editor

Once signed in, you will see the text editor on the “Sketchbook” tab. Above it, there is a notification stated Agent is required to install to upload codes to boards. Click on “INSTALL THE AGENT” to proceed.

Click “START” to go to the download section. Choose your operating system, either WIN32 or WIN64, to download. It does support Mac and Linux. Well, I do not see any options to choose which operating system. I guess it would automatically detect which operating system you are using. Comment below if you found it.

After downloading, follow the on-screen instructions to install the Agent.

No one wants to see “OPS SOMETHING WENT WRONG” right? Do not worry. Uninstall and reinstall back and make sure to allow the Agent in the Firewall settings. Now, try again.

If everything goes well, you should be able to see something similar to this, “CONGRATULAION YOU’RE ALL SET”.

The notification should be dismissed now after you have install and run the Agent. Let’s write a simple blinking led codes.

Nothing special, just a very simple codes here for testing purpose. I am using Arduino Uno board to connect to my desktop. The Arduino Web Editor detected which com port (COM4) my board is connected.

Once upload is clicked, the editor will verify for any syntax errors, save the sketch and then upload to the board.

If everything is going well, “Success” messages should be seen. We are done! Everything seems not that difficult, right?

My first impression of Arduino Web Editor was the user interface is so clean and simple. Comparing to the classic Arduino IDE, the former is a lot nice looking. Glossary and reference in which the classic editor opens a new window. In Arduino Web Editor, everything is in the same window, which I feel is better. Of course, everyone loves the dark theme. Unfortunately, the classic editor does not have this feature.

makeblock | mblock

Probably you do not like text-based coding. This editor might get your attention. mblock supports Arduino language in block-based coding. Unlike text-based coding, you need to remember the lengthy commands or syntax. All these are readily available for you to drag and drop in the editor.

Testing On mblock

The mblock editor looks so familiar with Scratch. It is colorful, clean, and easy-to-navigate features. The “Devices” tab allows you to select which boards you want to use. The “Sprites” and “Background” tab enable you to upload characters and background images.

However, we will not go that far for this blog. Clicked on the “Devices” tab, and you will see a lot of devices are supported. Since I am using the Arduino Uno board, I go for Arduino Uno.

Everything is as easy as drinking water. You only drag the blocks you need and drop them to the white space area, and you are done.

It is time to upload it to the Arduino board for testing. To upload, we required the mLink driver to communicate with the board. Proceed to download and follow the on-screen instructions to install it. Not a Windows user? No worry, mblock got you cover. The mLink driver supports Windows, Mac, Linux, and even Chromebook.

Upon successful installed, you will see something similar like this. Retry again to see if it can detect mLink driver.

You will see a pop out where you can select you COM port (COM4). Select for the COM port of your board and proceed.

Before uploading, select “Upload” mode instead of “Live” mode.

While your codes are uploading, an “Upload Progress” pop out will be shown up. If everything is smooth, you will be able to see “The code has been uploaded”. Hooray! You have done great progress.

Your Thought

You might have already decided to pick up Arduino as a new hobby, but you are confusing which IDE to use. There is no best IDE. There is only IDE that suits your need. A text-based editor is suitable for coders that have a basic programming background. Arduino IDE or Arduino Web Editor (if you wish to code online) is the right choice. Especially for kids, a colorful environment can attract their interest. mblock editor features drag and drop coding, colorful block codes, and easy to use for kids to try learning to program.

What is your favorite IDE? Or are you planning to switch to try a new experience of IDE? Comment below and let us know.

Notify of
Inline Feedbacks
View all comments
1 year ago

CodeKit by EduKits is the block coder I use for arduino projects. Does all I need for simple projects, line following robots etc.