Using BME680 with USB


I am new to sensors. Currently trying out a BME680 with raspberry Pi. Using the GPIO, I am able to obtain the readings. What I am trying to do now is to interface the sensor to the raspberry using USB instead.
I’ve bought 2 USB type cables.
-CH340G USB to TTL Cable
-PL2303HX USB to TTL Cable.

Got the python script from github, but I can’t seem to get the readings off the sensors when using the USB cables.

Can someone point me to right direction? I also see the Qwiic/STEMMA QT interface but not sure if that can be used in my situation.

Appreciate the help.

Thank you.

Translates to “USB to Serial”. Thats not going to work, IMHO.

i2c to USB, would be tricky “for me”. And I don’t remeber seeing a similar thread posted.
Going to chime in anyway to see what transpires. ;)

Thank you abc123 for your inputs. Would using this work instead?

Much appreciate it. :)

I guess it depends on this, etc?


The exact name depends on the Linux distribution and number of VCP devices connected.

For instance, for Debian-flavored systems (Ubuntu, Raspbian, etc.), when the first ACM device is connected, the device is registered as /dev/ttyACM0. Another common name is /dev/ttyUSBx (where x is the number of the VCP, starting with 0).

The device name can be found with the commands ls /dev/ttyACM* or ls /dev/ttyUSB* depending on the distribution.

Ok will give it a go soon. Thank you for sharing.

You need an usb-to-i2c bridge, e.g. MCP2221. Then you attach the bme680 to the MCP2221 and connect that via usb to the Pi.

Adafruit has a nice MCP2221 breakout btw.

Hi bablokb,

Thank you for the tip. I have a nano compatible CH340 unit. Will it work?

No, it won’t work. The BME680 does not have a serial interface. The CH340 and the PL2303HX are USB to serial interfaces, but you need an USB-to-I2C interface. Like I said, the MCP2221 is a good candidate, there are a lot of learning resources available that show you how to use it together with I2C devices.

But all in all, I don’t get the point: why would you connect an I2C-device via USB to the Pi? The Pi has native I2C-pins, so no need to go via USB and an additional chip. This is useful if you want to connect an I2C-device to your laptop or pc, but the big advantage of the Pi is that it already has GPIOs for connecting all kind of components.

Thank you for the response. Yes, I have tested with the native I2C and it works. Just wanted to test out other possible ways, cause that’s how we roll, right?
Will get the MCP2221 soon to test this out.
Thanks again.

Of course, if you really want to experiment, get a Pico and use that to present a USB interface to the Pi while talking I2C to the BME680 :-)

ok got it. Thanks for the idea.

There are already a few projects for that:

The last one being a fork from the second.