pulseIn retuns zero every second time called

J-M-L:
==> are you sure you'll see every time a LOW to HIGH transition within the 1.004 second you listed ?

thanks! i hadn't though about the waiting time for the high, the duty cycle is 1004ms (as per the spec sheet) so i hadn't accounted for wait time. i doubled the timeout value (worse case scenario assuming it starts waiting the moment it goes low and it is a the maximum duty time) and it now is working on the 32u4.

i tried on the M0/samd21 though and still no luck. the output is still a fraction of what it should be.