Introduction: Film Developing Timer & Twiddler

Build a B&W Film Developer Timer & optional AutoTwiddler. Cheap-Easy-it-Works


Following on from my successful 'Build a shutter tester for focal plane shutters, cheap, easy & it works'

Here is my design of a timer for B&W film developing.

Many, like myself, use a stopwatch or a three line LCD timer, however, I thought it would be good to move into the 21st century with a colour screen & better functionality.

The developing timer allows the user to easily program the, initial & secondary agitations and interval, as well as stop & fix times, by turning a dial.

The screen then steps though each process, showing green when running, yellow to give a 10 second warning of an action to take place (agitation for example) and then highlighted as the user has to carry out the action. Finished tasks then become grey. An audible cue will also be added.

Additionally, for twiddlers like myself, the timer drives a stepper motor to carry out all of the development agitation tasks & also stop & fix agitation if required. I will leave the debate as to whether to twiddle or not, to others. Myself, I find it much easier to leave the developing tank in the water bath and twiddle. It maintains a better temperature, does not aerate the developer, stops water dripping & alleviates the threat of spillage during agitations.

The hardware is all cheaply available on Aliexpress & uses many of the same parts as the shutter tester. Where possible, I have kept the wiring identical. Basic practical skills are required to build the timer. All of the required electronic modules are pre-built, so there is little or no soldering required, as push-fit or screw terminals are used for the connections.

Optionally, a li-po battery can be added, which is automatically charged & will power the timer in the event of a power failure.

Forum can be found here https://www.photrio.com/forum/threads/build-a-b-w-film-developing-timer-twiddler-cheap-easy-it-works.204682/#post-2766843

Supplies

Parts are easily obtained from Aliexpress, Bangood or Ebay.

There are no PCBs to be made, nor parts to be 3d printed. The Developing Timer has been designed to use easily available parts & to use pre-made Dupont wires & screw-terminals where possible to minimise or eliminate any soldering.

The main items are,

ESP32 Development board & optional li-po battery.

Breakout board for ESP32 (eliminating the need for soldering).

Dupont wires.

Buttons.

TFT colour screen.

rotary Encoder.

Piezo Sounder.

Project box.

Optional parts if automatic twiddling required:-

Stepper Motor.

Stepper Driver.

Breakout Board.

DC Power Supply.

Additional wirew, switches are required, all detailed in the step below.

Step 1: Parts Required

Here is a document containing a full list of parts required & links to AliExpress.

Step 2: Hardware Build

Any suitably sized box could be used to house the Developing Timer. A template is given for the suggested size box.

It is a tight squeeze to get the TFT and buttons on the front panel, ensure the tft screen is mounted as high as possible, to allow space below for the buttons.

Unless using the pre-wired buttons, then soldering will be required, Be careful when soldering the buttons as they are easily melted is too much heat is applied.

Full details are given in the document below, including the template.

Step 3: Wiring Guide.

The majority of the wiring is accomplished by using pre-made Dupont wires, which do not require soldering.

Silicone hook-up wire 22 gauge can be used for soldered connections. This wire can be purchased in short lengths or boxed multicolour reels from AliExpress. Using multi-colour helps identify the wires (Red 5V, Brown 3V, Black 0V etc) but does add to the cost. Be careful not to mis-sire, especially the +volts and ground 0V.

Step 4: Adding Driver to PC for Firmware Load

Firmware has to be loaded to the ESP32 Development board, via it's USB connecter from a PC. The USB chip on the board will be CH340 or CP2102. If your computer does not recognise the board when plugged in, the USB driver must be loaded. The drivers can be found on-line or on the GitHub page.

The document below describes how to do this.

Step 5: Load Firmware to ESP32

Instructables does not allow hosting of the .bin Firmware, or the program used to load the Firmware, so these must be downloaded from GitHub.

billbill100/Build-a-B-W-Film-Developer-Timer-Auto-Twiddler-Cheap-Easy-it-Works: Build a Black & White Film Developing Timer with optional motor driven twiddler for agitation (github.com)

The Firmware turn is loaded to the ESP32 Development Board from the PC, using a USB cable, using a program called Flash Download Tool.

Full details ar in the document below.


Step 6: Operating Guide

Below is the Operating guide, photos cannot be inserted on the Instructables platform, so please download the full Developing Timer Operating Guide pdf


I would really be grateful if you start to build the Developing Timer, that you go to the Photrio thread and say hi. Also please post photos of your completed tester.

Please refer to Photrio for further build help & to let us know you are building the timer.

Build a B&W film developing timer & twiddler - Cheap, Easy & it Works | Photrio.com Photography Forums

GitHub repository where all documentation & code can be found. billbill100 (github.com)

V1.0 25/02/2024

Developing Timer Operating Instructions

The Developing Timer works in exactly the same way as if one were using a standard timer or stopwatch.

However, by setting some basic parameters, the Developing Timer will step though each stage of the develop/stop/fix process, audibly and visually alerting the user that another operation is shortly due, or is taking place.

