Le projet ObCP (Objet Connecté Personnel) est une plateforme de développement basée sur le microcontrôleur STM32L476RG et les modules Bluetooth SPBTLE-RF (avant 2024) ou BlueNRG-M0 (à partir de 2024). Elle permet de prototyper des objets connectés intelligents et personnalisés.
Ce dépôt propose une série de projets d’exemple destinés à la carte ObCP. Chaque répertoire contient un projet STM32CubeIDE complet ainsi qu'un sous-répertoire bin/
contenant les fichiers binaires prêts à être flashés directement sur la carte.
Ces projets permettent d'explorer diverses fonctionnalités telles que :
- ⚡ PWM
- 🔌 GPIOs
- 📡 Bluetooth Low Energy (BLE)
- 🚦 LEDs multicolores
- 📡 Communication I2C, SPI
/
├── ObCP_projet_1/ # Dossier contenant un projet exemple complet
│ ├── .settings/ # Fichiers de configuration STM32CubeIDE
│ ├── Core/ # Code source du projet (main.c, stm32l4xx_it.c, etc.)
│ ├── Drivers/ # Drivers HAL et CMSIS pour STM32
│ ├── bin/ # Fichiers binaires prêts à flasher (hex, bin, elf)
│ └── ObCP_projet_1.ioc # Fichier de configuration CubeMX
│
├── ObCP_projet_2/ # Un autre projet exemple
│ └── bin/ # Fichiers binaires prêts à flasher
│
├── README.md # Ce fichier de présentation
└── Images/ # Images et captures d'écran de la configuration
Chaque dossier ObCP_projet_x est un projet complet que vous pouvez importer dans STM32CubeIDE. Vous y trouverez également un dossier bin/ contenant les fichiers binaires (".bin", ".hex", ".elf") prêts à être flashés sur la carte.
1️⃣ A l'aide de l'explorateur de fichier, copiez le dossier du projet dans votre dossier de workspace CubeIDE.
2️⃣ Lancez STM32CubeIDE et accédez à File → Import.
3️⃣ Choisissez Existing Projects into Workspace et cliquez sur Next.
4️⃣ Cliquez sur Browse et sélectionnez le dossier du projet (par exemple, ObCP_projet_1/
).
5️⃣ Assurez-vous que le projet est bien coché, puis cliquez sur Finish.
Vous verrez maintenant le projet importé dans l’explorateur de projets de STM32CubeIDE.
Pour flasher le programme directement sur la carte, il est souvent utile de générer le fichier binaire .bin (ou .hex). Voici comment configurer STM32CubeIDE pour générer automatiquement ces fichiers.
1️⃣ Accédez aux paramètres de génération d'artefacts binaires :
- Clic droit sur le nom du projet dans l'explorateur de projets.
- Sélectionnez Properties (Propriétés).
2️⃣ Accédez à la section Build Settings :
- Allez dans C/C++ Build → Settings.
- Dans l'onglet Tool Settings*, recherchez la section MCU Post build outputs.
3️⃣ Activez la génération du fichier binaire :
- Dans la liste, cochez Convert to binary file et Convert to intel Hex file, ajoutez la ligne suivante :
4️⃣ Validez et appliquez les modifications :
- Cliquez sur Apply and Close.
5️⃣ Compilez le projet :
- Faites un clic droit sur le projet et sélectionnez Build Project.
- Le fichier .bin sera généré dans le répertoire /Debug/ ou /Release/ selon la configuration de votre build.
- STM32L476RG : Puissance de traitement, faible consommation, parfait pour les applications IoT.
- SPBTLE-RF / BlueNRG-M0 : Module Bluetooth Low Energy.
- PWM : Contrôle de charges (jusqu’à 2,5W sous 5V).
- Bouton poussoir utilisateur : Interface utilisateur simple.
- Batterie Lithium : Alimentation autonome portable.
- LED RGB : Indication des états de fonctionnement.
- Capteur LIS3D : Mesure d'accélérations sur trois axes.
1️⃣ Téléchargez et installez STM32CubeProgrammer.
2️⃣ Connectez votre ObCP en mode "Prog" (SW4) puis appuyez sur "Reset" (SW3).
3️⃣ Flashez le programme : Le port USB doit à présent être detecté comme actif pour la programmation. Effacer le STM32 (Bouton Full chip erase de l'onglet Erase flash memory) puis ouvrez l'emplacement du fichier binaire (.elf/.bin/.hex) à l'aide du bouton Browse et enfin cliquez sur Start programming pour charger le programme dans le STM32 via l'interface USB dans CubeProgrammer. Si vous utilisez le fichier BIN, l'adresse de début est 0x08000000.
4️⃣ Repassez en mode "Run" et appuyez sur Reset (SW3) pour démarrer le programme.
- Téléchargez et installez STM32CubeIDE et STM32CubeProgrammer.
- Configurez STM32CubeIDE pour téléverser directement en mode DFU via la CLI de CubeProgrammer :
- Location :
C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\STM32_Programmer_CLI.exe
- Working directory :
${workspace_loc}${project_path}\Debug
- Arguments :
-c port=usb1 -d ${project_name}.elf -s
- Location :
- Placez SW4 en mode "Prog", appuyez sur SW3 "Reset", puis démarrez le téléversement.
- Une fois le téléversement terminé, repassez en mode "Run" et redémarrez avec SW3.
- STM32L476RG : Documentation officielle.
- BlueNRG-M0 : Fiche technique.
Note : Ce projet est destiné à des fins de développement et d'apprentissage. Utilisez-le à vos propres risques.