Řešil bych to následovně :
1.) Na napájení Arduýna dát Low-ESR kondenzátor pár stovek uF a dále několik keramických kondenzátorů 100nF až 470nF - ty co nejblíže napájení MCU (většinou nějaká ATmega - pokud je to DIL pouzdro, dají se dát SMD kondenzátory přímo na piny).
2.) Do SW implementovat Watchdog, který procesor při zaseknutí restartuje. Samozřejmě používat rozumně.
3.) Vše obměřit osciloskopem, kde je největší zarušení a podle toho vybírat typy filtrů a jejich umístění.
Ještě mi není jasná jedna věc : jakého typu jsou ty teplotní čidla ? Analog nebo nějaký 1-wire interfejs ? U toho analogu bych zkusil zapnout nějaký integrovaný filtry v ATmega (nevím, jestli má - už s AVR dlouho nedělám - STM32 má, jak analogový, tak i digitální). Pokud jsou 1-wire, zkusil bych snížit hodnoty Pull-up odporů (aby zde tekl větší proud a méně zarušovalo sběrnici). Opět, osciloskop řekne nejvíce.