Lecteur MP3 Juke-Box sur clé USB 16 Go

Figure 1 : Le concept original de 2013 (à gauche) rencontre la technologie de 2026 (à droite).

Bienvenue sur TechFix Hub ! Vous souvenez-vous des lecteurs MP3 sur clé USB des années 2010 ? Souvent limités au format MP3, avec des interfaces capricieuses et des boîtiers en plastique bas de gamme, ils ont rendu de fiers services. Mais pourquoi s'arrêter à un simple circuit propriétaire quand on peut construire son propre Juke-Box Hi-Fi sur mesure ?

Aujourd'hui, nous reprenons ce concept classique et nous le propulsons en 2026. Fini les puces audio obscures : nous allons utiliser un ESP32-S3 (qui possède un port USB OTG natif), un décodeur audio I2S de qualité studio, et nous finirons par un boîtier conçu sur mesure et imprimé en 3D. Préparez vos fers à souder et vos clés USB !

🚀 1. Pourquoi Moderniser ce Projet en 2026 ?

Si l'idée de base (3 boutons, une clé USB, une sortie audio) reste pertinente, les composants ont radicalement évolué :

  • Support Multi-Formats : Grâce à la puissance de l'ESP32-S3, notre Juke-Box ne lira pas que du MP3. Il décoderont nativement le WAV, le FLAC (sans perte), l'AAC et l'OGG.
  • Qualité Audio I2S : Nous abandonnons la sortie PWM "bas de gamme" pour le protocole I2S, offrant un rapport signal/bruit digne d'une chaîne Hi-Fi.
  • Connectivité cachée : L'ESP32-S3 intègre le WiFi et le Bluetooth. Nous pourrons ajouter un contrôle à distance via une page web locale ou streamer du Bluetooth vers le Juke-Box.
  • Capacité illimitée : Les contrôleurs USB modernes gèrent des clés de 32 Go, 64 Go, voire des disques SSD externes alimentés.

🛠️ 2. La Liste du Matériel (BOM)

Pour ce projet, nous privilégions des modules standards, faciles à sourcer et extrêmement fiables :

Composant Rôle
ESP32-S3 DevKit Le cerveau. Gère l'USB Host, le décodage et l'interface.
Module MAX98357A Amplificateur I2S 3.2W (Sortie vers HP ou pré-ampli).
Clé USB 3.0 (FAT32) Le stockage. Privilégiez les modèles compacts sans LED.
3 Boutons Poussoirs Précédent, Play/Pause, Suivant.
Batterie LiPo 3.7V + TP4056 Pour rendre le Juke-Box totalement nomade.

🔌 3. Le Câblage : USB OTG et Audio I2S

L'ESP32-S3 possède des broches USB natives (GPIO 19 et 20). Le protocole I2S nécessite 3 fils pour l'audio numérique. Voici le schéma de câblage :

// --- BROCHES USB (Pour la Clé USB) ---
ESP32-S3 GPIO 19 ---> USB D- (Data Minus)
ESP32-S3 GPIO 20 ---> USB D+ (Data Plus)
5V (VBUS) ---> USB VCC (Alim clé)
GND ---> USB GND

// --- BROCHES I2S (Pour le MAX98357A) ---
ESP32-S3 GPIO 4 ---> BCLK (Bit Clock)
ESP32-S3 GPIO 5 ---> LRC (Word Select / LRCLK)
ESP32-S3 GPIO 6 ---> DIN (Serial Data)
5V (VBUS) ---> VIN
GND ---> GND

// --- BROCHES BOUTONS (Avec Pull-up interne) ---
GPIO 1 ---> Bouton Précédent
GPIO 2 ---> Bouton Play/Pause
GPIO 3 ---> Bouton Suivant

💡 Astuce TechFix : Si vous utilisez une clé USB qui consomme beaucoup (ex: disque dur externe), ajoutez un condensateur de 470µF sur la ligne 5V pour éviter les resets de l'ESP32 lors du "spin-up".

💻 4. Le Code Arduino (ESP32-S3)

Pour ce projet, nous utilisons l'excellente bibliothèque open-source ESP32-audioI2S (disponible via le gestionnaire de bibliothèques Arduino). Elle gère nativement le montage USB MSC (Mass Storage Class) et le décodage multi-format.

