Our team was required to develop full replication of STM32 peripherals, running as linux application. Main drawback of such approach could be lack of complete RTOS simulation. On the other side, there was lot of benefits that could be leveraged from CLANG compiler and belonging sanitizers. Thanks to this specific compiler selection, we were able to activate all sanitizer types: Address, Undefined and Thread. In embedded systems, where dynamic allocation is usually avoided, thread sanitizer is a powerful tool for spotting data races and bad access to memory, without proper synchronization. This project requires writing whole controller system interfaces using linux kernel functions (CMSIS-OS). Simulation of data storage (internal/external) was implemented using file descriptors. Overall result of the project was priceless, in comparison with potential memory corruption and data races during normal lifetime. These bugs are usually hard to document and sometimes impossible to reproduce. Developed application is further integrated into the GitLab infrastructure, as mandatory stage for future development process. After minimal pruning and adaptation of existing python functional tests, we reached code coverage of more then 70%.