The problem
Workshop managers usually discover machine utilization from gut feel or manual logbooks — both unreliable. Knowing which lathe sits idle 60% of the shift, or which grinder draws current all night because nobody switched it off, is the difference between buying a new machine and simply scheduling better. This project makes that visibility cheap and safe: a split-core current transformer clamps around each machine's supply cable without touching live wiring, an ESP32 samples the current, and a dashboard turns the raw amps into utilization percentages, run/idle timelines and energy totals. The hardware is deliberately non-invasive so it can be fitted to any existing machine in minutes, and the dashboard answers the one question that matters: where is capacity being wasted.
Current transformer clamp producing a small AC voltage proportional to machine current.
Follow the working sequence
How it works
- The SCT-013 clamp around the machine's live cable produces a small AC voltage proportional to the load current.
- The ESP32 samples this signal, computes true RMS current, and smooths it to reject motor start-up inrush spikes.
- A calibrated threshold with hysteresis decides running vs idle; state changes are timestamped and published over MQTT.
- The dashboard backend accumulates run/idle seconds into utilization percentages and integrates current into kWh.
- Every few seconds the dashboard redraws machine cards, the hourly chart and the event log from the latest telemetry.
- If a machine stays idle past the configured limit during shift hours, an idle alert is raised on the dashboard.
Tech stack:
- ESP32 + SCT-013 current transformer + ACS712 (DC/low-current option)
- 0.96" OLED per node, MQTT (Mosquitto) telemetry
- Python/Flask or Node.js dashboard backend
- HTML/CSS/JS live dashboard (single-file demo included)
- SQLite for shift history
| Parameter | Value |
|---|---|
| Sensor | SCT-013-000 split-core CT, 100 A max (datasheet) |
| Controller | ESP32 per machine node |
| Sampling | RMS current computed per AC cycle, smoothed (design target) |
| Run/idle threshold | Calibrated per machine, hysteresis ±10% (design target) |
| Telemetry | MQTT, JSON payloads every 5 s (design target) |
| Dashboard | Live web app: status, charts, events, alerts |
| Energy calc. | kWh = Σ(I_rms × 230 V × Δt), per machine per day (expected) |
| Idle alert | Configurable, default 45 min in shift hours |
| Installation | Clamp-on, no wiring changes, no downtime |
Project features
- [Non-invasive current sensing] SCT-013 split-core CT clamps around the supply cable — no wire cutting, no electrician, no machine downtime for installation.
- [Run/idle detection] Load-current thresholds with hysteresis classify each machine as running or idle, debounced against motor inrush spikes.
- [Live utilization dashboard] Per-machine utilization bars, running/idle status pills, shift totals and an 8-hour utilization chart update every few seconds.
- [Idle-time alerts] Configurable alerts fire when a machine sits idle beyond a threshold (e.g. 45 minutes) during shift hours.
- [Energy accounting] Current × nominal voltage accumulates into kWh per machine per day, with shift and weekly summaries.
- [MQTT telemetry] Nodes publish to a local MQTT broker; the dashboard subscribes in real time and the design supports cloud bridging later.
- [OLED node display] Each sensor node shows its own machine's current and utilization on a local OLED for shop-floor visibility.
What is included
- Sensor node hardware per machine (ESP32 + SCT-013 + OLED)
- Node firmware (sampling, RMS, run/idle logic, MQTT)
- Central dashboard web application (live view, charts, alerts, history)
- Single-file dashboard demo for presentation
- Wiring diagram and per-machine calibration guide
- Project report PDF (background, sensing method, methodology, calibration procedure, results)
- PPT presentation for final review
- Viva Q&A preparation document (CT sensors, RMS, MQTT, utilization math)
Limitations & prerequisites
- Utilization figures are design targets until the buyer's calibration run — thresholds must be tuned per machine, and the report includes that procedure.
- Energy is estimated from current × nominal 230 V, not true power metering — power factor is not measured, stated plainly.
- Single-phase sensing per node in the base build; three-phase machines need one CT per phase (documented as an extension).
- MQTT broker and dashboard need a local always-on host (a Pi or PC) — not included as a cloud service.
- Very low standby currents (VFD-driven machines at idle) may sit below the noise floor; the calibration guide covers this.
- Not a certified energy-measurement instrument — a prototype for utilization insight, not for billing or compliance.
Frequently Asked Questions
Does installation need an electrician?
No. The split-core CT simply clamps around the existing supply cable — no wires are cut and no terminals are touched, so fitting takes minutes per machine.
How does it know a machine is idle?
It watches the load current: above a calibrated threshold the machine counts as running, below it as idle, with hysteresis and debouncing so motor inrush doesn't cause flicker.
Is the energy figure accurate enough for billing?
No — and it doesn't claim to be. Energy is estimated from current times nominal voltage without power-factor measurement, so it is for utilization insight, not billing or compliance.
Can it handle three-phase machines?
The base build senses one phase per node. Three-phase coverage needs one CT per phase and is documented as an extension.
Where does the data go?
To a local MQTT broker and dashboard on your own network. Nothing is sent to any cloud service in the base build.
Is this project suitable for a final-year project?
Yes — for IoT & Embedded, Electrical and Mechanical programs. It combines non-invasive sensing, embedded firmware, telemetry and a data dashboard around a real industrial problem. Suitable for B.E./B.Tech final-year projects in IoT & Embedded Systems, Electrical and Mechanical.
Components & software requirements
- ESP32 + SCT-013 current transformer + ACS712 (DC/low-current option)
- 0.96" OLED per node, MQTT (Mosquitto) telemetry
- Python/Flask or Node.js dashboard backend
- HTML/CSS/JS live dashboard (single-file demo included)
- SQLite for shift history
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.