В симуляторе
Двигатель на схеме крутится по настоящим импульсам на выводах, поэтому видны и ошибки порядка обмоток: перепутанные провода дают дрожание на месте, а не вращение.
Библиотека не ждёт внутри себя: run() надо звать часто, и задержка delay() в loop() ломает разгон. В симуляторе — точно так же.