Barometric Pressure Sensor Module Invalid temperature!

Grabbed one of these Barometric Pressure Sensor Module | Jaycar Electronics New Zealand which looks to be BMP085 https://www.jaycar.co.nz/medias/sys_master/images/images/9595412348958/XC3702-manualMain.pdf - note this says connect to 5v not 3.3v?

Doesnt find BMP085 on 0x77 but finds on 0x76
[22:37:13][I][i2c.arduino:048]: Scanning i2c bus for active devices…
[22:37:13][I][i2c.arduino:053]: Found i2c device at address 0x76

then
[22:37:13][C][bmp085.sensor:044]: BMP085:
[22:37:13][C][bmp085.sensor:045]: Address: 0x76
[22:37:13][C][bmp085.sensor:049]: Update Interval: 60.0s
[22:37:13][C][bmp085.sensor:051]: Temperature ‘Outside Temperature’
[22:37:13][C][bmp085.sensor:051]: Device Class: ‘temperature’
[22:37:13][C][bmp085.sensor:051]: State Class: ‘measurement’
[22:37:13][C][bmp085.sensor:051]: Unit of Measurement: ‘°C’
[22:37:13][C][bmp085.sensor:051]: Accuracy Decimals: 1
[22:37:13][C][bmp085.sensor:052]: Pressure ‘Outside Pressure’
[22:37:13][C][bmp085.sensor:052]: Device Class: ‘pressure’
[22:37:13][C][bmp085.sensor:052]: State Class: ‘measurement’
[22:37:13][C][bmp085.sensor:052]: Unit of Measurement: ‘hPa’
[22:37:13][C][bmp085.sensor:052]: Accuracy Decimals: 1

Yaml below

bmp085 BMP085 Temperature+Pressure Sensor — ESPHome

  • platform: bmp085
    address: 0x76
    temperature:
    name: “Outside Temperature”
    pressure:
    name: “Outside Pressure”
    update_interval: 60s

I get the following error
[22:38:43][W][bmp085.sensor:065]: Invalid temperature!

Followed this

Any ideas on what I am doing wrong?
image

image

I noticed that Adafruit had 2 versions of that module, one with a 5v->3v3 regulator on it, and one without (so it needed 3v3, not 5v). I note that yours had a doc that says 5v, but are you fully positive yours can handle 5v Vcc? It wouldn’t harm it to test it on 3.3v.

Thanks and yes tried on both 3.3v first then 5v but same result. Its found but still saying Invalid temperature! The sensor is slightly different so also tried bmp180 but hass doesnt like that. Tried the BME680 in yaml and its saying wrong chipset so pretty sure from this link its https://www.jaycar.co.nz/medias/sys_master/images/images/9595412348958/XC3702-manualMain.pdf in this doc it mentions BMP085/180 and then SPL06-007. Note in the photos I have the SPL06-007 written on the PCB. Also that the BMP085/180 address is 0x77 and that SPL06-007 is 0x76, this makes me think its slightly different to the BMP085/180 device and that perhaps the library therefore is different hence Invalid temperature and no pressure output yet?

That does make sense.
Is it possible to read the tiny writing on the top of the sensor’s metal can? That might confirm your theory even further.

yes just…

image

My usual datasheet source doesn’t have anything matching that.

funny its says is compatible to BMP085

If it were mine, I’d probably be comparing the driver code to the datasheet to see if it lines up, but that’s a lot of work so I might be tempted to spend $10 for a known-compatible device. Depends on what the time/effort is worth to fix vs replace.

I’m unclear: Are you using the library referenced above?
I can’t find anywhere in the datasheet a reference to BMP085 compatibility, so there’s a chance that this device is similar to BMP, but different enough that it would require its own driver - couldn’t work with the BMP085 driver.
Also, have you confirmed that the interface on it is configured (SDO pulled to ground) for I2C, since maybe your code is getting gibberish back from it when talking I2C to it.
And, the driver you linked to is tested on an ESP32 - I don’t see where you said what you’ve got it connected to.
With so many variables in play and/or unknown (e.g. is it in compatibility mode? Will that third-party driver work on your platform?), this might be a tough one to isolate.

started with this as the base Solar Powered WiFi Weather Station V1.0 : 19 Steps (with Pictures) - Instructables double checked with this https://www.jaycar.co.nz/medias/sys_master/images/images/9595412348958/XC3702-manualMain.pdf
“have you confirmed that the interface on it is configured (SDO pulled to ground) for I2C” how do I check this?

i2c:
sda: D2
scl: D1
scan: True
id: bus_a

You might have to eyeball the circuit on the board directly to see if there’s actually a pulldown resistor where needed. i.e. between the SDO line on the sensor chip itself, and ground.
I can’t offer much more ideas/help without the answers to the other questions I included above.