Case Study: Automated Milk Stirring Control for Cheesemaking
Cheesemaking is a hands-on process where small variations can have an impact on consistency and final product quality. Part of this process involves gently stirring curd.
At a local dairy, they do this process using rectangular 60-liter containers and a pneumatic paddle agitator. While the stirring itself must be slow to keep the curd intact, the pneumatic motor requires more force at startup before going the stirring phase.
Originally, these steps were timed and performed manually by an operator. While this worked, it introduced variability and required constant attention. The cheesemaker wanted to automate the process to simplify operation and ensure more consistent production.
Problem
From an automation perspective, the pneumatic side of the system could be controlled by adding two solenoid valves to manage airflow to the motor. However, what was missing was the control logic: the valves needed to be activated in sequence, based on configurable timing for startup and stirring phases.
Off-the-shelf solutions did exist, but they were very expensive industrial control systems that still required specialized programming. They were also far more complex than needed.
The goal was therefore to create the simplest possible purpose-built control system that fit the actual process.
Solution
I was brought in to design a prototype control circuit and firmware that would implement this logic, which they would then integrate with the existing pneumatic system.
The solution is a custom control circuit that drives the solenoid valves through relays. The system allows operators to configure the duration of each phase (startup and stirring) through a simple on-device interface.
At the core of the circuit is an ATmega328P microcontroller, programmed using the Arduino platform (Arduino Uno–compatible). I chose Arduino because it's great for rapid prototyping, and have lots of existing libraries for standard devices such as the LCD screen and rotary encoder that were used for the project.
Here are the features I built into the prototype :
- Configurable timing for startup and stirring phases.
- LCD display showing configuration menus and real-time process progress.
- Persistent settings, retained even when the controller is powered off.
- Simple one-button start for operators.
- Manual mode allowing operators to individually activate relays, useful for testing and adjusting pneumatic regulators.

Integration and outcome
The final mechanical assembly and installation of the control circuit enclosure, along with pneumatic connections, were completed by an employee at the dairy.
The prototype has been in active use during production for over a year and has reduced operator intervention during stirring while improving consistency and repeatability during cheesemaking. Since the initial deployment, additional programming has been added to add new settings for other cheeses that required different timing.