Все верно, уставший был, автоматом подумал про delayMicroseconds(),

насчет библиотеки: ему все равно нужно будет обрабатывать внешние прирывания а это удобнее всего сделать с помощью выше указанной библиотеки, и к тому же управление LED будет в пару строк, можно все сделать и без библиотеки но структура кода значительно усложнится.

Олег, я не совсем понял насчет pin13. На схеме на него идет сигнал с датчика скорости, в коде он настроен как индикатор LED

Leonardo имеет 5 таймеров и может обрабатывать 5 внешних прирываний на портах

int-0 pin3
int-1 pin2
int-2 pin0
int-3 pin1
int-4 pin7

Соответственно сигнал с датчика скорости надо заводить на один из этих портов.
Если возникнет идея сделать все легко и использовать функцию PulseIn() то советую отказаться.
Все попытки не давали нужного результата, значения плавают и сильно зависят от длинны коди и особенностей его выполнения.