PM Node
PM Node is a portable predictive-maintenance edge device designed to inspect equipment using multiple sensor modalities on a single handheld node. It combines vibration sensing, thermal imaging, probe temperature measurement, and sound monitoring with an on-device TFT interface, rotary menu navigation, local web pages, microSD recording, and machine-state oriented workflows. The project matters because it turns several maintenance inspection steps into one compact field tool rather than requiring multiple disconnected instruments.
Problem
Industrial inspection often requires multiple separate tools for:
- vibration checks
- thermal hotspot detection
- surface or reference temperature readings
- sound-based anomaly inspection
- local logging and review
That creates workflow friction, inconsistent data capture, and more time spent switching devices than analyzing machine condition.
Solution
PM Node consolidates these inspection functions into one ESP32-S3-based embedded device with:
- IIS3DWB-based vibration measurement and FFT analysis
- MLX90640 thermal camera display with hotspot and range visualization
- DS18B20 probe temperature page with trend history
- sound level and FFT visualization from an I2S microphone
- rotary encoder driven page navigation and record toggle
- microSD recording
- Wi-Fi access point and local web interface for live views
User Experience
The device is intended to be used as a handheld or mountable inspection node. A rotary encoder replaces earlier joystick-driven pointer control and provides a simpler interface:
- rotate clockwise for next page
- rotate counterclockwise for previous page
- press to start or stop recording
The TFT displays dedicated pages for live measurements, trends, and FFT views. A local web UI mirrors key data in a browser for easier monitoring.
Current Status
The project is in active development. Core sensing, TFT navigation, local web serving, recording toggles, and multiple analysis pages are implemented or partially implemented. Hardware integration has gone through several revisions, including display replacement, joystick removal, encoder adoption, vibration sensor replacement, and SPI conflict fixes.
Tech Stack
- ESP32-S3
- Arduino / C++
- Arduino_GFX_Library
- ST7796 TFT display
- KY-040 rotary encoder
- IIS3DWB vibration sensor
- MLX90640 thermal sensor
- DS18B20 temperature probe
- I2S microphone
- microSD
- Wi-Fi access point
- Local web UI
Links
- GitHub: TBD
- Demo: TBD
- Docs: TBD

