PlatformIO to jedna z najbardziej znanych alternatyw dla Arduino IDE. Jest zintegrowanym środowiskiem programistycznym dla IoT. Obsługuje nie tylko płytki Arduino, ale wiele więcej innych płytek. Kod IDE jest zamieszczony na Github na licencji open source. PlatformIO instalujemy jako dodatek w popularnych IDE takich jak Atom czy Visual Studio Code.
Środowisko Umożliwia:
- instalacje bibliotek,
- dostęp do wielu platform,
- kolorowanie składni,
- dostęp do drzewiastej struktury katalogu,
- tworzenie testów jednostkowych dla projektu,
- monitorowanie portu szeregowego,
- korzystanie z gotowych przykładów,
- integracje z IDE np. Visual studio.
Główne okno interfejsu (interaktywne):
Instalacja bibliotek
Wiele sensorów, protokołów komunikacyjnych itp. wymaga dołączenia nowych bibliotek do środowiska. Możemy to zrobić na dwa sposoby w zakładce Libraries. Wyszukać w rejestrze bibliotek i dodać lub dołączyć bibliotekę z pliku zip w zakładce Updates.

Pierwszy program, kompilacja i wgrywanie
Tworzenie projektu
Podczas tworzenia projektu musimy nadać nazwę projektu, wybrać płytkę na którą będziemy program wgrywać oraz framework. Domyślna lokalizacja projektów jest ustawiona na Dokumenty\PlatformIO\Projects\, jeśli chcemy zmienić to musimy podać własną lokalizację.

Struktura plików
Gdy stworzymy projekt ukarze nam się drzewiasta struktura plików. Główne funkcje setup() i loop() znajdziemy w pliku main.cpp w katalogu src. Znajduje się tam również deklaracja do biblioteki "Arduino.h", która dodaje dyrektywy i definicje konieczne do obsługi kontrolerów. Testy zamieszczamy w katalogu test a konfiguracja projektu znajduje się w pliku "platformio.ini".

Kompilacja i wgrywanie programu
W celu przedstawienia wyników użyjemy przykładu Blink. Kod programu z opisem znajduje się w pliku blink.cpp w katalogu src. Kompilacje uruchamiamy za pomocą przycisku „✓” a wgrywanie przyciskiem „⇒” w dolnym niebieskim menu. Środowisko automatycznie wykrywa do którego portu COM mamy podłączony kontroler. Przebieg kompilacji i wgrywania możemy obserwować w oknie terminalu. Jeśli wgrywanie przebiegnie pomyślnie wyskoczy nam komunikat SUCCESS. Wszelkie błędy możemy odczytać w oknie Problemy.

