Peoples Reference

See the extended reference? for more advanced features of the Arduino languages and the libraries page? for interfacing with particular types of hardware.

Arduino programs can be divided in three main parts: structure, values (variables and constants), and functions. The Arduino language is based on C/C++.


  • void setup()


  • void loop?()

Control Structures

Further Syntax

  • ;? (semicolon)
  • {}? (curly braces)
  • //? (single line comment)
  • /* */? (multi-line comment)

Arithmetic Operators

Comparison Operators

  • == (equal to)
  • != (not equal to)
  • < (less than)
  • > (greater than)
  • <= (less than or equal to)
  • >= (greater than or equal to)

Boolean Operators

Compound Operators

  • ++? (increment)
  • --? (decrement)
  • +=? (compound addition)
  • -=? (compound subtraction)
  • *=? (compound multiplication)
  • /=? (compound division)


Variables are expressions that you can use in programs to store values, such as a sensor reading from an analog pin.


Constants are particular values with specific meanings.

Data Types

Variables can have various types, which are described below.



Digital I/O

Analog I/O

Advanced I/O

  • shiftOut?(dataPin, clockPin, bitOrder, value)
  • unsigned long pulseIn(pin, value)




Random Numbers

Serial Communication

Used for communication between the Arduino board and a computer or other devices. This communication happens via the Arduino board's serial or USB connection and on digital pins 0 (RX) and 1 (TX). Thus, if you use these functions, you cannot also use pins 0 and 1 for digital i/o.

Didn't find something? Check the extended reference? or the libraries?.