Systèmes Embarqués 2025/2026
MASTER ESE 2025/2026 - USTHB/FGE
Cette page a été conçue pour vous accompagner le plus clairement possible afin de réussir dans ce module. Vous y trouverez l'ensemble des ressources nécessaires.
Cours
Cette section est dédiée au cours. Vous y trouverez la présentation du cours ainsi que d'autres supports.
Cours_0 | Le : 30/09/2025
Durant cette séance, nous avons mis en évidence l’intérêt du module. Nous avons discuté des différents chapitres et des apports qu’ils peuvent apporter à votre formation.
Le nombre d’étudiants, assez conséquent lors de la première séance, témoigne de votre sérieux pour cette nouvelle année universitaire. Je vous félicite.
Cours_1 | Le : 7/10/2025
Lors de ce deuxième cours, nous avons entamé une formation accélérée en Python. L’objectif est d’acquérir les prérequis nécessaires pour aborder les prochains chapitres de ce cours, notamment l’interface graphique, les systèmes embarqués, l’IoT, l’IA, le Raspberry Pi et autres.
Téléchargement des exemples effectués pendant le cours :
https://kharroubihakim.xyz/owncloud/index.php/s/KKgaD8JMpFmud3u
Durant ce cours, nous avons dû nous organiser pour trouver une salle plus ou moins convenable. Pour l’instant, nous travaillerons en salle E1. Concernant les TD, le laboratoire 30 sera utilisé. Il est à noter que je peux augmenter sensiblement le volume horaire du cours, jusqu’à 2 ou 3 heures supplémentaires si nécessaire, étant donné la disponibilité de temps après le cours. Cela serait dans votre intérêt.
Cours_2 | Le : 14/10/2025
Durant ce cours, nous avons abordé les structures de contrôle et effectué quelques exemples. Par la suite, nous avons initié une introduction à MicroPython, accompagnée d’une démonstration sur un ESP32.
Téléchargement des exemples effectués pendant le cours :
https://kharroubihakim.xyz/owncloud/index.php/s/9q0JagxGjmr0P9R
La salle utilisée pour le cours peut accueillir le nombre d’étudiants, mais elle ne permet pas d’accéder à Internet, ce qui est primordial pour la partie IoT. Par conséquent, nous serons dans l’obligation de changer de salle dans les semaines à venir.
Cours_3 | Le : 21/10/2025
Lors de ce cours, nous avons abordé la programmation orientée objet (POO) en Python, ainsi que son intérêt en MicroPython, notamment pour la création de classes. Cela nous permet de travailler avec des méthodes dédiées à certains capteurs ou à d’autres dispositifs.
https://kharroubihakim.xyz/owncloud/index.php/s/VGa3vpdFUoeCY6I
Important : Je tiens à insister sur un point précis : bien que la présence en cours soit relevée, le bonus de note lié à la présence ne sera pas appliqué cette année.
Cours_4 | Le : 28/10/2025
Durant ce cours, nous avons étudié en détail la gestion des timers de l’horloge dans le cas d’un ESP32. Nous avons ensuite abordé la classe Time ainsi que les fonctionnalités proposées pour la mesure du temps.
Vous trouverez ci-dessous le lien vers les exemples utilisés en cours:
https://kharroubihakim.xyz/owncloud/index.php/s/HqiEY9WUT9Fj8UB
TIMER, ESP32,Ticks_ms()
Cours_5 | Le : 04/11/2025 (2h)
Dans ce cours, nous avons abordé l’intérêt des interfaces graphiques pour les systèmes embarqués, avec une démonstration complète et une formation accélérée sur la création d’une interface avec CustomTkinter.
Exemples cours :
https://kharroubihakim.xyz/owncloud/index.php/s/fnA4WcyCCPNyl80
Présentation du cours :
https://kharroubihakim.xyz/owncloud/index.php/s/VcSLagSmLdchzH8
Documentation :
CustomTkinter, GUI
Cours_6 | Le : 11/11/2025
Durant ce cours, nous avons abordé le convertisseurs analogique numérique (ADC) de l’ESP32/8266 ainsi que celui de la Raspberry Pi Pico. Des exemples ont été donnés pendant la séance
Exemples Cours :
https://kharroubihakim.xyz/owncloud/index.php/s/BGgBDoxZ9vgohTD
ADC, ESP32, ESP8266, RP2040
Cours_7 | Le : 18/11/2025 (2h30)
Le cours d’aujourd’hui portait sur la PWM. La seconde partie était consacrée aux protocoles de communication, avec une étude détaillée du protocole UART. Des exemples de communication entre l’ESP32 et la Pico ont été présentés.
https://kharroubihakim.xyz/owncloud/index.php/s/tgj2l8QvRKhR4IF
Partie PICO:
https://kharroubihakim.xyz/owncloud/index.php/s/34CAL7aIbeXJSZ9
PWM, UART
Cours_8 | Le : 25/11/2025 (3h30)
Le cours d’aujourd’hui a porté sur la suite du chapitre dédié à la communication. Un exemple de mini-projet a été traité progressivement de A à Z, à la fois comme cours et comme TD.
https://kharroubihakim.xyz/owncloud/index.php/s/0yB7w5NrHWNTedY
UART,PySerial, GUI
Cours_9 | Le : 2/12/2025 (3h30)
Lors de ce cours, nous avons abordé les protocoles UART, I²C et SPI. Ensuite, nous avons découvert une nouvelle façon d’exploiter nos microcontrôleurs (MCU) grâce à des tâches coopératives, en opposition à la boucle principale (super loop). Nous avons également étudié le threading et le parallélisme au sens strict du terme. Enfin, le TD5 a été traité en classe.
https://kharroubihakim.xyz/owncloud/index.php/s/0Qntem4DawUe5Zt
RTOS/uasyncio/threading
Cours_10 | Le : 16/12/2025 (3h30)
Pendant ce cours, nous avons réalisé une démonstration complète pour expliquer en détail les capacités de l'IoT et ce qu’il est possible de faire avec un système embarqué connecté. Nous avons utilisé PHP et MySQL, puis nous avons intégré notre ESP32 à notre propre base de données. Enfin, nous avons récupéré les informations pour les afficher sur une interface web.
Exemples :
https://kharroubihakim.xyz/owncloud/index.php/s/2YtruLOq1uX76LJ
PHP,MySQL,IoT,ESP32,SQL
Travaux dirigés (TD)
TD1
L’objectif de ce TD est de reprendre ce qui a été abordé lors du premier chapitre.
https://kharroubihakim.xyz/owncloud/index.php/s/uyX4j5TouVgup4P
TD1_1.py:
https://kharroubihakim.xyz/owncloud/index.php/s/bt6y8mag7NeNv3e
TD1_3.py :
https://kharroubihakim.xyz/owncloud/index.php/s/2zw87MJldf31vIb
TD2
Le TD2 contient deux exercices : le premier permet de regrouper tout ce que nous avons vu durant le premier chapitre, tandis que le second inclut la POO et une application pratique.
Ci-dessous le lien du TD2 :
https://kharroubihakim.xyz/owncloud/index.php/s/CPtd4P9Q0xPTUDI
Corrigé du TD2 :
https://kharroubihakim.xyz/owncloud/index.php/s/pigaLq1L5XBe8Qw
https://kharroubihakim.xyz/owncloud/index.php/s/gJEpUh1a5UCkNrs
Le PC est obligatoire !
TD3
L'objectif est de développer un petit logiciel qui s'exécutera sur une interface graphique plutôt que sur la console.
https://kharroubihakim.xyz/owncloud/index.php/s/1WaEZ0FZJyJANwT
Corrigé TD3 :
https://kharroubihakim.xyz/owncloud/index.php/s/SgtQt2NDL3pbWAy
gui
TD4
Ce TD vise à manipuler l’un des protocoles de communication les plus utilisés en électronique embarquée : l’UART.
https://kharroubihakim.xyz/owncloud/index.php/s/QHWbvsvTzIlXNdA
TD5
Ce TD a pour objectif de consolider vos acquis à travers un mini-projet complet mettant en oeuvre :
- La communication série entre un système embarqué et un PC
- La gestion multitâche (RTOS/uasyncio)
- L'interface utilisateur (GUI) pour la visualisation des données
https://kharroubihakim.xyz/owncloud/index.php/s/aR5utVhESqibsqv
RTOS
Travaux Pratiques
TP1 - MicroPython (ESP32/RP2040)
Le but de ce premier TP est de s'initier à MicroPython en utilisant la classe machine et l'environnement de développement Thonny.
https://kharroubihakim.xyz/owncloud/index.php/s/4fjfDcQOhVtpmy9
Corrigé du TP :
https://wokwi.com/projects/445059368331967489
Étant donné le nombre très élevé d’étudiants, il est recommandé d’avoir son propre ESP32.
TP2- Clock_Timer(ESP32/RP2040)
Durant ce TP, nous allons manipuler les bases de temps et les timers, abordés en cours.
https://kharroubihakim.xyz/owncloud/index.php/s/dh1mh20q0FchTOG
Corrigé du TP :
https://wokwi.com/projects/447039447862095873
ESP32, RP2040, Timer
TP3
L’objectif de ce TP3 est de manipuler le convertisseur analogique-numérique (ADC) et la modulation de largeur d’impulsion (PWM) sur un ESP32 ou un ESP8266, ainsi que sur une RP2040.
https://kharroubihakim.xyz/owncloud/index.php/s/cCbgr3hiwhtq2EN
PWM,ADC
TP4- I2C/SPI (MP6050)
Ce TP a pour but de maîtriser deux protocoles de communication essentiels en embarqué : I2C et SPI, en les mettant en œuvre sur un ESP32-S3. Vous appliquerez ainsi les concepts théoriques vus en cours à travers un cas concret.
https://kharroubihakim.xyz/owncloud/index.php/s/JbJh9YXhfMGCA6b
I2C,SPI
Téléchargement
Dans cette section, vous trouverez les liens pour télécharger l'ensemble des ressources nécessaires.
-
Téléchargement de la présentation du cours :
https://kharroubihakim.xyz/owncloud/index.php/s/1jPB3LEcwVxd1ej
https://kharroubihakim.xyz/owncloud/index.php/s/h0ev8d0IWWns0UM
https://kharroubihakim.xyz/owncloud/index.php/s/CmfbtUxg1kVWod9
https://kharroubihakim.xyz/owncloud/index.php/s/ScMGmzf4OV02dwT
https://kharroubihakim.xyz/owncloud/index.php/s/YCZjLNLVyMWK5Ph
31/12/2025
-
Thonny - IDE for beginners
https://github.com/thonny/thonny/releases/download/v4.1.7/thonny-4.1.7.exe
Download version 4.1.7
-
Python 3.14
https://www.python.org/ftp/python/3.14.0/python-3.14.0-amd64.exe
Python 3.14
-
Logiciel de simulation pour MicroPython https://kharroubihakim.xyz/owncloud/index.php/s/E2kYCmJ0zNDRUmQ
À télécharger avant la séance de TP