Skip to content
IEMI Labs
Now part of CellOne. CellOne does this product's jobs and more in one device, our one product for Manufacturing plants.

MachineState

Know when your machines stop. Without wiring a thing.

Concept · not for sale
Engineering design: MachineState
Target price from$150per machine (target)

Software: $19 per machine per month (target)

Concept, not for sale yet. Tell us if you want it; that decides what we build.

Rate this idea and tell us what to change
MachineState concept: the idea and where each part goes

Drag to rotate · right-drag to move · scroll to zoom · click a part for its size and placeSwipe to rotate · pinch to zoom · two fingers to move · tap a part for its size

How it fits together

MachineState, part by part

Scroll or tap a part. Press “See the 3D CAD design” to watch the model, built from our CAD, light each part up and show how it connects.

MachineState concept: the idea and where each part goes

Real-time 3D render · drag to rotate · final design may varySwipe sideways to rotate

  1. 01

    The whole MachineState

    A clip-on node reads a machine's stack light with a light sensor, then texts the owner when the machine sits idle or alarms.

  2. 02Brain

    AtomS3 Lite (ESP32-S3)

    The brain: it runs the machinestate firmware program

  3. 03

    Lamp light sensor

    Reads one stack-light tier through a black hood

    AtomS3 Lite (ESP32-S3) · ADC pin (analog) · Lamp brightness voltage

  4. 04

    Colour sensor (Haas)

    Reads colour and flashing of a Haas beacon

    AtomS3 Lite (ESP32-S3) · I²C (Grove port) · Red, green, white readings

  5. 05

    Room-light sensor

    Checks shop lighting to spot a leaking hood

    AtomS3 Lite (ESP32-S3) · ADC pin (analog) · Room brightness voltage

  6. 06

    Magnet back

    Holds the controller on the machine's steel side

    AtomS3 Lite (ESP32-S3) · Magnetic hold · Mounting only

  7. 07

    USB 5 V adapter

    Powers the node from a wall outlet, no machine wiring

    AtomS3 Lite (ESP32-S3) · USB-C 5 V lead · 5 V power

  8. 08

    All connected

    6 key parts, one program, and your phone

What it is

A clip-on sensor that reads a machine’s stack light and texts you when the machine sits idle.

What it does

  • Reads red, amber and green, steady or flashing
  • Texts you after 20 minutes idle
  • Sends a run-time report every evening
  • Never connects to your control

Who it's for

Owners and managers of small CNC and job shops with 10–50 machines.

How the parts connect

MachineState, wired up

Every part, what links it to the brain, and how the data reaches your phone. A solid line is a cable; a dashed line is a radio link.

Lamp light sensorLamp brightness voltageADC pin (analog)Colour sensor (Haas)Red, green, white readingsI²C (Grove port)Room-light sensorRoom brightness voltageADC pin (analog)Magnet backMounting onlyMagnetic holdUSB 5 V adapter5 V powerUSB-C 5 V leadTHE BRAINAtomS3 Lite (ESP32-S3)runs machinestate firmwareC++ on Arduino/PlatformIOAlert servervia Wi-Fi · MQTT over TLSOwner's phonevia SMS or WhatsApp message
Drawn from the MachineState parts list. The 3D view above is built separately, from the CAD.

The program

What controls MachineState

Runs on
M5Stack AtomS3 Lite (ESP32-S3)
Written in
C++ on Arduino/PlatformIO
System
Arduino-ESP32 (FreeRTOS)
AI model
No AI; learned on/off thresholds per lamp
  1. 1Sample each lamp sensor at 50 Hz
  2. 2Learn dark and lit levels with a 40–60% hysteresis band
  3. 3Decide on, off or flashing each second over a 2 s window
  4. 4Publish lamp states on every change and every 30 s
  5. 5Send a status message every 5 min
machinestate firmware.cppmain loop
void loop() {
  uint32_t now = millis();
  if (now - lastSample >= SAMPLE_MS) {         // 50 Hz
    lastSample = now; sample();                // analogReadMilliVolts per lamp
  }
  if (now - lastDecide >= DECIDE_MS) {         // once a second, 2 s window
    lastDecide = now;
    for (int i = 0; i < 3; i++)
      if (decide(lamps[i]) != state[i]) changed = true;   // on / off / flash
    if (ensureMqtt() && (changed || now - lastBeat >= HEARTBEAT_MS))
      publishLamps();                          // ms/<shop>/<device>/lamps
  }
  mqttClient.loop();
}

To your phone

How the data reaches SMS and WhatsApp alerts

Any phone

  1. Node
  2. Alert server
  3. Owner's phone

What you see in the app

One screen for each job MachineState does.

  • Idle machineA mill finishes its job while the operator is on break. After 20 minutes with no green light, the owner gets a text.

  • Fault alarmA lathe stops with its red light on, perhaps a tool or door fault. After 5 minutes in red, the shop lead gets a text.

  • Daily reportEvery evening the owner gets one message with run time for each machine, so slow days and problem machines show up without a spreadsheet.

App screens with sample data. The interface is in development.

What the app gets

Data MachineState sends to the app
Idle alertMill 2 idle 20 minOnce per stop
Fault alertLathe 1 in alarm 5 minAfter 5 min red
Running againMill 2 runningAfter an alert
Run-time report6.5 h run, 68%6 pm daily
Offline alertNode silent 10 minOn silence

