Qt for MCUs in everyday life – Smart Shower that connects tech, people & business
The Smart Shower project is a practical example of how technology can seamlessly integrate into daily routines, going far beyond the typical tech showcase that gathers dust after a presentation. This initiative is a direct reflection of Spyrosoft’s commitment to blending business goals with innovation, helping build new partnerships, support clients, and encourage teams to explore the latest in embedded technology.
As the line between hardware and software continues to fade, and microcontrollers become central to more devices in our homes, we see an opportunity to address the evolving needs of both manufacturers and everyday users. The Smart Shower is our answer to this shift – a solution designed not just to demonstrate technical capability, but to show how thoughtful design can create value for businesses and improve daily life for people.
Why was the Smart Shower created?
We set out to build the Smart Shower as more than just an attractive demo. Our goal was to lay the groundwork for real consumer products, especially as microcontrollers become the backbone of user interfaces in everyday devices. We believe that a product is only as good as the experience it offers, and a smooth, modern interface is at the heart of that. With Qt for MCUs, we’re able to bring that experience to life, even on hardware with tight constraints, helping our clients take meaningful steps in their digital transformation.
When we brought the Smart Shower to Qt World Summit 2025, it quickly became a talking point. Developers stopped by our booth, eager to swap stories and pick our brains about the project. More than once, someone admitted they wished they’d built something like this themselves.
Speaking personally, there’s a real sense of pride when fellow developers admire your work. The event also gave us a chance to connect with new people, strengthen our ties with the Qt team, and gather fresh ideas to push our technology even further.

Something for everyone
The Smart Shower is a perfect illustration of how we operate at Spyrosoft. Built from scratch by a diverse team of engineers, designers and coordinators from various departments, it showcases the power of collaboration across disciplines.
As well as being a showcase, it also sparks conversations with our strategic partners, both current and potential new collaborators. There is strong interest from companies looking to modernise their product lines, particularly in sectors such as home appliances, bathroom fixtures, wellness, and HVAC.
The heart of the system – Qt for MCUs
Opting for Qt for MCUs was a deliberate choice. This framework strikes a great balance by delivering modern, visually appealing user interfaces while keeping hardware demands low. It’s a perfect fit for device makers who want to offer sophisticated UI experiences without the expense of SoC-based solutions.
In the Smart Shower, Qt for MCUs runs across two hardware components:
- i.MX RT1176 serves as the main controller for graphics and logic. It runs the Qt for MCUs 2.5 runtime with a QML-based UI. Thanks to smart rendering optimisations, the interface stays smooth even with limited resources. By separating functions and using asynchronous communication between microcontrollers, we achieve a responsive and attractive UI on an MCU platform.
- ESP32-S3 manages the physical controls like the dial and buttons and drives a 2.1-inch display, running Qt for MCUs 2.8 runtime. Some MCU developers might notice that Qt for MCUs doesn’t officially support the ESP32-S3 yet. However, because Qt is a key partner for us, we have early access to technologies that are still in development. This allows us to explore new features before they’re widely available.

Our aim was to prove that it’s possible to create a high-performance, interactive, and visually engaging user interface that runs smoothly even on hardware with tight constraints.
What will our demo show you in practice?
Users interact with the Smart Shower via a rotary knob and a button integrated into a 2.1-inch touchscreen display (MaTouch ESP32-S3 Rotary IPS). This interface communicates with the i.MX RT1176 microcontroller via a UART connection. The i.MX RT1176 then processes this input and presents more detailed information on a larger display.
The software is built on the MVVM architecture, which clearly separates the user interface from the device logic. This design makes the system more modular and easier to maintain and expand with new features.
Key features of the system:
- Precise control of temperature and pressure, with real-time visual feedback,
- Real-time parameter calculation,
- Data exchange between ESP32-S3 and i.MX RT1176 via UART,
- Efficient interface rendering despite limited memory and processing power,
- A modern and responsive graphical interface, designed with end-user comfort in mind.
The art of compromise – overcoming limitations through intelligent solutions
Developing applications for MCUs is an ongoing battle to conserve every byte of memory and animation frame. In such a resource-constrained environment, even the smallest design decisions have a significant impact. Hardware limitations such as low RAM, a lack of graphics acceleration and limited processing power demand an exceptionally precise implementation approach.
Here’s how we addressed some of the biggest challenges while developing with Qt for MCUs:
Limited RAM and VRAM
We applied aggressive texture compression and refreshed only the visible parts of the interface dynamically. This approach drastically cut down memory consumption and boosted overall performance.
No graphics accelerator
To compensate for the lack of hardware acceleration, all graphic assets—especially those involving rotations and transformations—were pre-rendered offline. This strategy helped us avoid expensive real-time graphic calculations.
High CPU usage
The structure of the GUI has a big impact on performance in Qt for MCUs. We kept the number of on-screen elements to a minimum, limited the use of complex Items, Bindings, and Anchors, and streamlined the logic to its essentials. Additionally, reducing the frequency of screen refreshes played a key role in maintaining smooth operation.
In the end, it’s a mix of careful planning, smart trade-offs, and a bit of creativity that made it possible to deliver a responsive, visually appealing UI within these constraints.
Wrapping up – from demo to deployment
The current version of Smart Shower is only the beginning. We’re already planning new features, such as:
- Voice control: e.g., using an ESP32 with a microphone.
- RGB LED lighting effects: controlled by temperature and user scenarios.
- Integration with infotainment systems: music, notifications, smart home.
- Automatic shut-off: schedules, eco mode, or timeout-based shutdown.
In essence, the Smart Shower represents much more than a demo:
- It demonstrates that a smooth, visually appealing user interface can run effectively on microcontroller hardware.
- It showcases how innovative technology can be a catalyst for business growth and product modernisation.
- It serves as a valuable platform for fostering strong partnerships and client relationships.
- And it stands as a source of pride and continuous learning for our team, driving professional growth and technical expertise.
This project embodies our commitment to turning ideas into practical, impactful solutions that connect technology, people, and business.
If you’re interested in discovering how advanced embedded UI technologies like Qt for MCUs can elevate your products and accelerate business growth, we’re here to help. Our experts are ready to guide you through the possibilities and tailor solutions that fit your unique needs. Fill out the form below to get in touch with our team, and let’s start a conversation about bringing seamless user experiences, and real-world impact to your next project.
About the author
Need support with a Qt-based application? Our team is ready to help
RECOMMENDED ARTICLES