Train Coupler Strength & Status Diagnostic System
IEEE Winnipeg Section 3rd Prize
Developed as part of a five-person Computer Engineering capstone team, this system integrates triaxial vibration sensing, custom signal-conditioning electronics, STM32/FreeRTOS data acquisition, USB streaming, and a Flutter-based tablet application with on-device ONNX inference.

Tools and Languages
8.27 Mbps
USB throughput
100%
Integration data integrity
21
ML input features
3-axis
Vibration acquisition
<2 min
Workflow time
Overview
The prototype turns a mechanical hammer impact into a diagnostic result: a triaxial accelerometer measures vibration, the signal is conditioned and digitized, the STM32 streams structured samples to a rugged tablet, and the tablet runs local signal processing and neural-network inference to estimate coupler force.
Engineering problem
Railway couplers experience repeated dynamic loads, while preventative maintenance workflows can be time-consuming and dependent on mechanical testing procedures. The goal was to investigate whether vibration measurements, signal processing, and machine learning could provide technicians with a faster portable workflow that works fully offline.
My contribution
- Led the Tablet Analytics System, a Flutter/Dart Windows application deployed to a Panasonic CF-33 rugged tablet.
- Built technician-facing workflows for recording samples, selecting coupler configuration, reviewing past samples, visualizing results, and storing diagnostic records.
- Integrated serial/USB communication, asynchronous data reception, raw vibration-data handling, FFT-based feature extraction, and local ONNX model execution.
- Supported end-to-end system integration with the embedded data gateway, signal-acquisition pipeline, and field prototype workflow.
System architecture
- A PCB Piezotronics 356A33 triaxial accelerometer captures X, Y, and Z vibration from a 10-impact hammer test.
- A custom four-layer Signal Processing Board provides IEPE excitation, protection, filtering, differential conversion, and 24-bit ADC digitization.
- An STM32 NUCLEO-F767ZI running FreeRTOS manages SPI acquisition, DMA transfers, buffering, USB communication, and start/stop control from the tablet.
- The tablet application receives structured binary packets over a virtual COM port, processes recordings, runs inference locally, and stores compact diagnostic records.
Signal processing and ML
The neural network does not consume raw waveforms directly. The tablet converts raw X/Y/Z vibration measurements into a 21-element feature vector using time-domain and frequency-domain features, including RMS, crest factor, kurtosis, spectral variance, dominant peaks, and response time. The application selects between two trained machine-learning models based on coupler configuration and runs inference locally without requiring network access.
Validation
- Validated USB throughput at 8.27 Mbps against a target above 2.56 Mbps.
- Achieved 100% data integrity with zero packet loss during integration testing.
- Reduced the measurement workflow to 4 user actions and the save-result workflow to 2 user actions.
- Validated end-to-end operation from analog signal input through embedded acquisition, USB transmission, Flutter processing, ONNX inference, and result display.
Things learned
- End-to-end systems are only as strong as the interfaces between subsystems, especially when analog sensing, embedded firmware, USB communication, and desktop software all depend on each other.
- Feature engineering matters as much as model execution when translating noisy physical measurements into useful machine-learning inputs.
- Field-facing engineering requires more than a working algorithm; the workflow has to be fast, offline, repeatable, and understandable to the technician using it.
Outcome
The project demonstrated a substantial embedded, software, and ML systems-engineering workflow: physical event to sensor data, analog conditioning, embedded acquisition, binary communication, desktop analytics, edge inference, and technician-facing decision support.