Outbound TLS only, with a unique login per device. No link to the machine; only lamp states are sent.

CAD design · Pilot design rev A frozen (6 units), production v1 specified; not built, nothing run on a real machine yet

Designed in code, checked in 3D

  • 9 printed parts, each a single closed solid
  • Every bought part fitted inside and checked for collisions
  • Assembled exactly as shown in the 3D CAD view (the button on the picture at the top)
See the CAD parts renderMachineState printable parts rendered from the CAD

Key specs

MachineState hardware
AI processorESP32-S3 (M5Stack AtomS3 Lite in the prototype)
Sensors4 analog light sensors (red, amber, green and room light) in black clip-on hoods · Optional magnet-mounted accelerometer for machines without a stack light
ConnectivityShop Wi-Fi · Or our own 4G router, so nothing touches your network · SMS or WhatsApp alerts
PowerUSB 5 V from an outlet on or near the machine
EnclosureSmall controller with magnets on the machine housing; light sensors in 3D-printed black hoods held on the lamps with zip ties
DimensionsController 2.4 × 2.4 cm (prototype)
All target specifications

Sensing (prototype)

Sensing (prototype) target specifications
InputsStack-light red, amber, green, plus room-light reference
SamplingAbout 50 times a second; tells flashing from steady
No stack lightMagnet-mounted vibration sensor

Alerts and reports

Alerts and reports target specifications
Idle alertText after 20 minutes idle in shift hours (adjustable)
Daily reportRun hours, idle hours, longest stop per machine at 6 pm

Install

Install target specifications
WiringNone. USB power only
Connection to the machineNone. It reads the lights
NetworkShop Wi-Fi or our 4G router

Targets for production units; they may change during development.

Pricing

Hardware: $150 per machine (target)

Software: $19 per machine per month (target)

Target pricing. Austin-area pilot, November 2026: two shops get a free two-week trial on three machines. If it is useful you keep it at $19 per machine per month; if not, we take it off at no charge. We are not taking orders or deposits.

Indicative launch pricing in USD, excluding taxes and shipping. Final pricing is confirmed before any balance is charged.

Community

What do you think of MachineState?

MachineState is in development. Rate the idea, tell us what to change about the features, specs or price, and we'll build it with your feedback.

How much people want it

–

No ratings yet

  1. 50
  2. 40
  3. 30
  4. 20
  5. 10

Follow MachineState

Get build updates and first access when pre-orders open.

Leave feedback

Your rating of the idea

Feedback on a product concept in development, not a review of a shipped product. Posts may be moderated; links and contact details are held for review. See our community guidelines and privacy policy.

Comments

    No comments yet. Tell us what you'd want from MachineState.

    Free shop trial · Austin area

    Ask for a free two-week trial

    Two shops get it free on three machines for two weeks. If it is useful you keep it at $19 per machine per month; if not, we take it off at no charge. Tell us about your machines and how you track machine time today.

    We use your details only to respond to this request. See our privacy policy.

    From the product lab · ideation phase

    Lab updates for MachineState

    All lab updates
    1. LatestA small plant needs one thing on each machine that shows every run and stop with its reason, reads the panel dials, catches a failed heater band and warns at an open gate, without walking the floor. Machine monitoring costs about $125 to $150 per machine per month (Guidewheel, MachineMetrics), and IEC 60204-1 already puts a signal tower on every machine.
      • Now part of CellOne: https://iemilabs.com/products/cellone/

      See it in 3DFull research and design

    MachineState FAQ

    General FAQ
    Does it connect to my CNC control?

    No. It only reads the stack-light lamps, so there is no wiring into the machine and no network connection to the control.

    What if a machine has no stack light?

    We use a small vibration sensor held on the spindle head with a magnet. It shows when the machine is cutting.

    Do I need Wi-Fi?

    No. For the trial we can bring a small 4G router, so nothing touches your network.

    Who sees the data?

    You do. We use it only to run your trial and delete it if you ask.

    Can I buy it now?

    Not yet. This is a prototype we are testing with real shops before we build it. We are not taking orders or deposits. Ask for a free trial if you run a shop in the Austin area.

    Related products

    AirLeak AI concept: the idea and where each part goes
    IndustrialConcept

    AirLeak AI

    A wall or pole-mounted ultrasonic sensor disc with a camera that listens for compressed-air and gas leaks.

    • Hears leaks around the clock
    • Marks leaks on a camera image
    • Estimates each leak's yearly cost

    From $1,490 per unit

    Details
    DustWatch AI concept: the idea and where each part goes
    IndustrialConcept

    DustWatch AI

    A bench-mounted camera and dust sensor that warns when dust controls on cutting tasks fail.

    • Spots visible dust plumes
    • Flags suspected dry cutting
    • Tracks a PM4 dust trend

    From $799 per unit

    Details
    MotorPulse AI concept: the idea and where each part goes
    IndustrialConcept

    MotorPulse AI

    A small battery sensor that screws onto a motor or pump and spots developing faults.

    • Measures vibration, sound and temperature
    • Flags unusual machine behaviour
    • Suggests a likely fault type

    From $249 per node (HD variant $349); gateway $399

    Details

    MachineState

    Concept · target $150

    Free trial