In this way, the user does not have to constantly watch the timer or have to remember when to stop developing or when and how long each agitation should be etc.

The Developing Timer is a modern take on the basic three-line LCD developing timers one can purchase, with dev/stop/fix times. Now using a modern colour display, easy time input with both visual & audible prompts & warnings.

It has been designed to be easy to use. Just press one knob to select the different times and turn the same knob to change them.

It is presumed the standard method of development timings are used. Developer is poured in and then the timer started. 10 seconds before end of development, the developer is poured out, with the Stop bath being poured in exactly at the end of development time.

To set the times:

Pressing the Blue knob once will place a red mark next to the Develop Time.

Turning the Blue knob will allow the developing time to be set. A maximum development time of 99 minutes 59 seconds can be set.

Pressing the Blue knob a second time, moves the red mark to the next line, Initial Agitate.

Turning the Blue knob will allow the Initial Agitation time to be set.

Pressing the Blue knob a third time, moves the red mark to the next line, Agitate Every.

Turning the Blue knob changes the interval between secondary agitations.

Pressing the Blue knob a fourth time, moves the red mark to the next line, Secondary Ag(itation) Time.

Turning the Blue knob changes the length of each secondary agitation.

Pressing the Blue knob a fifth time allows setting of the Stop bath time and a final press allows setting of the Fix bath time. A maximum time of 60 minutes can be set for these.

As an example, developing Ilford FP4 in ID11.

The developing time is set at 11 minutes.

Initial Agitation is 30 seconds

Secondary agitation is every 60 seconds (1 minute)

and each secondary agitation is performed for 10 seconds.


Note:- as with normal manual development, all timings are taken from development start. So initial agitation is from start of development time for 30 seconds. Secondary agitation interval (Agitate Every) is also taken from start of development time. So, in this example, agitations will take place exactly on the minute, for 10 seconds duration.


Stop bath has no programmable agitation times & it is usual for the stop bath to be continually agitated.

Visual prompt will be given, but there will be no audible warnings until 10 seconds before Fix Time ends.

Auto-Twiddle, if selected, will turn for the whole Stop Bath time.

Fix bath gives initial agitation of 10 seconds and further agitations on the minute, of 10 seconds. Audible and visual notifications are given.

Auto-Twiddle, if selected, will turn for 10 seconds every minute




To start the Developing Sequence.

Pour in the developer & Press the Green button.

Immediately, Develop Time will start counting down.

At the same time, the Initial Agitation time will start to countdown, highlighted in Yellow/Red, with a deep pitch audible alert and on-screen prompt, requesting the user to start agitating.

This will continue until the Initial Agitation time has counted down to zero.

In our example, this will be from 11.00 minutes to 10.30 minutes, i.e 30 seconds.

The Agitate Every timer will also be counting down and 10 seconds before secondary agitation is due to take place, the Develop Time will change colour to Yellow and a high pitch audible alert will be heard, to notify the user that an an action, soon required.

In our example this will start at 10.10 and end at 10.00

When   Agitate Every timer has counted down to 0, the Secondary Ag(itation time)  will be highlighted Red/Yellow, with a deep pitch audible alert and on-screen prompt, requesting the user to start agitating.

(in our example, this will start at 10.00 and end at 9.50)

The sequence of Agitate Everyand Secondary Ag(itation time) will repeat for the length of the developing time. In our example, 10 seconds before each complete minute, the high pitch warning will be heard & on the minute, a deep tone will be heard, prompting the user to start agitating.

Note: No agitations will be performed within the final 20 seconds of development time.

20 seconds before Develop Time ends, Develop Time will be highlighted in Yellow and a high pitch auditable tone heard, to warn the user that an action will be required in 10 seconds.

10 seconds before Develop Time ends, the tone will change to a deep tone, with an on-screen prompt, instructing the user to pour out the developer, A tri-tone will be heard at end of development time.

The Stop bath should be poured in immediately at the end of the development time. In our example, 11 minutes.

This completes the Developer cycle and the timer will pause, with an on-screen prompt, waiting for user input.


The Stop Bath.

When the Stop bath has been poured in, press the Green button.

The Stop Time will now count down for the allotted time.

As the stop bath is a very short duration & is normally agitated for the whole duration, the Stop Time will be highlighted Yellow/Red for the whole countdown period, but there will be no audible agitation warning.

10 seconds before the end, a deep pitch audible alert will be heard. At the end of Stop Time, a tri-tone will be heard & an on-screen message to pour out stop bath & pour in Fix bath.

The Fix Bath.

When the Fix bath has been poured in, press the Green button.

The Fix Time assumes standard fixing of agitation for the first 10 seconds and 10 seconds every minute.

For the first 10 seconds, Fix Time will be highlighted Yellow/Red, on-screen prompt & a deep audible tone, alerting the user to agitate.

For 10 seconds every minute, the same warnings will be given, whilst Fix Time counts down to 0.

At the end of which, a tri-tone will be heard & the screen will prompt to wash film.

