Overview
From July to September 2019, I interned at an embedded systems company focused on custom hardware based on STM32 microcontrollers. My work combined low-level embedded concepts with modern UI development, giving me hands-on experience across the full stack of an embedded product.
UI/UX for Custom STM32 Development Board
- C++ & Qt Frontend: Used C++ and Qt to design and implement the UI/UX for a custom STM32 hardware development board.
- Hardware-Integrated Interface: Built screens that interacted directly with board features (sensors, controls, and status indicators), ensuring the UI reflected real-time hardware state.
- Usability-Focused Design: Iterated on layouts, widgets, and interaction flows so engineers using the board could quickly access key functions and diagnostics.
Testing & Algorithm Optimization
- Program Testing: Participated in systematic testing of the embedded application, helping identify edge cases, crashes, and performance bottlenecks.
- Algorithm Tuning: Assisted with algorithm optimization, improving responsiveness and efficiency on resource-constrained STM32 hardware.
- Debugging & Profiling: Helped analyze logs and runtime behavior to refine control logic and reduce unnecessary computation.
Outcome
By the end of the internship, I had:
- Delivered a functional Qt-based UI that improved the usability of the custom STM32 development board.
- Contributed to more reliable and efficient firmware through testing and algorithm optimization work.
- Gained practical experience working with embedded systems, C++, Qt, and performance-conscious development on microcontrollers.