Bosch sensortech BMP390 is an ultra-high-resolution sensor for accurate temperature and atmospheric pressure measurements. The sensor ASIC has a sensing element as well as required electronics to make measurements. For example, the IIR filter can make accurate pressure measurements and cancel the noise from slamming of the door or window, which makes the sensor robust.
Seeed Studio was providing free Grove module design based on this sensor. So in this article, I will mention how I created a Grove module with an ICM20948 IMU sensor and a BMP390 Pressure sensor. I designed a PCB in Grove form factor so that both these sensors are on the same PCB and can communicate via I2C to the host processor.
I used Seeed studio's fusion services to design the Grove module. Seeed offers one stop solution for PCB manufacturing, assembly of parts and functional testing of the final product. Great for anyone who is on the path to design own products.!!
Following is the link to visit fusion services provided by Seeed. You can upload your gerber and assembly files to design PCBs. A file with BOM will be required for assembly.(can be added letter as well)
https://www.seeedstudio.com/fusion.html
SchematicThe following schematic contains the sensors ICM20948 and BMP390 with a required circuit to operate the sensor in I2C communication mode. There are two jumpers(JP3/4) that can be used to select the address of the sensor. While designing the schematic one of the challenges was to find a transistor level-switch that can work on different voltage levels that too at high speed such as for I2C communication for around 100kbps or more.
For that, I have used the Texas Instruments TXS0108e level switching mechanism which can convert the signals from 3.3v or 5v to 1.8v, which is the supply voltage for both sensors. As both the sensor operates on 1.8v the device which uses these sensors are extremely low-power.
The PCB layout is done in KiCAD design software. The flow I use is that first design a schematic in EAGLE and then export the project to KiCAD for PCB layout.
It is a two-layer PCB with components on the top of the PCB.
I used Arduino for interfacing the sensors on board. At present, only the BMP390 sensor's code is fully functional. Following is the sample output of the sensor.
Comments