Skip to Content

← All project packs

Mobile hydraulic equipment controlled from a smartphone over BLE

No network, no screen: the operator's smartphone is the HMI via Bluetooth LE, with safety always in the PLC.

Runs on: ESP32 PLC 38R — Arduino sketches (.ino).

The application

A manufacturer of mobile hydraulic equipment needed the operator to control loading and unloading without installing a screen or a network on the machine. The ESP32 PLC 38R exposes a BLE UART service: the app sends motion commands and receives telemetry (pressure, temperature, flow, counters) every second. Cycle counters survive reboots in NVS memory, a hardware watchdog restarts the equipment if the firmware hangs, and overpressure protection lives in the PLC, never in the app.

Architecture

  • BLE UART service (Nordic) — [M]x* commands and [T][P][F] telemetry
  • EVC/EVD/EVG solenoid valves on relays with a state machine
  • 4-20 mA sensors with unit conversion and broken-loop detection
  • Persistent counters in NVS with deferred writes
  • 20 s hardware watchdog + autonomous overpressure shutdown

Bill of materials

  • ESP32 PLC 38R — Industrial Shields controller
  • 3× hydraulic solenoid valve — loading / unloading / main
  • 4-20 mA transducers (0-250 bar pressure, temperature) — telemetry
  • Inductive sensor — pulse-based flow measurement

What is in the pack

  • ble-mobile-app-control-38r.ino
  • hardware-watchdog-38r.ino
  • load-unload-solenoid-valves-38r.ino
  • nvs-persistent-counters-38r.ino
  • pressure-temperature-4-20ma-sensors-38r.ino
  • pulse-flow-meter-38r.ino
  • rtc-sync-over-ble-38r.ino
  • Bill of materials + README

Get the pack by email — free

Fill in the form and we will send the complete pack to your inbox within minutes.

We send the pack to this address.
Optional.
I agree that Industrial Shields will process my data to send me the requested files, as described in the privacy policy.
I would also like to receive occasional technical content and product news from Industrial Shields (optional — unsubscribe anytime).