Can I get a 2 uS pulse out of a Seeeduino digital output?

Hello great people.
I’ve been tasked with a new project which requires measuring the speed of sound in water, and I need to produce a train of 2micro second pulses (to drive a 200KHz transducer).
so, 2uS on, 2 uS off, repeat a few times (for 50uS) . . .
wait maybe 100uS . . .
listen for the echo returning . . .
and process the delay time into some sort of output representing the distance. Short range stuff 1 to 2 meters only.

After reviewing the Xiao specs, is this maybe pushing the frequency range and response time of the I/O somewhat?

I haven’t actually bought / used one yet, but would the NRF52840 faster version be the better option, rather than the cheaper base models?

Has anyone ever successfully tried to get “micro” second response times from the input / output interface ?

I’d appreciate other experience here. :smiling_face:

There are lots of Arduino stuff about measuring distance ultrasonically in air, and I started with these. They all use 40KHz, which just can’t be transposed into water successfully it seems.
The 40KHz waveform is too long, and the platforms are too slow to measure the increased speed of sound in water (4-5 times as fast), so the lack of resolution becomes a serious issue at small distances.