← Back to Projects

Embedded PID Loop for Mass Flow Regulation in R&D Plasma Coating System

Role: Automation Engineer  •  Company: Acree Technologies  •  Year: 2025  •  Stack: Arduino Mega R3, MCP4921 DAC, TI MAX232N, Python (Tkinter + Matplotlib)

Designed and deployed an automated PID loop to regulate oxygen flow in a PVD research chamber, using a mass flow controller as the setpoint device and a Pinnacle power supply as the process feedback variable. The system continuously monitors voltage via RS-232 (converted to TTL UART), calculates proportional, integral, and derivative terms in firmware, and adjusts the mass flow controller through a 0-5 VDC analog signal.

On the embedded side, the solution was implemented on an Arduino Mega R3 with two key peripherals: an MCP4921 10-bit digital-to-analog converter (SPI) to drive the flow controller, and a TI MAX232N IC to translate TTL logic levels to ±12 V RS-232 for reliable communication with the Pinnacle supply.

On the software side, I built a custom Python GUI with Tkinter and Matplotlib to provide real-time visualization and logging. The interface plots Pinnacle voltage and oxygen flow on a sliding time window, displays key control constants, and automatically records all data to CSV for traceability and offline analysis.

  • Integrated Arduino Mega R3 with MCP4921 DAC and TI MAX232N level shifter
  • Developed real-time PID loop with RS-232 feedback and analog output control
  • Created Python desktop GUI for live plotting, parameter display, and CSV logging
  • Improved operator efficiency — reduced daily manual monitoring by ~1 hour

Gallery

Control cabinet interior
Arduino w/ Soldering board and field connections mounted in Box.
Control cabinet interior
Field Wires Connected to Box including DB9, USB-B, and BNC Ports.
Control cabinet interior
Screenshot from Python GUI
Control cabinet interior
Schematic using Fritzing electrical design software