El desenvolupament de sistemes embeguts o projectes amb microcontroladors ha guanyat una enorme popularitat en els darrers temps. Escollir lentorn adequat pot marcar la diferència entre un flux de treball eficient o una experiència frustrant. Aquí és on entra en joc PlatformIO IDE, una plataforma que ha vingut a revolucionar com els desenvolupadors gestionen diferents configuracions de maquinari i programari en un sol ecosistema.
Si estàs cansat de tenir múltiples programes de desenvolupament per a diferents tipus de plaques, o si necessites un entorn que et permeti treballar amb agilitat i personalització, PlatformIO pot ser la solució que cerques. A continuació, t'expliquem tot el que cal saber sobre aquesta potent eina.
Què és PlatformIO IDE?
PlatformIO IDE és un entorn de desenvolupament integrat dissenyat per facilitar el treball en projectes amb sistemes embeguts i IoT (Internet de les Coses). La particularitat d'aquesta plataforma és que permet treballar amb múltiples microcontroladors i plataformes de desenvolupament, tot des d'un sol lloc, cosa que simplifica enormement la gestió.
Entre les seves característiques més destacades hi ha la possibilitat de treballar amb més de 20 frameworks (Arduino, mbed, ESP-IDF, STM32Cube, etc.), manejar més de 700 plaques de desenvolupament i el suport per a milers de llibreries. Tot això ho converteix en una de les millors opcions per a qualsevol que treballi en projectes IoT o amb microcontroladors de diferents fabricants.
Avantatges sobre altres IDE
A diferència d'altres IDE com el clàssic d'Arduino, PlatformIO destaca per oferir característiques que faciliten el treball amb projectes més avançats:
- Autocompletat de codi, el que t'estalvia molt de temps en programar.
- Millor gestió de projectes complexos mitjançant el sistema de carpetes estructurades per a codi font, llibreries i arxius de configuració.
- Depuració integrada, que et permet depurar el programari en temps real, sempre que la placa utilitzada ho suporti.
A més, la instal·lació de PlatformIO IDE és molt senzilla i pot integrar-se amb entorns com Visual Studio Code o Atom, augmentant encara més la seva versatilitat.
Instal·lar PlatformIO: Pas a Pas

La instal·lació de PlatformIO és un procés força simple que no t'ha de portar més que uns minuts. Només heu de tenir instal·lat primer l'editor de codi Visual Studio Code o Atom. Quan el tinguis, segueix aquests passos:
- Obre el teu editor de codi (Visual Studio Code o Atom).
- Aneu a la secció de complements o extensions i busqueu “PlatformIO IDE”.
- Instal·la-ho i espera que finalitzi el procés.
Quan estigui instal·lat, us apareixerà una nova pestanya trucada PIO Home des d'on podreu gestionar, crear i compilar els vostres projectes.
Creació d'un nou projecte
Quan tinguis instal·lat PlatformIO, crear un nou projecte és molt senzill. Des de PIO Home, Selecciona l'opció de nou Projecte. Només necessitaràs emplenar tres camps:
- Nom de el projecte: Trieu qualsevol nom que descrigui el vostre projecte.
- Tauler: Selecciona la placa de desenvolupament que utilitzaràs. Pots buscar entre més de 700 disponibles, com Arduino Nano, ESP32 o STM32.
- Marc: El marc de treball que utilitzaràs. Si estàs familiaritzat amb Arduino, pots triar aquest, però també n'estan disponibles d'altres com mbed o ESP-IDF.
Un cop configurat el projecte, PlatformIO descarregarà automàticament les eines necessàries, com ara les llibreries i configuracions específiques per a la placa seleccionada.
Estructura d'un Projecte a PlatformIO
En crear un nou projecte, PlatformIO genera una estructura de fitxers i carpetes organitzada que facilita la gestió. Alguns dels elements clau són:
.pio/: Carpeta on es guarden els fitxers intermedis de compilació i temporals.include/: Aquí s'emmagatzemen els fitxers de capçalera (.h).lib/: Carpeta destinada a llibreries privades del projecte.src/: Aquí es guarda el codi font (arxius .cpp).platformio.ini: Fitxer de configuració principal, on s'indica quines llibreries utilitzar, configuració del port sèrie, entre d'altres detalls.
Compilació i execució d'un projecte
Un dels grans avantatges de PlatformIO és la facilitat amb què pots compilar i carregar els teus programes a la placa de desenvolupament. A diferència d'altres IDEs, PlatformIO automàticament configura tot allò necessari. En compilar un projecte, PlatformIO crea automàticament les carpetes necessàries i baixa qualsevol dependència addicional.
Per compilar i carregar el projecte només cal fer clic a les icones corresponents situades a la barra inferior del Visual Studio Code o Atom. Aquestes icones són molt similars a les de l'IDE d'Arduino, amb la diferència que a PlatformIO pots accedir a funcions més avançades com la depuració.
Gestió de Llibreries
A PlatformIO, la gestió de llibreries es realitza de manera eficient mitjançant el gestor de llibreries integrat. Això et facilita enormement la instal·lació de noves llibreries sense que afectin altres projectes, cosa que a l'Arduino IDE pot generar incompatibilitats entre diferents versions de llibreries.
A més, podeu tenir diferents versions d'una mateixa llibreria per a projectes separats. Les llibreries es guarden a la carpeta libdeps dins de cada projecte, i la gestió és independent entre projectes.
Depuració en Temps Reial
Una altra de les característiques clau de PlatformIO és la capacitat de depurar en temps real els teus programes. Si la vostra placa de desenvolupament ho suporta, podreu establir punts d'interrupció i analitzar l'estat del projecte directament al codi, cosa que us permetrà optimitzar i corregir errors de manera molt eficient.
Treball amb Diferents Plaques
Una de les principals raons per les quals PlatformIO és tan reeixit és la seva capacitat per treballar amb una increïble quantitat de plaques de desenvolupament: més de 700 oficialment suportades. Això inclou des de les populars plaques Arduino, fins a les més avançades com les basades en ARM o ESP32.
Aquesta versatilitat permet unificar totes les teves necessitats de desenvolupament sota un mateix entorn, eliminant la necessitat d'estar canviant de programari cada vegada que canvies de tipus de microcontrolador.