Pressing the Black button will reset the Developing Timer, ready for another developing cycle.

Auto-Twiddler.

If the optional stepper motor is installed, it works as follows.

Pour in the developer and press the Green button to start development, tap the tank to dislodge bubbles and place the Auto-Twiddle mechanism onto the developing tank.

To start auto-twiddling Press the Yellow button. The Auto-Twiddle icon will turn yellow & run for the duration of Initial Agitate time.

When secondary agitations are required, the motor will automatically start to turn.

The speed of auto-twiddling is adjusted by turning the Blue knob during Development. The RPM is shown on the display.

The auto twiddler can be turned off at any time by pressing the Yellow button. Auto-Twiddle will turn Grey on the screen and the motor (if running) will stop. Pressing Yellow againthe button will re-activate auto-twiddling.

At the end of development, the auto-twiddler turns itself off and the Yellow button must be pressed for auto-twiddling if required during the Stop Bath process.

Similarly, at the end of the Stop Bath process, the auto-twiddler turns itself off and the Yellow button must be pressed for auto-twiddling if required during the Fix Bath process.

The design & build of the auto-twiddler mechanism is left up to the user. It is noted that the cheap Chinese developing tanks also raise and lower the film holding spiral during twiddling, which is an upgrade to the standard Paterson rotation only. Jobo & its clones have no provision for twiddling.

Important Notes.

It is important that the film is orientated correctly into the developing tank if twiddling (manual or auto). The film should be wound clockwise, starting from centre to the outside, when looking from above. This way, when twiddling (clockwise), fresh stock will be pulled into the film leading edge and pushed though the film.


Film wound & loaded clockwise in developing tank, when viewed from above



General Notes.

Initial agitation time cannot be set longer than development time – 20 seconds.

Secondary agitations will not be performed in the final 20 seconds of development.

Secondary agitation will not start until at least 20s after initial agitation has finished.

If the E-stop button is pushed whist motor is running, the motor will stop dead, with no deceleration.

To save the current settings, press and hold the Black button, press the Green button and release both. The Developing Timer give a high pitch tone. This can only be performed when not in a developing cycle.

To Factory Rest to default parameters, press and hold the Black button, press the Yellow button and release both. The Developing Timer will blow a raspberry & reset. This can only be performed when not in a developing cycle.

The Black button may be pressed at the end of the development or stop cycle & it will reset the Development Timer back to the setup screen.

The debate as to agitate by inversion or twiddling will go on forever.

With Patterson tanks, one has the choice of either, whereas Jobo has no provision for twiddling & the Chinese tanks can only be twiddled and not inverted.

From my own experimentation, I have found twiddling every bit as good as inversion, with the added benefit that there is no chance of chemical leaks or the lid popping off whilst inverted. It also stops over aeration of the Developer, especially if only developing one film in a multi-film tank (Patterson themselves warn of over vigorous agitation in this situation)

When using a water bath, as I always do, to maintain an even temperature, one does not get water everywhere during the agitations.

The water bath, I use for the rinse, as it is at the correct temperature, using the method Patterson describe. Auto-twiddling ensures that no errant chemical has found its way into the water bath.


I would really be grateful if you start to build the Developing Timer, that you go to the Photrio thread and say hi. Also please post photos of your completed tester.

Please refer to Photrio for further build help & to let us know you are building the timer.

Build a B&W film developing timer & twiddler - Cheap, Easy & it Works | Photrio.com Photography Forums

GitHub repository where all documentation & code can be found. billbill100 (github.com)


Step 7: Optional Auto-Twiddler

The debate as to whether to twiddle or invert will go on forever. Personally, I'm a twiddler. Using a water bath & twiddling, means the tank stays in the water bath for the full development time, thus maintaining a stable temperature.

Inversion can also cause over agitation and additional unwanted aeration of the chemicals. Especially if using a double reel tank with just a single film. Ilford themselves warn of this.

There is the issue of water splashes all over the place when agitating.

There is also the increased risk of chemical spills, should the lid leak or has not been seated correctly.

As I use the water bath for the final rinse, I do not want the water contaminated with chemicals.

The development Timer incorporates the option to fit a stepper motor, which will carry out all of the twiddles. The stepper motor accelerates and decelerates to the set speed, to avoid any sudden shocks. The user can vary the speed of rotation.

For users of the Patterson Super 4 tank, two files are attached, to 3d print a tank lid incorporating the stepper motor fixing holes and teeth to engage with the tank serrated edge.

A replacement twiddling stick, which connects directly to the stepper motor shaft.. (coming soon)

Without a 3d printer, a suitable lid can easily be cut from a

piece of ply or plastic. It is important that the lid cannot rotate, else there

is the possibility of it turning, rather than the reels. With the Patterson

Super 4, this is easy to achieve due to the serrated rim of the tank.


There are two stl files available, to 3d print

Patterson Tank Lid.stl incorporating a stepper motor mount & teeth to engage with the Patterson tank rim.

Twiddle Stick.stl A replacement twiddling stick that mounts directly to the stepper motor shaft.