What had to be solved
The device had to acquire signals from high-impedance gas sensors, control temperature and give the researcher a practical tool for setup, calibration and data recording.
Projects / Measurement electronics
Measurement system for a multi-channel gas-sensor array with high-impedance analog front end, heater control, STM32 firmware, USB exchange and PC GUI.
The device had to acquire signals from high-impedance gas sensors, control temperature and give the researcher a practical tool for setup, calibration and data recording.
A working measurement platform was assembled: sensor array, analog front end, microcontroller, digital processing, USB protocol, GUI, logging, heater control and calibration work in one practical measurement loop.
Project materials
Engineering context
17 logical gas channels and two temperature channels.
High-impedance sensors required several transimpedance amplifier ranges.
Heating needed feedback control, PI regulation and temperature slew-rate limiting.
A continuous PC connection over USB CDC was required.
Work done
Analog front end and measurement-channel switching.
STM32 firmware for ADC/SDADC polling, filtering, calculations and heater control.
Lightweight binary protocol over USB CDC.
Flash storage of settings, LUT and operating parameters.
PyQt6 PC application for graphs, logging and calibration.
Details
The project is built around an STM32 microcontroller, a high-impedance analog front end with transimpedance amplifiers, channel switching, temperature channels and a graphical PC application.
The firmware switches measurement channels, reads ADC and SDADC data, applies digital filtering, calculates temperatures and sensor values, controls the heater and transfers a measurement stream to the PC.
A lightweight binary protocol over USB CDC handles commands, status reading, measurement streaming, LUT transfer and configuration storage.
The firmware switches channels, collects ADC and SDADC data, filters the measurements, accounts for reference readings and calculates final values. In normal operation the PC data stream runs at 20 Hz while the internal polling logic works faster.
The heater is controlled directly by the microcontroller. The system uses a user-defined temperature setpoint, temperature slew-rate limiting, PI regulation, an active feedback temperature sensor and a backup temperature channel for monitoring.
Temperature-channel calibration uses an external pyrometer, an automatic heating and cooling cycle, measurement accumulation, LUT generation and result review before confirmation. After calibration, the microcontroller converts raw temperature-ADC values to degrees Celsius using the saved lookup table.
The microcontroller stores the device name, channel gain map, feedback-resistor table, active temperature sensor, PI parameters, temperature LUTs, setpoint, slew limit and other operating parameters in flash memory. After power-off the device keeps its configuration and starts in a predictable state.
The application connects to the device as a virtual COM port, displays channels on graphs, shows temperatures and errors, changes gain maps and extended parameters, configures heater operation, logs data to CSV and performs temperature-channel calibration.
The current platform lets the user connect the device to a PC, see a live measurement stream, control temperatures, change channel gains, configure heater operation, save CSV logs, calibrate temperature channels and restore saved configuration. In practice, the project links the full chain: sensor array, analog front end, microcontroller, digital processing, USB protocol, GUI, graphs, logging, setup and calibration.
Contact
Contact us by email. We discuss custom electronics and automation tasks remotely with companies, labs, small businesses and individual customers worldwide.