#include <Arduino.h>
#include <USB.h>
#include <USBMSC.h>
#include "Audio.h" // Bibliothèque ESP32-audioI2S

// Définition des broches I2S
#define I2S_DOUT  6
#define I2S_BCLK  4
#define I2S_LRC   5

// Définition des boutons
#define BTN_PREV  1
#define BTN_PLAY  2
#define BTN_NEXT  3

Audio audio;
bool isPlaying = false;

void setup() {
  Serial.begin(115200);
  
  // Configuration des boutons en entrée avec pull-up
  pinMode(BTN_PREV, INPUT_PULLUP);
  pinMode(BTN_PLAY, INPUT_PULLUP);
  pinMode(BTN_NEXT, INPUT_PULLUP);

  // Initialisation de l'USB en mode Host
  USB.begin();
  
  // Configuration de la sortie audio I2S
  audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
  audio.setVolume(15); // Volume par défaut (0-21)

  // Connexion à la clé USB (Lecture du premier fichier trouvé)
  // La bibliothèque gère le montage FAT32 automatiquement
  audio.connecttoFS(SD_MMC, "/"); // Adapté pour USB MSC dans les versions récentes
  Serial.println("Juke-Box TechFix Hub initialisé !");
}

void loop() {
  audio.loop();
  
  // Gestion des boutons (avec anti-rebond logiciel)
  if (digitalRead(BTN_PLAY) == LOW) {
    if (isPlaying) audio.pauseResume();
    isPlaying = !isPlaying;
    delay(200); // Anti-rebond
  }
  
  if (digitalRead(BTN_NEXT) == LOW) {
    audio.nextTrack();
    delay(200);
  }
  
  if (digitalRead(BTN_PREV) == LOW) {
    audio.previousTrack();
    delay(200);
  }
}

🖨️ 5. Le Boîtier : L'Apport de l'Impression 3D

Un vrai Juke-Box mérite un vrai écrin. Plutôt qu'une boîte en plastique générique, nous avons conçu un boîtier au style "Rétro-Futuriste" inspiré des Walkmans des années 80, mais avec les tolérances millimétrées de l'impression 3D (PLA ou PETG).

Le boîtier intègre :

  • Une trappe latérale aimantée pour insérer et éjecter la clé USB facilement.
  • Trois boutons poussoirs ronds en laiton (récupérés sur de vieilles radios) qui s'enclenchent parfaitement dans les logements imprimés.
  • Une grille de ventilation discrète pour le MAX98357A et l'ESP32.

📥 Le fichier STL du boîtier est disponible en téléchargement sur notre page GitHub TechFix Hub !

✨ 6. Le "Upgrade" TechFix Hub (Niveau Avancé)

Vous maîtrisez la version de base ? Voici comment transformer ce lecteur en véritable centrale multimédia :

  1. Contrôle WiFi (WebUI) : Ajoutez un petit écran OLED SSD1306 en I2C pour afficher le nom de la piste, et hébergez une page web locale pour contrôler la lecture depuis votre smartphone.
  2. Mode Bluetooth A2DP Sink : Utilisez la bibliothèque ESP32-a2dp pour que votre Juke-Box devienne aussi un récepteur Bluetooth. Vous pourrez streamer Spotify depuis votre téléphone vers la chaîne Hi-Fi.
  3. Intégration Domotique : Rendez le Juke-Box compatible Home Assistant via MQTT pour le contrôler à la voix avec Alexa ou Google Home.

🎯 Conclusion

Repenser un projet classique de 2013 avec les outils de 2026 est l'essence même de l'électronique DIY. L'ESP32-S3 a transformé un simple lecteur de clé USB en une plateforme audio puissante, ouverte et évolutive. Que vous l'utilisiez pour votre atelier, votre garage ou comme cadeau personnalisé, ce Juke-Box prouve que la musique et le "Fait Maison" font toujours bon ménage.

Et vous, quel format audio privilégiez-vous sur vos clés USB ? Le MP3 classique ou le FLAC sans perte ? Dites-le-nous en commentaire !

Lecteur MP3 USB ESP32-S3 Audio I2S DIY Audio Impression 3D

Bottom Ad [Post Page]