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.