Objawy, które opisałeś mogą być spowodowane różnicami w budowie oscylatora.
ATmega328P
B nie ma możliwości ustawienia opcji taktowania nazywanej "Full Swing Crystal Oscillator" - fusebit'y CKSEL[3:0], w odróżnieniu od Atmega328P.
Z kolei opcja "Low Power Crystal Oscillator" ma następujące zalety i wady:
Atmel napisał(a):
This Crystal Oscillator is a low power oscillator, with reduced voltage swing on the XTAL2 output.
It gives the lowest power consumption, but is not capable of driving other clock inputs, and may be more
susceptible to noise in noisy environments.
Jeżeli taktujesz mikrokontroler zewnętrznym rezonatorem kwarcowym i dodatkowo nie masz izolacji galwanicznej między silnikiem a mikrokontrolerem, to w tym może leżeć problem.