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 :

https://customtkinter.tomschimansky.com/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)

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)

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


https://wokwi.com/projects/450240162336923649

I2C,SPI

Téléchargement

Dans cette section, vous trouverez les liens pour télécharger l'ensemble des ressources nécessaires.