Via Hackaday.io: Meet Lucy, a seven year-old border collie schipperke mix. 18 months ago she was diagnosed with Progressive Retinal Atrophy — she is not getting enough blood flow to her retinae and she is slowly going blind. There is no cure.

Owner Bud Bennett purchased a halo. It is a metal hoop that surrounds her head. If she inadvertently gets too close to an object the halo will collide with the object instead of her head. The contraption looks uncomfortable, but Lucy has tolerated it the few times she was burdened her with it.

A better solution

Bud has begun to investigate an alternative to the halo.

I ordered a VL51L0X sensor breakout board and an Arduino Feather M0 Express from Adafruit. The Feather is attractive to me because of its inherent CircuitPython capabilities. I probably paid the highest prices for these items, but — considering the support and the initial development of the sensor interface — it is worth it. Soldering the pins onto the two boards took no time at all. After that I just plugged them into a half proto-board (above).

He initially tried to program in C and the Arduino IDE, and then there was CircuitPython:

I got into trouble immediately by not being familiar with the Arduino IDE and methodology. I overwrote the existing CircuitPython data with some C code for the VL53L0X. It took me about an hour to get the Arduino to report distance from the sensor. But after that I would have to learn to program in C to go any further. (One of these days I’ll learn C.)

This morning I discovered that there was an existing VL53L0X Python library that ran under CircuitPython. I then reinstalled the CircuitPython capabilities and spent an inordinate amount of trial and error time learning to get the simple sensor interface working. I finally got a stream of data out of a terminal program on the iMac.

Next steps involve learning the sensor command interface, experimenting with time/accuracy tradeoffs, reassigning the sensor’s I2C address, and getting familiar with the CircuitPython libraries for GPIO and PWM. I also need perform some experiments with detecting objects of different reflective properties and the sensors resistance to ambient light.

See the whole project with developments on Hackaday.io