What Programming Language Does Arduino Use

Multiple programming languages are used to communicate between electronic devices. Programming languages are a precise way of communication between a machine and a programmer. Arduino is a platform that controls a microcontroller using a program. To write these programs a user-friendly language known as Arduino programming language is used.

How to Program Arduino

Arduino is a development platform based upon hardware and software. To program Arduino boards which come under hardware we use an open-source programming software known as IDE (Integrated Development Environment). A program written in IDE is called a sketch.

Arduino Programming Language

The Arduino IDE programming language is a framework based on the C++ language. IDE compiles our C++ code into assembly language which is used by Atmel chips mounted over Arduino boards also known as Microcontroller. Arduino language is based upon a simplified version of C and C++ language that makes it easier and more adaptable for beginners and students.

Most of the Arduino libraries are written in C and C++ language. Having a general idea about the C language can help to understand Arduino code easily. Many of the general concepts of programming are the same in C++ and Arduino language.

Arduino Program Structure

Arduino code structure is much like C++. The only difference is code written in Arduino IDE is limited to two functions; on the other hand, C++ may have more than two main functions.

One function is called setup() and the second one is loop().

setup() function is called only one time during the whole compilation of an Arduino sketch. While the loop() functions keep running until Arduino is turned off, reset, or a new sketch is uploaded. Unlike C++ we don’t have a main() function; everything is encapsulated inside our loop() function; in other words this can be called the main function of the Arduino programming language.

Code Example

Other Programming Languages Arduino Supports

Arduino is not only limited to the C++ platform, but it also allows users to even program Arduino boards with the latest upgrowing languages like Python. Sadly, Arduino IDE does not directly support Python programming however there are certain libraries like pyFirmata and pySerial available to build an interface between the Python developer shell and Arduino IDE.

There is another very famous platform known as MicroPython which supports Arduino boards directly to run Python sketches. These boards are named Pyboard. To program these boards, we need to install OpenMV IDE.

Currently, only four Arduino boards support MicroPython:

  • Nano 33 BLE
  • Nano 33 BLE Sense
  • Nano RP2040 Connect
  • Portenta H7


People from diverse backgrounds come into the Arduino environment. There might be a possibility that the Arduino IDE default language doesn’t fit their programming experience. To continue with Arduino multiple other language support can be utilized. Arduino’s flexibility to choose different languages can enhance the overall programming experience.

About the author


I am an Electrical Engineer. I love to write about electronics. I am passionate about writing and sharing new ideas related to emerging technologies in the field of electronics.