Matériel, logiciels, langage, premiers projets et parcours d'apprentissage — le guide complet du débutant
La programmation embarquée consiste à écrire des logiciels qui tournent sur des microcontrôleurs — de petits ordinateurs intégrés dans des objets du quotidien. Votre machine à café, votre thermostat, votre voiture, votre drone et même votre brosse à dents électrique contiennent des microcontrôleurs programmés par des ingénieurs embarqués.
Contrairement à un programme PC qui s'exécute sur Windows ou Linux avec des gigaoctets de mémoire, un programme embarqué tourne sur une puce avec quelques kilooctets de mémoire, sans système d'exploitation, en interaction directe avec des composants physiques (LED, moteurs, capteurs, écrans).
C'est un domaine passionnant qui mélange programmation et électronique, logiciel et matériel. Et c'est aussi un secteur qui recrute massivement : l'industrie automobile, aéronautique, médicale et IoT a un besoin constant d'ingénieurs embarqués.
Voici le kit de démarrage minimal selon votre budget :
| Logiciel | Pour quoi faire | Plateforme |
|---|---|---|
| Arduino IDE 2.x | Programmer les cartes Arduino et les ATtiny | Arduino, ATmega, ATtiny |
| MPLAB X IDE + XC8 | Programmer les PIC 8 bits | PIC12F, PIC16F, PIC18F |
| Microchip Studio | Programmer les AVR en bare metal | ATmega, ATtiny |
| VS Code + PlatformIO | IDE moderne multi-plateforme | Arduino, AVR, ESP32, STM32 |
Pour les détails d'installation, consultez nos guides : IDE Arduino et PICkit 3 & MPLAB X.
Le langage dominant en embarqué est le C. Environ 80% du code embarqué dans le monde est écrit en C. Pourquoi ?
Vous n'avez pas besoin de maîtriser tout le C avant de commencer. Les notions essentielles pour l'embarqué sont : les variables (int, char, float), les conditions (if/else), les boucles (while, for), les fonctions, et les opérations bit à bit (&, |, ^, ~, <<, >>). Le reste s'apprend en pratiquant.
Voici la progression idéale. Chaque projet introduit un concept nouveau :
| # | Projet | Concepts appris | Tutoriel |
|---|---|---|---|
| 1 | LED clignotante | GPIO sortie, delay, boucle infinie | PIC / Arduino |
| 2 | Bouton + LED | GPIO entrée, pull-up, condition if | Arduino |
| 3 | Potentiomètre → LED PWM | ADC, analogRead, PWM, analogWrite | Arduino |
| 4 | Moniteur série (debug) | UART, Serial.print, débogage | Arduino |
| 5 | Capteur de température | Bibliothèques, I2C/1-Wire, affichage | Arduino |
| 6 | LED clignotante PIC | Registres, TRISIO, GPIO, pragma config | PIC |
| 7 | Timer sans delay() | Timer matériel, interruptions, ISR | PIC / ATmega |
| 8 | Lecture capteur ADC sur PIC | ADCON0, ADCON1, conversion analogique | PIC |
| 9 | PWM moteur/LED PIC | Module CCP, duty cycle, fréquence | PIC |
| 10 | Blink bare metal ATmega | DDR, PORT, PIN, AVR-GCC | ATmega |
Le secteur de l'embarqué est en pleine croissance. Les profils les plus recherchés :
Les salaires débutants en France vont de 32 000 € à 40 000 € brut/an, et montent rapidement avec l'expérience. La maîtrise du C, des microcontrôleurs (PIC, STM32, ESP32) et des protocoles de communication est le socle commun de tous ces métiers.