Согласно этому :
Библиотека Servo поддерживает до 12 двигателей на большинстве плат Arduino и 48 на Arduino Mega. На платах, отличных от Mega, использование библиотеки отключает функцию analogWrite () (PWM) на выводах 9 и 10, независимо от того, имеется ли серво на этих выводах. На Mega можно использовать до 12 сервоприводов, не влияя на функциональность ШИМ; использование от 12 до 23 двигателей отключит ШИМ на контактах 11 и 12.
Однако согласно этому :
Цифровые контакты ввода / вывода 14 (из которых 6 обеспечивают выход ШИМ)
Так как же Uno может управлять более чем 6 сервоприводами, если у него есть только 6 выводов цифрового ввода / вывода, которые могут обеспечить выход ШИМ?
6 выводов PWM используют встроенный UART на ATmega328P для получения выходного сигнала. Это делает импульсы очень быстрыми для более качественного «аналогового» выхода. Поскольку сервоприводы общаются с достаточно медленной скоростью, они могут управляться с помощью программных прерываний. Программные прерывания уходят от кода, который вы выполняете, и запускают код, включенный в библиотеку сервосистемы. Этот код использует стандартные средства для изменения состояния выводов. Делая это с помощью прерываний, а не с помощью UART, вы теряете некоторое время на обработку, но получаете возможность управлять большим количеством сервоприводов.
источник