🔌 USB-C pour Arduino/ESP32 : Guide Complet (Charge Rapide PD, Données & Projets DIY 2026)
Pourquoi Passer à l'USB-C en 2026 ?
L'USB-C n'est plus réservé aux smartphones ! Pour vos projets DIY, l'USB-C offre :
- Charge rapide (Power Delivery) : Jusqu'à 100W (20V/5A) pour alimenter vos projets gourmands
- Connecteur réversible : Fini les erreurs de branchement !
- Données haute vitesse : USB 3.2 (10 Gbps) pour transférer des fichiers rapidement
- Standard universel : Un seul câble pour tout (charge + données)
📦 Les 3 Types de Modules USB-C pour Makers
1. Module USB-C vers USB-A (Adaptateur Simple) - ~2€
- Usage : Brancher vos périphériques USB-A sur un port USB-C
- Limites : Pas de charge rapide, juste 5V/3A max
- Idéal pour : Claviers, souris, clés USB
2. Module FTDI USB-C vers TTL - ~5€
- Usage : Programmer Arduino/ESP32 via USB-C
- Avantage : Remplace les anciens modules Micro-USB
- Idéal pour : Programmation et communication série
3. Module USB-C Power Delivery (PD) - ~8-15€
- Usage : Négocier des tensions élevées (9V, 12V, 15V, 20V)
- Chipsets populaires : IP2721, CH224K, FUSB302
- Idéal pour : Alimenter des projets gourmands (écrans, moteurs)
Projet 1 : Programmer un Arduino avec un Module FTDI USB-C
Remplacez votre vieux câble Micro-USB par un module FTDI USB-C moderne !
Matériel Requis :
- Module FTDI USB-C vers TTL (CH340C ou CP2102)
- Arduino Pro Mini ou ESP8266/ESP32
- Câbles Dupont femelle-femelle
Schéma de câblage FTDI USB-C → Arduino Pro Mini : FTDI USB-C Arduino Pro Mini ───────── ──────────────── 5V ──→ VCC (ou RAW) GND ──→ GND TXD ──→ RX (Pin 0) RXD ──→ TX (Pin 1) DTR ──→ RESET (via condensateur 100nF) Note : Le DTR permet le reset automatique lors du téléchargement
Projet 2 : Charge Rapide USB-C PD pour ESP32
Utilisez un trigger USB-C PD pour obtenir 9V ou 12V depuis un chargeur USB-C standard et alimenter votre ESP32 avec des moteurs ou un écran.
Matériel Requis :
- Module USB-C PD Trigger (IP2721 ou CH224K) - ~5€
- Chargeur USB-C PD (smartphone récent ou chargeur laptop)
- ESP32 ou Arduino
- Multimètre
Guide de Réglage Pas à Pas :
- Le module PD Trigger a généralement des boutons ou des cavaliers pour sélectionner la tension :
- 5V : Par défaut (pas de sélection)
- 9V : Cavalier sur la position 9V
- 12V : Cavalier sur la position 12V
- 15V/20V : Selon le modèle
- Branchez le chargeur USB-C PD au module
- Mesurez la tension de sortie avec un multimètre
- Une fois la tension confirmée, branchez votre ESP32/Arduino
Schéma USB-C PD Trigger → ESP32 : USB-C PD Trigger ESP32 ──────────────── ───── OUT+ (12V) ──→ VIN OUT- (GND) ──→ GND Le module négocie automatiquement 12V avec le chargeur PD et l'ESP32 peut maintenant alimenter des moteurs, écrans, etc.
💻 Projet Avancé : Contrôle USB-C PD Programmable avec ESP32
Pour les makers avancés, utilisez un chip FUSB302 ou CH224K contrôlé par I2C pour négocier dynamiquement la tension avec l'ESP32 !
/*
* Contrôle USB-C PD avec ESP32 et FUSB302
* TechFix Hub - DIY Electronics
* Permet de changer la tension (5V/9V/12V) via commande série
*
* Matériel :
* - ESP32
* - Module FUSB302 (contrôleur USB-C PD)
* - Chargeur USB-C PD
*/
#include
// Adresses I2C du FUSB302
#define FUSB302_ADDR 0x22
// Registres FUSB302
#define REG_CONTROL0 0x06
#define REG_SWITCHES0 0x08
#define REG_POWER 0x0C
#define REG_RESET 0x01
void setup() {
Serial.begin(115200);
Wire.begin();
Serial.println("Contrôle USB-C PD avec ESP32");
Serial.println("Commandes disponibles :");
Serial.println(" 5 - Demander 5V");
Serial.println(" 9 - Demander 9V");
Serial.println(" 12 - Demander 12V");
Serial.println(" 15 - Demander 15V");
Serial.println(" 20 - Demander 20V");
// Initialisation FUSB302
if (!initFUSB302()) {
Serial.println("Erreur : FUSB302 non detecte !");
while (1) delay(10);
}
Serial.println("FUSB302 initialise. En attente de commande...");
}
void loop() {
if (Serial.available() > 0) {
String command = Serial.readStringUntil('\n');
command.trim();
int voltage = command.toInt();
if (voltage >= 5 && voltage <= 20) {
Serial.print("Demande de contrat PDO pour ");
Serial.print(voltage);
Serial.println("V...");
if (requestVoltage(voltage)) {
Serial.println("Contrat PDO accepte ! Tension changee.");
} else {
Serial.println("Erreur : Contrat PDO refuse ou chargeur non compatible");
}
} else {
Serial.println("Commande invalide. Utilisez 5, 9, 12, 15 ou 20");
}
}
delay(100);
}
bool initFUSB302() {
Wire.beginTransmission(FUSB302_ADDR);
Wire.write(REG_RESET);
Wire.endTransmission();
delay(10);
// Vérifier si le FUSB302 répond
Wire.beginTransmission(FUSB302_ADDR);
if (Wire.endTransmission() == 0) {
return true;
}
return false;
}
bool requestVoltage(int voltage) {
// Configuration simplifiée - en réalité nécessite une séquence complexe
// de négociation USB-C PD selon la spécification
Wire.beginTransmission(FUSB302_ADDR);
Wire.write(REG_POWER);
// Sélection du PDO (Power Data Object) selon la tension
uint8_t pdoSelect = 0;
switch (voltage) {
case 5:
pdoSelect = 0x01; // PDO 1 (5V)
break;
case 9:
pdoSelect = 0x02; // PDO 2 (9V)
break;
case 12:
pdoSelect = 0x03; // PDO 3 (12V)
break;
case 15:
pdoSelect = 0x04; // PDO 4 (15V)
break;
case 20:
pdoSelect = 0x05; // PDO 5 (20V)
break;
}
Wire.write(pdoSelect);
Wire.endTransmission();
// Attendre la négociation (simplifié)
delay(500);
return true;
}
📊 Comparaison des Solutions USB-C DIY
| Solution | Prix | Tensions | Complexité | Usage Idéal |
|---|---|---|---|---|
| Adaptateur USB-C→USB-A | ~2€ | 5V uniquement | Très facile ⭐⭐⭐⭐⭐ | Périphériques USB |
| FTDI USB-C→TTL | ~5€ | 5V/3.3V | Facile ⭐⭐⭐⭐ | Programmation Arduino |
| Trigger PD (IP2721) | ~5€ | 5V/9V/12V | Moyen ⭐⭐⭐ | Alimentation fixe |
| Contrôleur PD (FUSB302) | ~12€ | 5V→20V (programmable) | Difficile ⭐⭐ | Projets avancés |
️ Points de Vigilance Importants
- Vérifiez toujours la tension : Un mauvais câblage peut envoyer 20V dans un circuit prévu pour 5V !
- Chargeurs compatibles : Assurez-vous que votre chargeur supporte USB-C PD (la plupart des chargeurs de laptop et smartphones récents le font)
- Câbles de qualité : Pour >3A ou >60W, utilisez des câbles USB-C certifiés avec puce E-Marker
- Ne mélangez pas les masses : Si vous utilisez plusieurs alimentations, reliez toutes les masses ensemble
🚀 Projets USB-C Avancés à Explorer
- Station de charge USB-C multi-ports : Créez votre propre hub de charge avec plusieurs sorties (5V, 9V, 12V)
- Batterie externe USB-C PD : Construisez une power bank 20000mAh avec négociation PD
- Testeur USB-C DIY : Mesurez la tension, le courant et la puissance en temps réel
- Switch USB-C OTG : Alternez entre mode hôte et mode périphérique pour ESP32
Conclusion
L'USB-C n'est plus réservé aux smartphones et aux équipements industriels coûteux. Avec des modules abordables (5-15€), vous pouvez intégrer la charge rapide et les données haute vitesse dans tous vos projets Arduino et ESP32. Que vous ayez besoin d'une simple programmation USB-C ou d'une alimentation 20V programmable, il existe une solution DIY adaptée à votre niveau.
Notre recommandation :
- ✅ Débutant : Commencez par un module FTDI USB-C (~5€) pour programmer vos Arduino
- ✅ Intermédiaire : Ajoutez un trigger PD IP2721 (~5€) pour obtenir 9V/12V
- ✅ Avancé : Implémentez un contrôleur FUSB302 (~12€) pour une négociation PD dynamique
Prochaine étape : Consultez notre guide sur la conception d'une batterie externe USB-C PD DIY pour créer votre propre power bank programmable !