delayMicroseconds- error?
This a very partial answer. I do not know your requirements, whether or
not PWM can do the job, etc... I just wanted to point out that you can
make a pulse exactly 8&nbsp;µs long with this:

#include &lt;util/delay.h&gt;
#include &lt;util/atomic.h&gt;

// Pulse PD3 (digital 18 on Mega 2560)
// for exactly 8 us (128 clock cycles @ 16 MHz)
static void pulse() {
    ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
        PORTD |= 1 &lt;&lt; 3;
        _delay_us(8 - 0.125);
        PORTD &amp;= ~(1 &lt;&lt; 3);
    }
}


The _delay_us() function from avr-libc is actually cycle-accurate
inline assembly. The 0.125&nbsp;µs I subtracted is the time needed by
the actual port writes: both the sbi and cbi instructions take two cycles
(0.125&nbsp;µs), but that delay should only be counted once.
digitalWrite() should always be avoided in time-critical code.

The 242&nbsp;µs delay between pulses would be harder to generate without
PWM. A timer interrupt at 4&nbsp;kHz seems like the simplest option, but
it is not cycle-accurate.

Edit: here is the scope trace, showing a quite accurate timing: