https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html
The front end built for the PROTOS miniHIL, a small hardware-in-the-loop test rig. It is a React (Next.js) app that lets you watch a test run on the hardware as it happens: live logs, signal traces and execution state, all streamed from the device while the test executes. The harder problem behind the views was the data path and performance. A test run produces a lot of data on an MCU. Additionally, the goal was to allow the user to open multiple browser windows showing different aspects of the test run.
The data comes off the miniHIL hardware itself, an STM32-based MCU system that runs the test cases in real time. The hardware is connected to the PC via USB (1.1 full speed device). A Java backend on the PC owns that USB link, deserializes the low-level protocols, and exposes the result to the GUI over a WebSocket. Inside the browser a single shared worker holds the websocket connection and fans the decoded stream out to every open window.
The project focused on simulating a SENT (Single Edge Nibble Transmission) slave device using an STM32 microcontroller. As SENT slave interfaces are a very rarely occuring resource in MCUs, the project uses the STM32s timer hardware in combination with the DMA and a custom software stack to generate the signal a SENT slave would produce. The stack was build modular to be able to easily simulate different device types as well as to test different data rates. This flexible setup also allows for error injection in different phases of the communication to test the robustness of a SENT master implementation. The project is used as a test tool for SENT master implementations in the automotive domain.