In recent years the demand for electronics engineers has exploded, prompting universities to rethink their curricula. A growing trend is the shift from STEM to STEAM, adding Art to the traditional Science, Technology, Engineering and Math mix. While STEAM makes technical subjects more appealing in primary schools, what happens in a university embedded‑systems programming course?\n\nA team of teachers tried exactly that, inserting graphical user interface (GUI) design into an Embedded Systems Programming class. Today many devices – from smartwatches to home thermostats – feature interactive screens, so knowing how to build a GUI is a highly sought‑after skill. Students had to write code for microcontrollers and also consider colors, layout and usability, just like a designer would.\n\nThe outcome? Post‑course surveys showed high satisfaction: students found the subject more engaging and understood better how hardware and software talk to the end user. In practice, art acted as a “glue” between circuits and user experience, making learning more concrete and fun. This case shows that even at university level, integrating aesthetics can boost engineering education, preparing graduates to create more intuitive and attractive products.
Integrating GUIs into embedded systems demands careful management of limited resources: RAM, processing power, and energy consumption. Students learned to use lightweight libraries such as LVGL (Light and Versatile Graphics Library), optimized for microcontrollers with only a few kilobytes of RAM. They also tackled interface latency, balancing screen refresh rates with bus communication speeds (SPI or I2C).\n\nFrom a design perspective, the concept of "design for low‑power" was introduced: selecting low‑consumption color palettes for OLED displays, reducing active pixel counts, and implementing sleep modes for graphic components. Students prototyped quickly with tools like Figma, exporting mockups to C code via automatic plugins.\n\nFinally, usability was assessed through user‑experience tests with peer groups, collecting task completion times and error rates. These metrics allowed iterative layout improvements, enhancing human‑machine interaction. The STEAM approach thus delivered not only technical skills but also user‑centered design methodologies, essential for modern IoT product development.
