Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    Sort by:
    100% helpful (7/7)
    ‎05-31-2021 12:09 PM
    Frequently Asked Questions (FAQs) about the BME688 sensor
    View full article
    100% helpful (1/1)
    ‎05-31-2021 12:09 PM
    Frequently Asked Questions (FAQs) about the BHI260AP sensor
    View full article
    ‎04-01-2021 10:22 AM
    Please find attached the two white papers for our BHI260AP self-learning AI sensor: White paper: Me, myself and AI How the new self-learning AI sensor pesonalizes your home workout Fitness tracking is presently experiencing a huge upswing in popularity. The market for fitness trackers and step counters has surged by 65% year-on-year [1], with just the Fitbit platform alone claiming nearly 30 million active users [2]. Current activity tracking devices have demonstrated the huge market potential of this segment and have laid the groundwork for next-generation AI-enabled devices to take centre stage as individual fitness tracking goes mainstream. White paper: Swim like a fish with Artificial Intelligence Combining AI and sensors to create a new generation of intelligent wearables Artificial intelligence (AI) is rapidly becoming a natural and integral part of our everyday lives – working silently and unnoticed in the background. AI makes sense of the multitude of data streaming in from various sensors to deliver detailed and precise insights, which have the potential to increase the utility of virtually all electronic devices on the market today. This defining technology can accurately determine whether the user of a device is walking, running, sitting, sleeping – or even swimming in real-time. This article explores how sensors synergize with AI in wearables to deliver valuable information to users – even in demanding environments like swimming pools.
    View full article
    ‎06-15-2020 05:05 AM
    For customer usage, you need to download the sensor driver package from the website to communicate with sensor after connecting the BMP388 chip to your developing board.  You can find the information from the following link https://github.com/BoschSensortec/BMP3-Sensor-API. The procedure of using BMP388 sensor API is presented in the following flow chart: The detailed example code for integration of API could be found in: https://github.com/BoschSensortec/BMP3-Sensor-API/blob/master/README.md Following steps need to be considered to ensure the API/sensor configured correctly. For reading the data information from API, the following example can follow 1.The following static function should be added into your own project static int64_t compensate_temperature static uint64_t compensate_pressure static double bmp3_pow static void parse_calib_data static double compensate_temperature_d static double compensate_pressure_d 2.Define the main function to print the data, the structure for BMP3 and put the trimming data into the correct position as follow. One example shown below calib_data->reg_calib_data.par_t1 = (int16_t)27402; calib_data->reg_calib_data.par_t2 = (int16_t)18868; calib_data->reg_calib_data.par_t3 = (int8_t)-10; calib_data->reg_calib_data.par_p1 = (int16_t)-244; calib_data->reg_calib_data.par_p2 = (int16_t)-3254; calib_data->reg_calib_data.par_p3 = (int8_t)35; calib_data->reg_calib_data.par_p4 = (int8_t)0; calib_data->reg_calib_data.par_p5 = (int16_t)25879; calib_data->reg_calib_data.par_p6 = (int16_t)31477; calib_data->reg_calib_data.par_p7 = (int8_t)-13; calib_data->reg_calib_data.par_p8 = (int8_t)-10; calib_data->reg_calib_data.par_p9 = (int16_t)16342; calib_data->reg_calib_data.par_p10 = (int8_t)29; calib_data->reg_calib_data.par_p11 = (int8_t)-60; 3.Give the correct default value to the uncompensated temperature and pressure, define the version to temperature and pressure. uncomp_data->pressure = 8241776; uncomp_data->temperature = 8329880; double temp = compensate_temperature_d(uncomp_data, calib_data); double press = compensate_pressure_d(uncomp_data, calib_data); double tempurature = temp; double pressure = press; 4.Print out the final value printf("Temperature\t Pressure\t\n"); printf("%0.2f\t\t %0.2f\t\t\n", tempurature, pressure); system("pause");  
    View full article
    ‎06-15-2020 04:52 AM
    General Description The BME280 is a combined digital humidity, pressure and temperature sensor based on proven sensing principles. The API can be downloaded from Github. The BSEC can be downloaded from the Bosch Sensortec website. Sensor Data The humidity sensor data is expressed as a percentage (10% - 90% at 0°C-65°C). The pressure sensor data is in hPa (300hPa - 1100hPa at 0°C-65°C). The temperature sensor data is in °C (-40°C - 85°C). The function bme280_get_sensor_data in the API is used to get the sensor data. Accuracy The accuracy represents how accurate the sensor can be under certain condition. Table 1 lists the accuracy of humidity sensor, pressure sensor, and temperature sensor. Pressure Sensor Drift The pressure sensor drift represents the error in the measured value. Basically, there are two drifts on the pressure part in the BME280, i.e. solder drift and long-term drift. Pressure Sensor TCO The TCO (offset temperature coefficient) is the change in the pressure signal caused by a change in the temperature. For the pressure sensor, the TCO is ±1.5 Pa/K, equivalent to ±12.6 cm at 1 °C temperature change, which means the pressure sensor data changes within ±1.5 Pa, with 1 °C temperature change at constant pressure. Working Mode The BME280 can be operated in three working modes: sleep mode, normal mode, and force mode, which can be selected using the mode [1:0] setting (in register 0xF4 [1:0], sleep mode -> b11, force mode -> b10 and b01, normal mode -> b11). The function bme280_set_sensor_mode in the API can also used to set power mode. During the measurement cycle, the BME280 measures temperature, pressure and humidity, with optional oversampling. After the measurement cycle, the pressure and temperature data can be passed through an optional IIR filter, which removes short-term fluctuations in pressure (e.g. caused by slamming a door). For humidity, such a filter is not needed and has not been implemented. Humidity/Pressure/Temperature OSR Oversampling can be enabled during the measurement, which can reduce noise but also consumes more power. Different sensors have different OSRs (oversampling rate). The osrs_h<2:0> settings are explained as follows: b000-> skip humidity data/no humidity b001-> oversamplingx1 b010-> oversamplingx2 b011-> oversamplingx4 b100-> oversamplingx8 b101, and other settings -> oversamplingx16  The osrs_p<4:2> settings are explained as follows: b000-> skip humidity data/no humidity b001-> oversamplingx1 b010-> oversamplingx2 b011-> oversamplingx4 b100-> oversamplingx8 b101, and other settings-> oversamplingx16 The osrs_t<7:5> settings are explained as follows: b000-> skip humidity data/no humidity b001-> oversamplingx1 b010-> oversamplingx2 b011-> oversamplingx4 b100-> oversamplingx8 b101, and other settings-> oversamplingx16   The function bme280_set_sensor_settings in the API can also be used to set the OSR for any sensor. See below for the example.   ... int8_t rslt; uint8_t settings_sel; dev->settings.osr_h = BME280_OVERSAMPLING_1X; dev->settings.osr_p = BME280_OVERSAMPLING_16X; dev->settings.osr_t = BME280_OVERSAMPLING_2X; ... settings_sel = BME280_OSR_PRESS_SEL | BME280_OSR_TEMP_SEL | BME280_OSR_HUM_SEL | BME280_FILTER_SEL; rslt = bme280_set_sensor_settings(settings_sel, dev); .... return rslt; ... Signal Filter The environmental pressure is subject to many short-term changes caused by, for example, door or window slamming, wind blowing into the sensor, etc. The BME280 features an internal IIR filter which can suppress these disturbances in the output data without causing additional interface traffic and processor workload. By setting the filter coefficient (c), the bandwidth of the temperature and pressure output signals can be effectively reduced and the resolution of the pressure and temperature output data can be increased to 20 bits. The output of the next measurement step is filtered using the following formula:  Where, data_filter_old is the data coming from the current filter memory. data_ADC is the data coming from current ADC acquisition. data_filtered is the new value of filter memory and the value that will be sent to the output registers.   The filter<4:2> settings are explained as follows: b000-> Filter off b001-> filter coefficient 2 b010-> filter coefficient 4 b011-> filter coefficient 8 b100, and other settings-> filter coefficient 16   The function bme280_set_sensor_settings in the API can also be used to set filter. See below for the example. ... int8_t rslt; uint8_t settings_sel; ... dev->settings.filter = BME280_FILTER_COEFF_16; ... settings_sel = BME280_OSR_PRESS_SEL | BME280_OSR_TEMP_SEL | BME280_OSR_HUM_SEL | BME280_FILTER_SEL; ... rslt = bme280_set_sensor_settings(settings_sel, dev); ... return rslt; ​
    View full article
    Top Contributors
    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist