Программа на Arduino состоит из следующих разделов (в том порядке, как они обычно должны идти в программе):
При этом обязательными являются разделы setup и loop, которые обычно создаются сразу при открытии новой программы. Остальные разделы пользователь заполняет при необходимости.
При включении контроллера сначала запускается bootloader. Это маленькая программа, которая уже залита в Arduino на заводе. После этого bootloader подгружает программу, которая была записана в память микроконтроллера.
Первым выполняется раздел setup, который задаёт для Arduino основные настройки. При желании, кроме необходимых настроек, в него можно записать пользовательский код, который должен выполниться только один раз, при старте программы.
Далее выполняется раздел loop, именно в нём будет находиться основная программа. При этом, программа в разделе loop выполняется бесконечно: как только будет выполнена последняя команда в разделе, выполняется переход на первую команду в нём. Таким образом остановить выполнение программы можно только отключив Arduino от питания.
Параллельно с основной программой продолжает работать bootloader. Его задача опрашивать соединение с компьютером по USB. Такое соединение работает через интерфейс, называемый COM-порт. При появлении команды на загрузку новой программы, которая называется скетч, bootloader примет её и разместит в памяти Arduino.