Я глубоко i2c не "копал".
Использую "стандартную" wire-библиотеку Arduino, может быть там что-то "подтормаживает".
Факт "на лицо" -- робот проезжает пол-клетки, при пересечении линии, опознаваемой датчиком -- скорость передвижения пришлось уменьшить (что само по себе, может быть и не плохо, но с "тарировкой" по скорости двигателей получился ещё один "гемор").