Embedded Systems & Product Development Consultancy · London, UK
Sensors and embedded algorithms
Turning raw sensor readings into decisions a product can trust. We integrate and calibrate sensors, develop filtering, fusion and detection algorithms in simulation, and port them to efficient C on the microcontroller.
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
- Sensor integration. Drivers for analogue and digital sensors, IMUs, pressure, gas, capacitive and optical sensors over I²C, SPI, UART and ADC. →
- Analogue front-ends. Signal conditioning, filtering and ADC selection designed with the PCB. →
- Calibration. Calibration models, automatic calibration in production and per-device calibration data stored on each unit. →
- Detection and classification. Threshold, state-machine and statistical detection algorithms, simulated in 2D and 3D before they reach the hardware.
- Filtering and sensor fusion. Digital filters, Kalman and complementary filters, and fusion of IMU, pressure and other sensors.
- Machine learning where it helps. Small models for classification and anomaly detection, when rules are no longer enough. →
From prototype data to production algorithm
- Capture real data. Recordings from prototypes in the conditions the product will see, with reference measurements alongside.
- Model and simulate. Algorithms developed and tuned in Python or MATLAB, tested against the recorded data.
- Port to fixed resources. Efficient C, fixed-point where it saves time or power, checked against the reference model.
- Calibrate in production. Test-jig steps that calibrate each unit and store its data, with clear pass and fail limits.
- 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 studiesMore sensor work
Air-quality sensors on RS-485 and I²C calibrated with a desktop tool, and calibrated capacitive sensors on flexible circuit boards.
Ask about this workFrequently 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?
Tell us what you need to measure or detect, and the conditions the product works in.
An engineer will read it and reply within one business day.
Latest from the blog
Event Scope: EW – ELECTRONIC WARFARE EUROPE 2020
June 22, 2020
Event Scope: MICRO NANO MEMS 2020
June 8, 2020
Event Scope: EMBEDDED CONFERENCE SCANDINAVIA 2020
May 29, 2020