Production-grade IoT + AI safety platform for iron ore mining operations.
Real-time multi-sensor fusion · Predictive risk scoring · Hardware-honest SCADA UI
Enterprise Industrial Safety Challenge
"Intelligent Monitoring and Prediction of Conveyor Belt Joint Rupture and Damages in Iron Ore Mining Industry"
Conveyor belt failures in iron ore beneficiation plants cause millions in downtime. CONVEY X provides continuous sensor-based monitoring with predictive risk scoring to prevent joint ruptures, misalignment, and mechanical failures before they occur.
┌─────────────────────────────────────────────────────────┐
│ CONVEY X Platform │
├──────────────────┬──────────────────────────────────────┤
│ Hardware Layer │ Software Platform │
│ │ │
│ MPU6050 ────────┤──► ESP32 SmartPod ──► Wi-Fi / MQTT │
│ ACS712 ────────┤ │ │
│ IR Left ────────┤ ▼ │
│ IR Right ───────┤ Raspberry Pi 3B+ ──► POST /api/device-data
│ Relay ──────────┤ Edge AI Node │ │
│ 5V Motor ───────┤ Node.js Backend │
│ │ WebSocket Server │
│ │ │ │
│ │ React Frontend │
│ │ SCADA Dashboard │
└─────────────────────────────────────────────────────────┘
| Component | Role | Interface |
|---|---|---|
| Raspberry Pi 3B+ | Edge AI gateway + OpenCV camera inference | MQTT / HTTP (Local Server) |
| ESP32 Microcontroller | Telemetry collector & local safety cutoff | Wi-Fi / I2C / Analog |
| MPU6050 | 3-axis accelerometer — vibration RMS | I2C (0x68) |
| ACS712 (20A) | DC/AC motor current — jam/stall detection | Analog A0 |
| IR Sensor (Left) | Belt left-edge drift detection | Digital D2 |
| IR Sensor (Right) | Belt right-edge drift detection | Digital D3 |
| Relay Module | Normally-closed safety interlock | Digital D4 |
| 5V DC Motor | Drive pulley + belt prototype | PWM |
Multi-sensor fusion scoring model (0–100 risk score):
| Contributor | Max Points | Trigger Condition |
|---|---|---|
| Vibration (MPU6050) | 35 pts | RMS > 2.8g = WARNING; > 4.0g = CRITICAL |
| Motor Current (ACS712) | 35 pts | > 150% baseline = OVERLOAD; > 200% = STALL |
| Belt Alignment (IR) | 25 pts | Left or Right sensor triggered |
| Vision (Camera AI) | 20 pts | Future module — crack/splice detection |
Risk Levels: NORMAL → WARNING → HIGH_RISK → CRITICAL
- Real-time SVG Digital Twin — Live conveyor visualizer with sensor node overlays
- Hardware-honest Status — Shows DISCONNECTED until real data arrives; no fake data
- 6-Scenario Test Bench — Simulate Normal / Misalignment / High Vibration / Motor Overload / Stall / Joint Rupture
- Predictive Maintenance — Risk score, failure probability, recommended action
- Alert Engine — Severity-classified alerts with acknowledge/resolve
- Maintenance Scheduler — Track upcoming service intervals
- Event Log — Full timestamped sensor event history
- Live Charts — Real-time telemetry sparklines (Recharts)
- Device Registry — All hardware nodes with connectivity status
Send JSON packets to the backend every 500ms:
POST http://<server-ip>:4000/api/device-data
Content-Type: application/json
{
"deviceId": "ESP32-001",
"timestamp": 1725123456789,
"vibration": { "x": 0.12, "y": 0.08, "z": 9.81 },
"motor": { "current": 1.45, "rpm": 1420 },
"alignment": { "leftSensor": false, "rightSensor": false },
"relay": { "tripped": false }
}The backend automatically transitions from DISCONNECTED → LIVE_HARDWARE on first packet.
- Node.js 18+
- npm 9+
# Backend
cd backend && npm install
# Frontend
cd frontend && npm installcd backend
npm run dev # Development (ts-node)
# OR
npm run build && npm start # ProductionBackend runs on port 4000
cd frontend
npm run dev # Vite dev serverFrontend runs on port 3000 (or 5173)
| Role | Username | Password |
|---|---|---|
| Supervisor | admin |
conveyX@2026 |
| Engineer | engineer |
engineer123 |
| Viewer | viewer |
viewer123 |
conveyX/
├── backend/ # Node.js + Express + TypeScript
│ └── src/
│ ├── index.ts # Server entrypoint
│ ├── config.ts # Environment config
│ ├── models/db.ts # In-memory state store
│ ├── routes/api.routes.ts
│ └── services/
│ ├── websocket.service.ts # Socket.IO + hardware watchdog
│ ├── riskEngine.service.ts # Multi-sensor fusion scoring
│ ├── alertEngine.service.ts # Alert lifecycle management
│ └── demoSimulator.service.ts # 6-scenario test bench
│
├── frontend/ # React 18 + Vite + Tailwind
│ └── src/
│ ├── context/
│ │ ├── TelemetryContext.tsx # WebSocket client + state
│ │ └── AuthContext.tsx
│ ├── pages/ # 15+ route pages
│ ├── components/
│ │ ├── digital-twin/ # ConveyorGraphic SVG, ControlPanel
│ │ ├── charts/ # RiskScoreGauge, TelemetryLineChart
│ │ ├── common/ # KPIBox, StatusBadge, PipelineVisualizer
│ │ └── layout/ # Header, Sidebar, Layout
│ └── index.css # SCADA design system tokens
│
└── shared/types.ts # Shared TypeScript interfaces
| Endpoint | Method | Description |
|---|---|---|
/api/device-data |
POST | Receive hardware packet from ESP32 |
/api/hardware/status |
GET | Hardware connectivity + device list |
/api/hardware/simulate |
POST | Activate simulation mode |
/api/hardware/deactivate |
POST | Stop simulation |
/api/alerts |
GET | All alerts |
/api/alerts/:id/acknowledge |
POST | Acknowledge alert |
/api/conveyor/command |
POST | Motor start/stop/emergency |
/api/history |
GET | Telemetry history (last 200 pts) |
/api/maintenance |
GET/POST | Maintenance schedule |
/api/events |
GET | Event log |
Smart India Hackathon 2026
Ministry / Organization: Ministry of Mines
Problem Category: Hardware
Team: CONVEY X
MIT © 2026 CONVEY X Team