OPT3101 with ESP32-WROOM troubleshooting help

i am experiencing the same problems with the distance reading and the workaround Kevin posted didn’t work on my platform. I am using a ESP32-Wroom board.

My EEPROM-String looks like this:

EEPROM contents as a C string:

Serial number: 6D-C1-64-A2

Kind Regards and many thanks, Sebastian

Hello, Sebastian.

I am sorry you are having trouble with our 3-Channel Wide FOV Time-of-Flight Distance Sensor Using OPT3101.

I have moved your post to its own thread because you are having a different problem. The contents of your board’s EEPROM match what we programmed here.

What example code are you running? How are you testing it and what results are you getting? As a simple, initial test, I recommend putting a light-colored, reflective target like a piece of paper in front of each of the sensor’s transmitters, about 100 mm away from the board.


Hello David,

i am sorry for the late reply.

I am testing the sensor with the basic and advanced exmaple on github. The sensor is mounted on a small vehicle and is used to detect obstacles made of card board (light-brown-ish surface).
In some situations the sensor is putting out negative distance values paired with a low amplitude or very widely spread distance readings. The sensor is used indoors with day-light or ceiling-light ambient.

Thank you very much for your help,

How big are the targets and what distances are you expecting to read?

We have generally seen that readings with amplitudes below about 200 to 400 start to become too inaccurate to be useful, so you might consider ignoring those.

Please let me know if you have any further questions. Also, that sounds like a neat project!


The obstacles are approx. 10x10x15 cm and the distances the vehicle needs to read are 20cm to 1m at most. The negative readings are pretty situational and evaluating and filtering the amplitudes has worked quite nicely now.

Thank you again for your support,
kind regards,

1 Like