EllisShang

Case Study

Embedded Systems Internship – STM32 & Qt

Embedded Systems Intern · Embedded Systems Company · Jul 2019 - Sep 2019

Overview

Interned at an embedded systems company, building a Qt-based UI for a custom STM32 development board in C++ and contributing to testing and algorithm optimization.

Key Technologies

C++QtSTM32Embedded LinuxUnit Testing

Story & Process

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.