Technical section 01

Sensors

The Scentinel utilises the BME688 environmental sensor for gas measurements, and is supported by the LIS2DH accelerometer for additional context. The power systems use the INA228 for power measurements, while the battery utilises the MAX17260 fuel gauge to monitor the battery.

Gas and environment
I²C / SPI
Stylised BME688 environmental gas sensor

The BME688 is metal-oxide gas sensor with temperature, relative-humidity and barometric-pressure sensing. Its gas readings change in response to different mixtures of volatile organic compounds, while the temperature, humidity and pressure sensors provide additional context.

These combined readings can be fingerprinted and used to train a machine learning model for pattern recognition.

Scentinel drives the gas heater through ten programmed temperatures and records one resistance value at each step. Different heater temperatures alter the sensor’s sensitivity, turning a single reading into a repeatable ten-dimensional fingerprint:

200°C225°C250°C275°C300°C325°C350°C325°C275°C225°C

What Scentinel records

  • Ten gas-resistance values per heater cycle
  • Heater temperature
  • Ambient temperature
  • Relative humidity
  • Barometric pressure
BME688 documentation →
Motion context
I²C / SPI
Stylised LIS2DH three-axis accelerometer

The LIS2DH is an ultra-low-power three-axis accelerometer. Selectable ±2 g, ±4 g, ±8 g and ±16 g ranges allow it to detect anything from gentle handling to stronger shocks, while embedded motion, orientation and free-fall functions can generate interrupts without continuous processor polling.

Implementation

The LIS2DH detects motion events and physical disturbances, providing more context to gas readings and helping to interpret unusual sensor behavior or readings.

LIS2DH documentation →
Power monitoring
I²C
Stylised INA228 power monitor

The INA228 is a 20-bit bidirectional current, voltage and power monitor. It measures the voltage drop across an external 50mΩ shunt together with bus voltage to calculate current and power. A key feature of the INA228 is its hardware power accumulator which allows it to measure total power and current usage over time without requiring polling.

Implementation

The use of two INA228 ICs in Scentinel allow it to measure the solar generated and the system load separately. It allows instantaneous and power flow measurements, as well as interval energy totals. Bidirectional sensing preserves the direction of current, which is important when distinguishing battery charging from discharging.

INA228 documentation →
Battery fuel gauge
I²C
Stylised MAX17260 battery fuel gauge

The MAX17260 is a single cell battery monitor. By using Analog Devices’ ModelGauge m5 algorithm, it can accurately estimate the state of charge by combining coulomb counting with a voltage-based model and temperature compensation. This is a key part of being able to accurately determine the battery's state of charge because LiFePO4 batteries have a very flat discharge curve, making voltage alone a poor indicator of remaining capacity.

Implementation

The gauge supplies battery voltage, current, temperature, state of charge and estimated time to empty for the LiFePO4 18650 battery across a 10mΩ shunt resistor.

MAX17260 documentation →