Skip to content

Tushar-R-Tyagi/FFT-PM-System

Repository files navigation

FFT-PM-System

Predictive maintenance prototype focused on vibration analysis for rotating machinery.

This repository combines:

  • ESP32 firmware for vibration capture and MQTT publishing
  • Python scripts/notebooks for FFT-based analysis on bearing data
  • early data-bridge code for MQTT to InfluxDB

The project is still in progress. Current code demonstrates core ideas and working building blocks, not a full production system.

Current Scope

Implemented:

  • ESP32 data acquisition with MPU6050
  • MQTT publish flow from device side
  • FFT, RMS, and kurtosis experiments in Python
  • initial MQTT to InfluxDB bridge script

Planned next:

  • clean service boundaries (edge, ingestion, analytics)
  • reproducible runtime setup and dependency management
  • proper automated tests and CI checks
  • dashboard/API layer and stronger documentation

Repository Structure

  • src/main.cpp: ESP32 firmware (Wi-Fi, sensor readout, MQTT publish)
  • ESP.cpp: edge-side FFT/RMS feature extraction prototype
  • bridge.py: MQTT to InfluxDB bridge prototype
  • fft_pipeline.ipynb: notebook experiments on bearing data
  • test_fft.py: simple FFT simulation script
  • data/: NASA bearing dataset samples used in analysis

Quick Start

Firmware (PlatformIO)

  1. Install PlatformIO.
  2. Open this repository in VS Code.
  3. Build and flash using the environment in platformio.ini.

Python analysis

  1. Create and activate a virtual environment.
  2. Install required packages (numpy, scipy, matplotlib, pandas, paho-mqtt, influxdb-client).
  3. Run scripts or notebooks:
    • python test_fft.py
    • python bridge.py

Note: package pinning and a single dependency file will be added as part of the polishing phase.

Data Source

The project uses bearing run-to-failure files stored under data/1st_test.

Status

Development stage: prototype.

This repository is intended to show practical work on embedded sensing, signal processing, and data pipeline fundamentals.

Demo Videos of the progress so far:

First video captures the reading on InfluxDB and spike is caused due to failure caused manually to test edge device and pipeline functionality (successful here)

Second video is a demonstration of a simulated failure and visualisaton of the normal vs failure mode simulation.

Data.Explorer._.TusharTech._.InfluxDB.-.Google.Chrome.2026-04-11.13-48-03.mp4
Digitaltwin.test.mp4

Author

Tushar Tyagi

About

FFT Based Predictive Maintenance System (In Progress)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors