Oil, gas & petrochemicals
I run pressure, flow and gas-detection loops, with the alarm and interlock logic around them.
- Pressure
- Flow
- Gas detection
I build the systems between the sensor and the screen — a plant control loop, a Home Assistant automation and a website like this one.
PIC-101 Pressure loop
This is a live demonstration, not plant data. A simulated PI controller drives a process towards a setpoint. Change the setpoint with the gold handle at the right edge of the chart: drag it, press the arrow keys while it is focused, or click the chart. Then watch the loop respond.
Simulated loop — a first-order process with dead time under PI control with anti-windup. Illustrative, not plant data.
AUTOPI
Fluent in
01Capabilities
Every system is a chain — input, logic, output, someone reading the result. I design, build and commission each link, whether it runs in a plant, a home or a browser tab.
C-01–03 Automation & instrumentation
I program PLC and DCS systems in IEC 61131-3 languages, design SCADA and HMI screens, and write a clear alarm philosophy — so operators read the plant at a glance.
I select, install, loop-check and calibrate field instruments — pressure, flow, level, temperature, analytical — on 4–20 mA and HART.
I connect OT and IT over OPC UA, MQTT, Modbus and PROFINET, retrofit legacy systems while the plant keeps running, and sometimes bridge that network into a Home Assistant/MQTT layer.
C-04–06 Smart home & embedded
I design and build Home Assistant setups — automations, Lovelace dashboards, integrations — local-first where it makes sense, so the home still runs when the internet doesn’t.
I build custom sensors and actuators on ESP32 and similar boards, with firmware in C++, MicroPython or ESPHome, talking MQTT, HTTP or BLE to Home Assistant — or to anything else.
I build real-time trends, alarms and dashboards — whether the source is a plant historian, a home energy meter, or a small sensor network.
C-07–09 Web development
I design and build websites and small web apps — from a landing page to a working tool. This very site, bilingual and hand-built, is one example.
I write the software layer that sits on top of a machine or a sensor network — dashboards, APIs, edge gateways — so the data becomes something people can act on.
FAT and SAT for a plant loop, a final walkthrough for a smart home or a website — then start-up, documentation, training and support that keeps going long after handover.
02The loop
Every plant is made of loops. A sensor reports, a controller decides, a valve or a drive acts, and the process answers back. I work on every part of that circle, and on the screens above it.
A sensor reports what is happening — a pressure transmitter on a loop, an ESP32 sensor feeding Home Assistant, a log line or analytics event on a website. I select, wire and calibrate the reading behind it.
Pressure4–20 mA
The reading meets a setpoint and a decision follows — PLC or DCS logic, a Home Assistant automation, an API handler on a website. I write it, structure it and test it before it meets the real world.
Signal + setpointOutput
The decision becomes motion — a control valve or drive, a smart plug or actuator, a deployed change or a notification. I commission it, tune it and tie it into what is around it.
Output signalValve position
The plant answers, and the loop begins again. I stay with it after handover: diagnostics, tuning, fixes and small improvements as operations change.
FlowPressure
Above the loop, someone needs the whole picture — a SCADA or HMI screen, a Home Assistant dashboard, a web dashboard. I build that view so the state of things is clear in one look.
Loop dataOperator view
Hover or focus a stage to read about it.Tap a stage to read about it.
Field note
Why 4–20 mA? Because zero should never be silence.
Four milliamps is a live zero: proof the loop is alive, and enough current to power a two-wire transmitter. If a wire breaks, the loop reads 0 mA, which is not the same thing as a measurement of zero. The controller can tell the difference, and so can the operator.
Try it
NAMUR NE43: valid readings run 3.8 to 20.5 mA. 3.6 mA or less and 21 mA or more are failure signals. Exact limits are set per instrument and per project.
How I deliver
Walk the plant, read the drawings, list every signal.
I/O list
Architecture, control narrative and screens, agreed on paper first.
Design pack
Logic, alarms and HMI in clear, versioned, documented code.
Code & screens
Factory acceptance: simulate the plant and prove it before it ships.
FAT record
On site: check every loop, tune it, run the site acceptance test and hand over.
Handover pack
I stay close: fixes, changes and steady improvements.
Ongoing
03Sectors
The instruments change from job to job. My method doesn’t: measure it properly, control it simply, and hand over documentation you can use.
Illustrative traces, not live data — tags are examples.
I run pressure, flow and gas-detection loops, with the alarm and interlock logic around them.
I measure and control tank levels, pumping stations and treatment trains, reported to one screen.
I bring metering, motor and switchgear monitoring, and utility-plant control into one SCADA view.
I handle furnace temperature profiles, drives and conveyors, with the interlocks and permissives heavy plant relies on.
I run batch and recipe control, dosing and filling lines, with production data that stays traceable.
I handle BMS integration, HVAC and chiller control, energy metering and one dashboard for the whole facility.
I build Home Assistant setups, ESP32 sensors and automations, and energy monitoring for real homes.
I design, build and look after websites and small web apps, from the first line of code onward.
Not on the list? Every system has a signal — tell me yours.
Start a conversation04Work
I am writing up my projects in one short, honest format: the challenge, the system, the measured result. They will appear here.
Follow along for updates @ioai.bh
05About
Four letters, one job: measure the process, decide what it needs and make it happen.
I/O · signals in
Everything a system can tell me: a plant’s pressure and flow, a sensor at home, a request a page receives.
I/O · control out
Everything I can ask of it in return: a valve to move, a smart plug to switch, a page to respond.
logic
PLC and SCADA logic, a Home Assistant automation, or the code behind a website — the layer that turns a reading into a decision.
measurement
Sensors, transmitters and calibration: the part that makes a signal worth trusting.
I automate plants, build smart-home systems around Home Assistant and ESP32, and design and build the websites in between — one instinct at every scale: measure the signal, decide simply, and turn it into control.
Four beliefs I work by. Not certificates on a wall, but habits you can hold me to.
Automation built on a bad signal only hides the problem faster — whether that signal is a 4–20 mA loop, a sensor reading or an API response. So I check the instrument, the wiring or the request first, and write the logic second.
I reach for protocols anyone can read before anything proprietary. What I build should stay free to change vendors or platforms, without starting over.
Drawings and loop sheets for a plant, a README and a wiring diagram for a sensor node, comments in the code for a site — part of the job, not an afterthought. If it is not written down, it is not finished.
I name things clearly, comment the logic and hand over what you need to keep it running yourself. I would rather you call me because you want to than because you have to.
The logo is a loop diagram in miniature. A bar goes in, a ring closes, a red bead reports.
The barInput
One straight line: the signal arriving from the field.
The ringOutput
A loop that closes: control returned to the process.
The beadA live signal
A hexagon on purpose — a dial pointer and a PCB pad in one shape. It stands for whatever a system is reporting right now, so it never sits still for long.
05.5Language & place
The interface, the documentation and this website itself — in either language.
Read this page in ArabicBahrain time
--:--:--
AST · UTC+03:00
06Contact
Describe the plant, the home or the website in a few lines. I read every brief and reply in English or Arabic.
A few lines is enough. Fields marked * are required.
JavaScript is off, so this form cannot prepare your email. The button below opens your email app with the fields ready to fill in.
Start your brief by emailBrief ready
If it did not, copy the brief and send it to hello@ioai.bh.
This brief is long, and some email apps trim long links. If yours looks cut off, use Copy brief.
Your brief
Error:
Please enter your name.
Please enter your email address.
That email address looks incomplete. Check the @ and the domain.
Use digits, spaces, + or dashes only, with at least 6 digits.
Choose what you need, or “Not sure yet”.
Tell me a little about what you want to measure, automate or build.
Add a little more detail so I can reply properly.
One field needs attention: {fields}.
Two fields need attention: {fields}.
{n} fields need attention: {fields}.
Email address copied to the clipboard.
Could not copy automatically. Please select the address and copy it.
Brief copied to the clipboard.
Could not copy automatically. Select the text in the box and copy it.
Project brief from {name}
Project brief from {name} ({company})
Hello Sayed,
I would like to discuss a project.
To
Subject
Name
Company
Phone
Sector
What I need
Brief
Site language
English
—
Sent from the contact form at ioai.bh