ADB2USB pour STM32 - Convertisseur Apple Desktop Bus vers USB
Donnez une seconde vie à vos périphériques Apple vintage en les connectant à des ordinateurs modernes !
📋 Table des matières
- À propos du projet
- Fonctionnalités
- Matériel requis
- Schéma de branchement
- Installation
- Utilisation
- Personnalisation
- Débogage
- Contribution
- Licence
- Contact
ℹ️ À propos
Cette implémentation permet de connecter des anciens claviers et souris Apple utilisant le bus ADB à un ordinateur moderne via USB. Le microcontrôleur STM32 agit comme un pont de conversion, interprétant les signaux ADB et les transformant en signaux USB HID.
✨ Fonctionnalités
- ⌨️ Prise en charge des claviers ADB (touches et modificateurs)
- 🖱️ Prise en charge des souris ADB (déplacements et boutons)
- 🔍 Détection automatique des périphériques ADB
- 🔄 Reconnexion automatique des périphériques déconnectés
- 💡 Synchronisation des LED (Verr. Maj, etc.) entre USB et ADB
- 📦 Exemple complet pour PlatformIO
🔌 Matériel requis
- Carte de développement STM32 compatible avec Arduino (par exemple, STM32 Blue Pill)
- Périphériques ADB (clavier et/ou souris Apple)
- Connecteur ADB (Mini-DIN 4 broches)
- Résistance pull-up de 4.7kΩ à 10kΩ pour la ligne de données ADB
- Câble USB pour connecter la carte STM32 à l'ordinateur
🔧 Branchements
ADB Mini-DIN 4 broches:
- Pin 1 (ADB Data) → STM32 Pin PB4 (avec résistance pull-up 4.7kΩ à 10kΩ vers 5V)
- Pin 2 (Power SW) → Non connecté
- Pin 3 (5V) → 5V
- Pin 4 (GND) → GND
🚀 Installation
Prérequis logiciels
- PlatformIO (installé comme extension VS Code ou en ligne de commande)
- Environnement de développement STM32 pour Arduino
Étapes d'installation
-
Cloner ce dépôt
git clone https://github.com/electron-rare/stm32-adb2usb.git cd stm32-adb2usb -
Ouvrir le dossier dans PlatformIO
code . -
Compiler et téléverser vers votre carte
pio run -t upload
📝 Utilisation
Une fois le code téléversé:
- Connectez votre périphérique ADB à la carte STM32
- Connectez la carte STM32 à votre ordinateur via USB
- Les périphériques ADB seront automatiquement détectés et fonctionneront comme des périphériques USB HID
⚙️ Personnalisation
Pour adapter ce code à votre matériel spécifique:
- Modifiez la constante
ADB_PINpour correspondre à votre brochage - Ajustez
POLL_INTERVALselon vos besoins de réactivité
🐛 Débogage
Vous pouvez suivre le processus de détection et la connexion des périphériques via le moniteur série:
pio device monitor -b 115200
👥 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.
- Forkez le projet
- Créez votre branche (
git checkout -b feature/amazing-feature) - Commitez vos changements (
git commit -m 'Add some amazing feature') - Pushez vers la branche (
git push origin feature/amazing-feature) - Ouvrez une Pull Request
📄 Licence
Ce projet est sous licence GNU GPL v3. Voir le fichier LICENSE pour plus de détails.
📧 Contact
Clément SAILLANT - @lelectron_rare - contact@lelectron-rare.fr
Lien du projet: https://github.com/electron-rare/stm32-adb2usb

