Both threads are actually quite lightweight. The one does some short calculation with a 12 ms sleep and the other handles serial communication by sending and receiving a 60 byte packet with 20 ms sleep. But well, as for your usual advice, I will see if I can make an improvement with a timer based approach.