VL6180x Startup Issue, when connecting to different boards

I recently tried to use the examples of the Arduino library to communicate with my VL6180x sensor with my Arduino Uno and it worked perfectly fine. Nevertheless, my main goal would be to connect it with a different sensor of the Mbientlab Metawear series. The i2c port on that board only works with a voltage of 3 V, but the specs indicate that the time of flight sensor should work with this voltage as well.
Still, it doesn’t work. The board is not able to communicate with the sensor and can’t read any of the registers. I tried to connect it with the Arduino once more, only to see that it didn’t work either, even though some minutes before it was working perfectly. It took about half an hour after restarting the Arduino several times, that the sensor worked again.
So my question is, when I connect the sensor to different sources with different voltages (3 V and 5 V) is there any reason why it shouldn’t work at the instance I connect them? I read something about setting the GPI0 to 0 and then to 1, but I’m not sure how to implement it in my code. I’m using the example code of the Arduino library and it would be great if I could at least get my Arduino working properly.


I am sorry you are having trouble getting your board to work as you expect. There should not be anything inherently stopping the board from operating nominally when switching between 3V and 5V logic (or vice versa). Also, I do not expect toggling the GPI0 pin to do anything special to help your issue, since if you are only using a single VL6180X, the GPI0 pin just functions as an enable pin. Are you able to repeat this behavior where there is a delay before your 5V system works with the VL6180X? What are you using to supply power to your 3V system? Can you post a schematic that shows all of your connections for both your 5V system and your 3V system? Can you also post pictures of your VL6180X board in each setup?


sorry if it took so long to answer. In the last weeks I tried to modify the configuration of the boards and it works. Turns out that the sensors of the MetaWear Series aren’t compatible with the pololu VL6180X, so I had to clarify that first. Right now I’m using an Adafruit Trinket to create a connection between the pololu ToF Sensor and the Metawear Board and it works.
Thanks again!