Hello, I am working with the BME680 for my project. We are utilizing an FPGA for interfacing with the sensor. I need information for converting the raw temperature, pressure, and and humidity register values to meaningful units. I know you have C code for performing the conversion but that does not apply for my situation since Im using an FPGA, and there is no information in the datasheet or application note documents on performing the conversion. Could you provide the formulas for converting these values?
Solved! Go to Solution.
Unfortunately only the compensation formulas used in the sensor API are provided. If using an FPGA, you would need to write your own platform specific implementation based on the reference C code.
It appears that the API utilizes some configuration parameters that it pulls from the device. There is no detail in the datasheet about these parameters and where they are stored in memory. Could you provide some clarity into what these parameters are? Also, to develop our own algorithm surely we would have to have some understanding of the sensors conversion process? All I need is a conversion equation to take the raw register value and convert to the relevent units, nothing beyond that. I dont need any of your algorithms for compensating for the usage scenario or calculating air quality or anything like that. Is this not possible?
The parameters pulled by the API are calibration coefficients stored in a Non-Volatile Memory (NVM) of the sensor during production. It is mandatory to use these values as done by the API to convert raw ADC signals from memory registers into relevant outputs (°C/%RH/Pa/Ohm).