Industrial Edge Monitor is an ESP32-based Industrial IoT platform designed to continuously monitor industrial machines, analyze machine condition at the edge, detect abnormal operating conditions, and deliver real-time machine health information to a centralized monitoring platform.
The system combines embedded edge computing, industrial sensors, real-time processing, fault detection, MQTT communication, backend services, and a monitoring dashboard into one integrated industrial monitoring solution.
Industrial machines can experience conditions such as:
- Motor overheating
- Excessive vibration
- Bearing degradation
- Overcurrent
- Mechanical imbalance
- Abnormal RPM
- Unexpected shutdown
- Sensor failures
Traditional maintenance often follows a reactive model:
Machine Failure → Technician Detection → Maintenance
Industrial Edge Monitor aims to move toward a proactive approach:
Monitor → Detect → Analyze → Alert → Maintain
The system continuously collects machine data, evaluates machine health locally, detects abnormal conditions, and communicates important information to a central platform.
The platform is designed as a distributed system consisting of industrial machine sensors, ESP32 edge devices, communication infrastructure, backend services, and a web-based dashboard.
┌─────────────────────────┐
│ Dashboard │
│ │
│ Machines │
│ Telemetry │
│ Health │
│ Alarms │
│ Maintenance │
└────────────┬────────────┘
│
Backend
│
MQTT
│
┌───────────────────────┴───────────────────────┐
│ │
┌──────▼──────┐ ┌──────▼──────┐
│ ESP32 #1 │ │ ESP32 #2 │
│ Machine #001│ │ Machine #002│
└──────┬──────┘ └──────┬──────┘
│ │
┌──────┼──────────┐ ┌──────┼──────────┐
│ │ │ │ │ │
Temp Vibration Current Temp Vibration RPM
The ESP32 acts as the edge monitoring controller, performing local processing, diagnostics, fault detection, and communication with the central platform.
The edge device is installed on or connected to the monitored industrial machine.
Its responsibilities include:
- Sensor data acquisition
- Local signal processing
- Machine condition monitoring
- Health evaluation
- Fault detection
- Machine state management
- Local data storage
- Device diagnostics
- MQTT communication
- Offline data handling
- Firmware update support
The system is designed to monitor multiple machine parameters, including:
- Temperature
- Vibration
- Current
- Voltage
- RPM
The collected information is transformed into meaningful machine telemetry and health indicators.
The backend acts as the central processing and management layer between edge devices and the monitoring dashboard.
It is responsible for handling:
- Device communication
- Machine telemetry
- Machine status
- Events and alarms
- Historical data
- Fault information
- Maintenance information
The dashboard provides centralized visibility over the monitored machine fleet.
It is designed to provide:
- Machine overview
- Online / Offline status
- Machine health
- Live telemetry
- Historical trends
- Active warnings
- Critical faults
- Machine events
- Maintenance information
A machine details view can provide live and historical information for parameters such as temperature, vibration, current, and RPM.
The system collects and manages machine telemetry such as:
| Parameter | Description |
|---|---|
| Machine ID | Unique machine identifier |
| Timestamp | Measurement timestamp |
| Temperature | Machine temperature |
| Vibration RMS | Vibration RMS value |
| Vibration Peak | Peak vibration |
| Current | Machine current |
| Voltage | Machine voltage |
| RPM | Rotational speed |
| Machine State | Current machine operating state |
| Health Score | Overall machine health |
| Active Faults | Currently active faults |
| Warnings | Active warnings |
Industrial Edge Monitor does not only collect sensor readings.
The system evaluates machine behavior and identifies abnormal operating conditions.
Machine operating states include:
OFF
│
▼
STARTING
│
▼
RUNNING
│
├──────────► WARNING
│
└──────────► FAULT
│
▼
STOP
The platform can progressively evolve from basic threshold-based monitoring toward trend analysis and more advanced condition-based and predictive maintenance capabilities.
A major part of the system is processing machine data locally at the edge.
Instead of continuously transmitting high-frequency raw sensor data, the ESP32 can process sensor samples locally and extract meaningful features before sending telemetry to the central platform.
For example:
Raw Sensor Data
│
▼
ESP32 Edge Processing
│
├── RMS
├── Peak
├── Variance
└── Other Features
│
▼
Machine Telemetry
│
▼
Central Platform
This approach reduces unnecessary communication and allows the device to detect abnormal conditions closer to the machine.
The platform uses MQTT as the primary communication mechanism between edge devices and the central platform.
Example topic structure:
industrial/machine/001/telemetry
industrial/machine/001/status
industrial/machine/001/events
industrial/machine/001/diagnostics
The communication architecture is designed to support multiple machines communicating with the same central platform.
Industrial environments cannot always guarantee continuous network connectivity.
Therefore, the edge device is designed to support offline operation.
Network Available
│
▼
ONLINE
│
│ Network Lost
▼
OFFLINE
│
▼
Local Data Storage
│
│ Network Restored
▼
SYNCING
│
▼
ONLINE
During network outages, important data can be stored locally and synchronized with the central platform when connectivity is restored.
Predictive maintenance is considered as an evolution of the platform rather than a claim of the initial implementation.
The project can progressively evolve through:
Level 1
Machine Monitoring
↓
Level 2
Condition Monitoring
↓
Level 3
Trend Analysis
↓
Level 4
Anomaly Detection
↓
Level 5
Predictive Maintenance
This allows the platform to start with reliable machine monitoring and gradually introduce more advanced analytics based on collected machine history.
- ESP32
- ESP-IDF
- FreeRTOS
- C
- Industrial sensors
- Local storage
- MQTT
- Backend service
- REST / API layer
- Database
- MQTT integration
- Web-based monitoring interface
- Real-time machine monitoring
- Historical telemetry
- Alerts and events
- Machine health visualization
- MQTT Broker
- Database
- Docker-based services
- Deployment infrastructure
The project aims to provide a complete industrial monitoring platform rather than an isolated embedded prototype.
The main goals are:
- Real-time machine monitoring
- Edge-based data processing
- Machine health evaluation
- Fault and warning detection
- Centralized machine management
- Historical telemetry
- Offline data persistence
- Device diagnostics
- Remote firmware updates
- Foundation for predictive maintenance
The development is organized as a progressive system-engineering roadmap:
ESP32 + ESP-IDF
↓
Drivers & Sensors
↓
FreeRTOS Architecture
↓
Data Processing
↓
Machine State & Fault Management
↓
MQTT Communication
↓
Backend
↓
Dashboard
↓
Offline Storage
↓
Diagnostics
↓
OTA
↓
Predictive Maintenance
↓
Testing & Documentation
↓
Industrial Prototype
Industrial-Edge-Monitor/
│
├── Backend/
├── Dashboard/
├── Firmware/
├── Infrastructure/
├── Docs/
├── Scripts/
├── Tests/
│
├── .github/
├── README.md
├── CONTRIBUTING.md
├── SECURITY.md
├── CHANGELOG.md
└── LICENSE
Detailed architecture, requirements, protocols, hardware specifications, testing strategy, and implementation documentation will be maintained under the Docs/ directory as the project evolves.
Status: 🚧 In Development
The project is currently being developed as a complete Industrial IoT monitoring platform, with the architecture designed to support the evolution from machine monitoring toward condition monitoring and predictive maintenance.
The long-term vision is to build a scalable industrial monitoring platform where multiple machines can be monitored through distributed edge devices and managed from a centralized platform.
INDUSTRIAL MONITORING PLATFORM
┌───────────────┐
│ Dashboard │
└───────┬───────┘
│
┌───────▼───────┐
│ Backend │
└───────┬───────┘
│
┌───────▼───────┐
│ MQTT Broker │
└───────┬───────┘
│
┌──────────────────┼──────────────────┐
│ │ │
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│ ESP32 #1│ │ ESP32 #2│ │ ESP32 #N│
│Machine 1│ │Machine 2│ │Machine N│
└─────────┘ └─────────┘ └─────────┘
Industrial Edge Monitor — Bringing machine intelligence closer to the industrial edge.