BMP388 returns suddenly wrong values

Hello,
I use a BMP388 sensor connected to a Wemos D1 Mini Pro to record the altitude of a drone, logged with atmospheric pressure and temperature every 6-7 seconds to a local web site.
Everything works fine at the beginning. But after about 1 minute, the temperature returned jumps to 166°, before going back to about 30°, with a normal altitude.
About 20 seconds later, the temperature jumps again to 166°, with an altitude going up to 3750m, pressure OK. Then the pressure falls from 999hPa to 637hPa, and keeps this value.
I'm ready to post my code, and my hardware setup, if it could help.
The BMP388 is powered by the Wemos D1 with 3.3v, and interfaced using I2C.
Thanks for your suggestions.

Hello hdlbq

Did you check the datasheet of am sensor wrt environmental data like shock and vibrations?

Hello,
I checked the data sheet, and they don't warn about such things. Moreover, they give example settings (for oversampling) for drone configuration.
In another domain, I tested my hardware and software configuration in a steady environment (my table) without any problem.

Hi @hdlbq

Are you protecting the barometer from sunlight? This can affect the readings.

The BMP388 datasheet states:

Hi,
Thanks for your answers. I will protect the microcontroller and the sensor from vibrations and sunlight, while keeping the sensor free enough to receive atmospheric pressure.
I think that I will also add a reboot if the sensor gives a wrong temperature. It seems that this affects the readings as long as it is not reset

Hi, @hdlbq
Welcome to the forum.

Can you please post a copy of your circuit a picture of a hand drawn circuit in jpg, png?
Hand drawn and photographed is perfectly acceptable.
Please include ALL hardware, power supplies, component names and pin labels.

How are you powering your project?

Can you please post some images of your project on the drone?
Have you got the sensor wiring AWAY from the drone motor wiring?

Thanks.. Tom.. :grinning: :+1: :coffee: :australia:

Hi TomGeorge,
Thanks for your help.
I joined several pictures of the hardware.
The microcontroller is a Witty Cloud (NodeMCU 1.0-ESP 12E)
The Bmp388 is a CJMCU-388
The wiring is:
NodeMCU's 3.3v "internal" output to 388's Vin
D1 to 388's SCK
D2 to 388's SDI
Gnd wired together
The way the Microcontroller is tied to the drone is obviously temporary :slight_smile:



Regarding the isolation between the drone battery and the microcontroller power, you're right. I powered the microcontroller with a USB plug connected to a spare servo plug delivering 5v. I bought a battery shield for the microcontroller, but I'm still waiting for it.

Binding the drone and the microcontroller this way, the second short fly (5min) returns perfect values regarding temp or altitude.

Hello hdlbq

Recheck these soldering and/or none solderings.

grafik

hello,
Actually, even if it is not visible, all the bmp388 connectors (as the connectors of the microcontroller) are soldered. I fear the vibrations of the motors

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.