hello@dothex.net

+44 (0) 20 3290 3080

London, UK

FREE CONSULTATION

Embedded Systems & Product Development Consultancy · London, UK

Sensors and embedded algorithms

Good sensors, unreliable readings

A sensor that performs well on its datasheet can still give a product bad data. The gap is usually in the analogue design, the calibration or the algorithm.

  • Readings that drift with temperature, supply voltage or age.
  • Every unit behaving slightly differently because nobody calibrates them in production.
  • Algorithms developed in Python or MATLAB that are too slow or too large for the microcontroller.
  • False alarms and missed detections that only appear in real homes, plants or on real people.
  • Noise from switching supplies, radios and motors coupling into analogue inputs.
  • Sensors sampled faster than the data is used, draining the battery.

We treat the sensor, the electronics and the algorithm as one measurement chain.

Measurement chains we build

  1. Sensor integration. Drivers for analogue and digital sensors, IMUs, pressure, gas, capacitive and optical sensors over I²C, SPI, UART and ADC. →
  2. Analogue front-ends. Signal conditioning, filtering and ADC selection designed with the PCB. →
  3. Calibration. Calibration models, automatic calibration in production and per-device calibration data stored on each unit. →
  4. Detection and classification. Threshold, state-machine and statistical detection algorithms, simulated in 2D and 3D before they reach the hardware.
  5. Filtering and sensor fusion. Digital filters, Kalman and complementary filters, and fusion of IMU, pressure and other sensors.
  6. Machine learning where it helps. Small models for classification and anomaly detection, when rules are no longer enough. →

From prototype data to production algorithm

  1. Capture real data. Recordings from prototypes in the conditions the product will see, with reference measurements alongside.
  2. Model and simulate. Algorithms developed and tuned in Python or MATLAB, tested against the recorded data.
  3. Port to fixed resources. Efficient C, fixed-point where it saves time or power, checked against the reference model.
  4. Calibrate in production. Test-jig steps that calibrate each unit and store its data, with clear pass and fail limits.
  5. Validate in the field. Pilot units, logged data and a review of false alarms and misses before release.

Sensors, maths and test tools

Sensor types: IMUs, pressure, gas and particulate, temperature and humidity, capacitive, optical and radar

Interfaces: I²C, SPI, UART, RS-485, ADC, 4–20 mA

Algorithm tools: Python with NumPy and SciPy, MATLAB, 2D and 3D simulation, CMSIS-DSP

Test and calibration: C# and Python calibration tools, test jigs, reference instruments, data loggers

Algorithms behind real products

Client names stay private. The engineering doesn’t.

Detection algorithms and safety-critical firmware for a device built at over a million units

View case studies

IMU and pressure sensor calibration for a wearable medical device

Read the case study

More sensor work

Ask about this work

Frequently asked sensor and algorithm questions

Can you port our MATLAB or Python algorithm to a microcontroller?

Yes. We profile it, simplify where the result allows, rewrite it in C, move to fixed-point if needed and prove the output matches the reference within agreed limits.

How do you calibrate sensors in production?

With a calibration step on the test jig: reference conditions, automatic measurement, coefficients calculated and written to each unit, and a record kept for every serial number.

Which sensor should we use?

We shortlist sensors against accuracy, drift, power, interface, cost and supply, then test the best two or three on a prototype before committing.

Rules or machine learning?

Rules and classic signal processing first: they are smaller, explainable and easier to certify. Machine learning earns its place when the patterns are too complex to describe by hand.

How do you reduce false alarms?

By testing with real data from real conditions, measuring both false-alarm and miss rates, and tuning thresholds and logic against both, not just one.

Can the algorithm run on a battery-powered device?

Yes. We schedule sampling and processing around the power budget, and use the sensor’s own low-power features where they exist.

Need readings your product can trust?

Talk to an engineer

Latest from the blog