Logic levels with Ping))) sensor

Hi, I’m tinkering with a Ping))) sensor on the end of an extender.

I have a question regarding logic levels and what others have experienced.

When I trigger the distance measure, I see a nice initial pulse, but the variable width reading returned is only at 400mV, vs 3.3 or 5 for the initial pulse.

I get the same results with wall wart power, and for USB power, and with and without a level converter in the signal path.

Is this what others have observed or do I need additional circuitry?


Use it as is it works well. There is a driver on codeshare:


Are you using a pull up resistor? In the Ping manual, in the Arduino code, it shows a 1K pull up used. I’ve done that with a normal AVR also for a robot. For even more accuracy, I added a 1-wire temp sensor on another pin for temperature compensation.

I was overthinking things, and just using the codeshare from Architect worked, so the fact that the return pulse is only 400mv high doesn;t actually matter, i.e. i did not need any pull-ups or other circuitry.