A note on the name. “Panterla One” is the working name for this automatic film developing machine — nothing is finalized yet, but it’s the name used for the project going forward in these engineering logs.
Summary. I tested direct heating as a replacement for the traditional water bath in the Panterla automatic film development machine. The prototype used a 24 V / 150 W immersion heater, approximately 500 ml of water, active circulation, a digital temperature probe, and closed-loop temperature control. The measured linear heating rate was 3.59°C/min, corresponding to an extrapolated 20→38°C heat-up time of 5.02 minutes. During a separate steady-state test, the recorded temperature had a standard deviation of only 0.033°C over the analyzed four-minute window. The experiment also exposed a separate problem: the control probe and external logger disagreed by about 0.3°C, showing why stability and absolute accuracy must be treated as two different engineering problems.
Why I’m testing direct heating
Temperature control is one of the central engineering problems in Panterla.
Most small film-processing systems solve it in a familiar way: chemistry bottles and the processing tank sit inside a large heated water bath. It works, and machines such as the Jobo CPE prove that it can work very well. But a water bath also brings several disadvantages that become important when the goal is to build a compact, fast and highly controlled automatic processor.
The main problem is that the bath is not the thing we actually need to control.
The chemistry is.
With an indirect system there are several temperatures in the machine at the same time:
- the water-bath temperature;
- the temperature inside each chemistry bottle;
- the wall temperature of each bottle;
- the temperature of the processing tank or drum;
- and finally the temperature of the chemistry during the actual process.
Those temperatures are coupled, but they are not identical. Heat has to move through plastic walls, imperfect contact surfaces and boundary layers. Convection and mixing differ from container to container. A large bath also behaves as a thermal accumulator: before it can stabilize anything else, several liters of water have to be heated first.
That’s acceptable in an existing manual machine. But if I’m designing a new machine from scratch, I’d rather remove as many unnecessary thermal interfaces as possible.
The idea behind this experiment was therefore very simple:
Instead of heating a bath around the chemistry, heat the chemistry itself.
What I tested before
Direct immersion heating was not the first approach.
1. Heated air chamber
One of the earlier concepts was essentially a heated dry box. Chemistry bottles would sit inside an insulated enclosure while warm air heated them from the outside.
This works in principle, but air is not a particularly effective heat-transfer medium for this job. The system becomes slow, the chamber itself has to warm up, and the chemistry lags behind the air temperature.
2. External silicone heater pads
The next experiment moved the heater directly onto the bottle. Silicone heater pads improved the situation, but the fundamental thermal problem remained.
The heat still had to travel through:
- the heater;
- the contact interface;
- the bottle wall;
- and finally into the liquid.
The contact between a flexible heater and a removable bottle is never perfect. This means the outer surface can become significantly hotter while the liquid inside is still catching up. That delay makes precise control more difficult and creates exactly the kind of thermal lag I want to avoid.
Both concepts worked, but neither gave me the combination of speed, compactness and direct temperature control I was looking for.
The direct-heating prototype
For the new experiment I simplified the thermal path as much as possible.
The test setup consisted of:
- approximately 500 ml of water;
- a 24 V / 150 W immersion heater;
- a digital temperature probe;
- a 3D-printed holder for the heater and sensor;
- a small circulation pump;
- closed-loop temperature-control software;
- an independently calibrated external temperature logger for comparison.
I also moved the electronics from a loose breadboard-style arrangement onto a more rigid prototype board and printed a protective enclosure for the temperature-sensor electronics. When liquid and electronics are working next to each other, mechanical packaging becomes part of the experiment very quickly.
The heater and temperature probe were mounted directly inside the prototype reservoir.
At first I tested the heater in stationary water.
That immediately exposed the most important design requirement of the entire experiment.
Direct heating needs active mixing
Without circulation, the result was poor.
A powerful heater creates a strong local temperature gradient around itself. The sensor can then measure a temperature that is not representative of the bulk liquid, while the liquid farther away from the heater remains cooler.
Once I added active circulation, the behavior changed completely.
The heater was no longer trying to warm a small stationary volume around itself. Energy was continuously carried away and distributed through the reservoir. The temperature sensor also started seeing something much closer to the real bulk temperature.
For Panterla, this leads to a simple design rule:
Direct heating and active mixing should be treated as one subsystem, not two independent features.
Fortunately, this is not a major penalty. Film chemistry needs agitation or mixing anyway. The thermal system can take advantage of a function that the process already requires.
Experiment 1 — Heating speed
The first measurement was designed to answer the most basic question:
Is a small 24 V heater actually powerful enough?
Figure 1 — Sample 1. Measured temperature and linear heating fit. The fitted heating rate is 3.59°C/min. The extrapolated time from 20°C to 38°C is 5.02 minutes.
The answer is clearly yes.
The linear section of the measured curve gives a heating rate of:
3.59°C/min
The fit was calculated over the approximately linear part of the run, from 0.35 to 3.80 minutes.
Extrapolating that rate gives:
20°C → 38°C in 5.02 minutes
Because the test was performed during a hot Belgrade summer, the actual starting temperature was already around 25–26°C. From that starting point, reaching the C-41 working region took only a few minutes.
This is important because the heater is not a mains-powered industrial element. It’s only 150 W at 24 V.
Why 24 V matters
I specifically wanted to know whether Panterla could remain a low-voltage machine.
A 24 V architecture is attractive because it’s common in 3D printers, CNC equipment and automation hardware. Motors, power supplies, MOSFET modules, heaters, pumps and many control components are readily available in this ecosystem.
Staying at 24 V also means that the main thermal and motion systems don’t need to be designed around exposed 230 V mains switching inside a wet machine.
That simplifies the build and makes the open-source design much more approachable.
An engineering sanity check
The measured heating rate also makes physical sense.
For approximately 0.5 kg of water, the thermal energy required for a 20→38°C rise follows the standard formula: energy equals mass times specific heat capacity times temperature change.
Using a mass of about 0.5 kg, water’s specific heat capacity of about 4186 J/(kg·K), and a temperature rise of 18 K, that works out to roughly 37.7 kJ of energy needed.
With an ideal 150 W heater and zero losses, that amount of energy would take about 37,700 joules divided by 150 watts — roughly 251 seconds, or about 4.19 minutes.
The measured linear extrapolation is 5.02 minutes.
Another way to look at it is to calculate the effective heat input represented by the measured slope — mass times specific heat capacity times the measured rate of temperature change. At 3.59°C/min, the bulk liquid is absorbing approximately 125 W during the linear region.
That’s about 84% of the heater’s nominal 150 W rating if we treat the test volume as exactly 500 ml of water.
This is only a derived engineering estimate, not a calibrated calorimetric efficiency measurement. The exact water volume, heater rating, container heat capacity and environmental losses all affect the number. But it’s a useful sanity check: the measured heating curve is completely plausible for a 150 W element.
Experiment 2 — Temperature stability
Fast heating alone is not enough.
For color processing, reaching 38°C quickly is useful, but the real requirement is maintaining the process temperature once the system has settled.
The second sample therefore looked at a steady-state period after control had stabilized.
Figure 2 — Sample 2. Four-minute stability window. The 30 s moving mean is shown together with the local ±1σ band.
For the analyzed interval:
- mean temperature: 38.324°C
- standard deviation: 0.033°C
The standard deviation is the number I find most interesting here.
A variation of only a few hundredths of a degree over this short steady-state window shows that the combination of direct heating, active circulation and feedback control can be extremely stable.
But the mean value also exposed another problem.
The target was nominally around 38°C, yet the external logger reported a mean around 38.3°C. During the experiment I found that the control sensor and my independently calibrated logger had developed an offset of approximately 0.3°C.
This gives us an important distinction:
Stability is not the same as accuracy
A temperature-control system can be extremely stable around the wrong absolute temperature.
In this experiment:
- stability was excellent;
- absolute sensor agreement was not yet good enough.
That doesn’t invalidate the heater test. It tells me that sensor calibration, drift and cross-checking need to be treated as their own subsystem in the final machine.
A controller cannot correct an offset it doesn’t know exists.
For Panterla, I therefore want to separate these specifications explicitly:
- short-term temperature stability;
- absolute temperature accuracy;
- sensor-to-sensor agreement;
- long-term drift.
The direct-heating experiment answers the first one very positively. The others still need dedicated validation.
Why the heater didn’t simply cook the liquid around it
One concern with immersion heating is obvious: the heating element itself is much hotter internally than the target liquid temperature.
So what happens to the chemistry directly touching the heater?
This was one of the reasons I wanted to test the concept physically rather than only simulate it.
With stationary liquid, I wouldn’t trust the system. Local hot zones are exactly what you’d expect.
With continuous circulation, however, the energy is rapidly carried away from the element and distributed through the reservoir. In the water experiment I didn’t observe behavior suggesting that the bulk liquid was being locally driven to extreme temperatures while the rest remained cold.
The key is that the heater cannot be considered on its own.
The practical thermal subsystem is:
heater + circulation + temperature sensing + control algorithm
Remove the circulation and the concept becomes much less attractive.
Experiment 3 — Cycling and transfer behavior
The third test was deliberately more dynamic.
I moved water between reservoirs and recorded the temperature profiles to see how the direct-heated tank behaved when repeatedly disturbed instead of simply sitting at equilibrium.
Figure 3 — Sample 3. Temperature profiles from the two logged channels during repeated transfer and reheating.
Channel 1 represents the temperature in the reservoir with the direct heater. The repeated drops and recoveries show what happens when the thermal system is disturbed and then has to return toward the target.
The important observation is what happens close to the setpoint.
My controller intentionally reduces heating power as the measured temperature approaches the target. That’s exactly what prevents a large overshoot, but it also means the final part of the recovery is slower than the full-power heating rate would suggest.
You can always reheat faster by keeping the heater at 100% power for longer.
You just lose precision when you arrive.
That trade-off killed one of my earlier machine concepts.
Why one heated tank is not enough for instant cycling
One idea was to use a single directly heated reservoir and repeatedly return chemistry to it between process steps. In theory, the liquid could be poured back, reheated immediately, and used again while the film waited for the next stage.
The cycling test showed why this is not ideal if temperature precision matters.
The large temperature correction is fast. The last fraction of a degree is not.
Near the setpoint the controller has to become conservative, otherwise stored heat in the metal element and the liquid circulation will cause overshoot.
So although direct heating is very fast, it’s not magic. It doesn’t make a disturbed chemical reservoir instantaneously ready for another precision process step.
That’s an extremely useful negative result because it removes an architectural path before I spend time building the full machine around it.
A note about the Sample 3 statistics
Figure 4 — Sample 3 shown as a moving mean and local standard-deviation band over the full dynamic run.
The global values shown on this plot are:
- mean: 36.266°C
- standard deviation: 1.804°C
These numbers should not be compared directly with the 0.033°C standard deviation from the steady-state test.
Sample 3 is intentionally non-stationary: the liquid is being transferred, cooled and reheated. A single standard deviation calculated across the entire dynamic profile mostly describes the size of those process transitions. It’s not a measure of temperature-controller stability at the setpoint.
This is why Sample 2 is the relevant result when discussing steady-state regulation, while Sample 3 is useful for understanding recovery behavior and machine sequencing.
What this changes in Panterla
This experiment started as a test of one heater.
It’s now affecting the architecture of the entire machine.
| Question | Result |
|---|---|
| Can ~500 ml be heated directly with a small low-voltage element? | Yes |
| Heater used | 24 V / 150 W |
| Measured linear heating rate | 3.59°C/min |
| Extrapolated 20→38°C time | 5.02 min |
| Is active mixing required? | Yes |
| Can the system hold temperature steadily? | Yes — 0.033°C σ in the analyzed steady-state window |
| Is sensor calibration solved? | No — ~0.3°C offset/drift was observed between probes |
| Is a large water bath necessary for this architecture? | The experiment strongly suggests no |
| Can one tank be disturbed and instantly precision-reheated between stages? | Not reliably enough for the architecture I had in mind |
For me, the biggest conclusion is that Panterla no longer needs to be designed around a traditional water bath.
A water bath adds thermal mass, volume and warm-up time. Direct heating instead gives the controller access to the variable that matters: the temperature of the process liquid itself.
From chemistry transfer to a compact dip-and-dunk machine
The result also raises a more fundamental question.
If each chemistry reservoir is already:
- small;
- independently heated;
- actively mixed;
- continuously monitored;
- and potentially replenished automatically;
then why move chemistry around at all?
Why not move the film?
This brings me back to a compact dip-and-dunk architecture.
Instead of one drum receiving several chemicals, Panterla could use several relatively small permanent process tanks — perhaps around 0.5 to 1 liter each — while the machine moves the film or reel from stage to stage.
Each tank could maintain its own process conditions continuously.
With automatic replenishment, a small-volume tank could receive a calculated dose of fresh chemistry after each roll or after a defined amount of processed film. The chemistry would remain mixed and already at operating temperature instead of being repeatedly transferred, heated and returned.
A complete machine could then contain:
- a small dark loading compartment where film is loaded onto a reel;
- several independent processing stations;
- automatic vertical transfer between the stations;
- active mixing and direct temperature control in each tank;
- replenishment pumps or syringe dosing;
- a final drying station.
This is not yet the final Panterla architecture, but after the direct-heating test it has become much more attractive.
The next problem: cooling
A resistive immersion heater solves only half of the thermal problem.
It can add heat.
It cannot remove it.
For C-41, ECN-type warm processes and other elevated-temperature workflows, that’s already useful. But black-and-white processing has the opposite problem during summer: the room can easily be warmer than the required 20°C process temperature.
Heating 20°C chemistry to 38°C is easy.
Cooling 27°C chemistry to 20°C and holding it there is a different problem entirely.
That’s why the next thermal experiment is likely to use a thermoelectric / Peltier system.
A universal heated and cooled process tank
The concept I want to test next is a reservoir with a metal thermal interface — most likely in the bottom or side wall — connected to a thermoelectric module.
Instead of only generating heat, the thermal system could move heat in either direction.
In principle, the same tank could then:
- heat C-41 chemistry to around 38°C;
- cool black-and-white chemistry to around 20°C;
- stabilize either temperature automatically;
- keep the liquid actively mixed;
- and remain part of the same modular processing architecture.
That would turn the thermal subsystem from a simple heater into a bidirectional temperature-control platform.
And that’s much closer to what I ultimately want Panterla to become: not a machine designed around one process, but a flexible open-source processing platform.
What this experiment does not prove yet
The results are very encouraging, but there are still several things I don’t want to pretend are solved.
Chemical compatibility. These tests used water. Long-term immersion of the heating element in actual developer, bleach, fixer and other process chemistry still needs to be validated. Material compatibility, corrosion, contamination and cleaning all matter.
Performance at larger volume. The demonstrated result is based on approximately 500 ml. A 1 liter reservoir will contain roughly twice the thermal mass, so the heater power and expected warm-up time need to be tested at the actual Panterla tank volume.
Local heater-surface temperature. Circulation clearly improves the situation, but I still want to characterize heater surface temperature and flow requirements before declaring the design chemically safe for every process.
Absolute temperature accuracy. The ~0.3°C disagreement between probes is a reminder that excellent PID behavior doesn’t automatically mean the chemistry is at the correct absolute temperature. Sensor calibration and drift compensation require their own validation procedure.
Long-duration operation. A four-minute stability window is useful, but the final machine should also be characterized over complete processing sessions and repeated cycles.
Cooling performance. The Peltier concept is still a concept. Heating was experimentally demonstrated here; active cooling was not.
These are now the next engineering questions rather than reasons to return to the water bath.
Conclusion
The direct-heating experiment gave me the result I was hoping for.
A simple 24 V / 150 W immersion heater, used with active circulation and closed-loop control, can heat a small process volume extremely quickly and hold it with very high short-term stability.
The measured result was:
Key result: 3.59°C/min heating rate on approximately 500 ml, with an extrapolated 20→38°C time of 5.02 minutes. In a separate steady-state window, the measured temperature had σ = 0.033°C.
The experiment also gave me two equally valuable limitations:
- sensor stability and absolute sensor accuracy are separate problems;
- a reservoir can recover quickly from a large temperature change, but precision recovery near the setpoint still takes time.
That means direct heating is not only faster than the indirect concepts I tested before. It also simplifies the machine enough to make a different architecture possible.
At this point I’m confident that direct thermal control is the direction I want to continue with for Panterla.
The next question is no longer whether we can remove the water bath.
The next question is whether the same compact process tank can both heat and cool.
If the Peltier experiment works, Panterla could have independent, actively mixed tanks capable of holding the exact temperature required by C-41, black-and-white and potentially many other processes — without a traditional water bath at all.
That’s the next test.
Support the project
Panterla is being developed as an open-source automatic film processing machine, and experiments like this are funded by the NordicLab community.
If you want to support the next prototype — including the bidirectional heating/cooling experiment — you can support the project through Ko-fi and follow the development on YouTube and Instagram.
See you under the safe light.
