My project of adding a secondary esp32-tft touch screen to my inspiron laptop for information and controls.
- A systemd daemon that gathers information from the kernel and core utils.
- the information is divided to: constants (ram info, cpu info, distro, etc..) and variables (cpu usage and system temperature, time, volume, brightness, disk space, etc..)
- the constants is sent to the mcu at the program init, and the variables is sent at a time intervals.
- the program listen to the serial connection and wait for commands from the mcu (change volume & brightness, send keystrokes e.g ctrl+v, launch apps.)
- The mcu has a pre defined variables for the information from the os.
- At mcu boot, it waiting to a serial connection with the os, and display a waiting message.
- When the connection is successful the mcu send a request for the info files, and populate the variables.
- Finally the full ui is loaded and the information is displayed.
- systemd demon
- python script
- set permissions
- esp-idf framework
- display driver
- lvgl library
- serial connection & parsing
- main logic




