The FPP-3

  • Published

Design and Manufacture of a Film and Paper Processor

The Beginning

This adventure started after my last trip to the Dolomites in 2023. I ended up with more than 40 sheets of 4×5 film and several rolls of 35 mm film. At that time, I only had a self-made manual rotation device (which I called “Film Processor” v2, in short FP – 2) (see Fig. 1) and the smallest JOBO drum 2520. With this drum and the 2509 reel, a maximum of 6 sheets per batch can be processed. This means that  you needed minimum 8 loads with processing times of at least 30 min. I love developing films, it’s like therapy for me, but the manual work is tedious and you get tired. It is also difficult to maintain the same pace in order to keep a constant angular speed with three revolutions on each direction. These parameters are essential for uniform and reproducible development.
Fig. 1: The FP-2

While developing these sheets, my mind started to imagine how to mechanise this process in order to minimise development time, improve consistency and be able to better dedicate some of this time to print some of my best photographs. After some reflection, I came to the conclusion that I have few options: either I start saving a lot of money to buy a new JOBO CPP-3 (over 4K Euros); or I but a used JOBO system (e.g.,  CPA-2, CPP-2, CPE2 or  CPP-3) which cannot be found for less than 2K Euros; or I must design and build an automatic system that suits my needs.

I like challenges, so I decided to try to build an automated successor to FP -2. I liked this option because it also allows me to expand and improve this primitive device so that I should be able to develop not only film but also photographic paper up to 40×50 cm.

The CPP-3 can of course do that too, but as I said above, you have to make a large initial investment, not only for the processor, but also for a set of large drums that allow you to develop multiple rolls of film or sheets and paper.  JOBO offers several options for 4×5 and large formats, for example the Multitank 5 or the large Multi-Drum 3000 series (left). Unfortunately, JOBO does not manufacture the 2800 series (print drums) anymore.

I started reading in various forums and found valuable information (LFP-Forum, Photrio). For example, that the 2500 (film) and 2800 (paper) drum series are compatible, that the 2870 print extension module and the 2560 film drum extension module are definitely the same. That a print drum can be converted into a film drum by exchanging the cup for a funnel, etc.  It is only necessary  to pay attention to the core extensions, as the print drum (2831) is slightly longer than the film tank (2551). This modularity makes the JOBO system unique.

With this information, I was able to buy several components on eBay at a reasonable price and condition. Currently I have several tanks (2550 or now multi-tank 5, 2520, 2560 and 2830), a beaker, and several core elements (available as a set only in CatLabs). With these modules I can make various combinations fitting various needs.

Having the drums, I proceeded to design the device, which I called “Film and Paper Processor v3, abbreviated FPP-3“. There is a certain resemblance to the names used for the famous JOBO products, which I do not deny, however, the choice of letters describes exactly what this device is supposed to do.

Basic functions of the FPP-3

The conceptualisation of the FPP-3 was inspired by the “less but better” paradigm introduced by Dieter Rams (the mastermind behind the beautiful Braun 8 mm Nizo camera). According to Rams, good design: is innovative, makes the product useful, is aesthetic, is durable, is unobtrusive, is honest, is long-lasting, is environmentally friendly, is meticulous down to the last detail, among others. The features I envisage for the FPP-3 are:

  • a simple control panel;
  • few buttons to control motor start and stop, cycle time and rotation speed;
  • possibility to develop film and paper up to 40×50 cm, and
  • temperature control.
Fig.2 : Mock-up of the control panel

The control panel menu should be as simple as possible (Fig. 2). On the first attempt, no programmed development sequences will be programmed (e.g. for B&W, C41, or E6 films, or paper). 

I envisioned one button for on\&off and four keys in the keyboard to control the start (C), stop (D), and two to enter development time in minutes (A) or seconds(B). Numerical values are entered with the key (#) and corrections with (*). The angular velocity of the tanks will be controlled with the potentiometer hand turning button.

That’s all.

Components: Motor, Controler and Tray

The main criteria for the selection of components were: the electronic microcontroller should be cost-effective, open source and easy to learn, program and maintain.  The motor and brackets should be heavy-duty. The torque of the motor  should be enough to maintain the angular speed of 75 RPM with the largest possible tank. the JOBO 2850 (2830+2870), with full load of 4×5 or 120 film.  The tray should be black and made of high density polyethylene due to its durability,  higher rigidity, 100% recycled, thermal characteristics, and drillable.

The decision for the controller was easy: the Arduino Uno controller with a keyboard, a potentiometer and a 4-line LCD (Fig. 3)

Fig. 3: FPP-3 circuit under development

The first question that needed to be answered was how big a JOBO 2850 print drum should be. The only way to answer this question was to buy a drum and measure it (Fig. 4). JOBO does not provide drum dimensions in any user manual. Once I knew the maximum dimensions, I started looking for an HDPE containers. The best option I found was a heavy-duty 30 l tray with a drain from DENIOS. The dimensions of the tray were close to the ideal.

Fig. 4: Measuring the JOBO print drum 2850

The next question was, how powerful should the motor be to move a tank at 75 rpm (standard JOBO speed)? Using some knowledge of physics (moments of inertia of a cylinder, angular acceleration, torque, efficiencies, etc.), I concluded that the motor should have at least 1.5 Nm to avoid stall, without safety factors. Searching the internet, I found the torque of the original engine used in the CCP2 JOBO processor.

This fact confirmed my estimation. With these parameters (i.e. maximum angular velocity and torque) I searched for a suitable motor and gears. The search for the motor took me weeks. By chance I ended up at an amazing company goBILDA that produces high-quality, heavy-duty motors, gears and all kinds of components for building robots (Fig. 5). Two questions remain: how to build the motor mount and how to control a motor with an Arduino UNO?

Fig. 5: The motor and support now to be linked with the prototype circuit.


Writing the software to run the Arduino was a challenge because it was my first time programming a microcontroller in C. My previous experiences with Fortran helped me to organise the code, but the learning curve was steep. What helped me a lot were the amazing blogs by:

  1. DroneBotWorkshop: The master classes offered by Bill (thanks !)  helped me to understand and programm the operation of a 12V DC motor with an H-Bride, to setup a Keypad and a LCD display in Arduino. These tutorial we the best discovery i made in this project because I felt lost at the beginning.
  2.  The Arduino Forum: In this site I had the chance to ask direct questions to real experts (“gurus”) that helped me to understand how to devise am Arduino code to perform various operations. One of them suggested to introduced motor or development states (e.g. motor running, motor stopped, input data, stop). Without their support it would have taken me months to get the device working as I expected. Kudos to these amazing people who invest their time in helping students and amateurs like me achieve a goal just for their love of programming!

With his help, after a few weeks I had a prototype (Fig. 5). The code could move the engine back and forth, stop and start. Once this was done, refinements were programmed. For example, a potentiometer to control the angular speed of rotation, a countdown clock and the parameterisation of the rotation cycle.

I read in the amazing book THE ROTARY PROCESSOR MANUAL by John Tinsley, that a cycle should consist of three complete cycles for better results. Using this parameter, I devised equations to create acceleration/deceleration phases and one where the motor goes to maximum angular velocity controlled by the potentiometer. This allowed me to estimate the average angular velocity of the device. Based on the JOBO literature and Tinsley’s book I conclude that I need average angular speeds between 45 and 75 rpm to be able to develop film and paper. The details of these technical details can be read in the C code on my github.

External design

Finding a nice and functional layout for the controls mentioned above was a challenge. What I wanted was a minimalist system and the alternatives are almost endless. The JOBO systems were indeed a source of inspiration but the big systems are in my opinion (and others) too complicated for what I need. As the JOBO tanks have two colours (black and red), at least the colour selection was easy.

The next decision was on which side the knobs should be: on the left like on the JOBO processors or on the right? I decided to put them on the right (Fig. 6) because it seems more comfortable to me. Once this was decided, the space allocation was the next phase.

Fig. 6: 1st sketch of the console for the FPP-3

To facilitate the process, I built a mock-up out of cardboard (Fig. 7). Many sketches and shapes were attempted, but in the end I decided on a simple accessory consisting of two red plates and a black box on top to hold the main controls. This device is screwed to the tray. On the right side a space was designed to house an acrylic plate for the circuitry (Fig. 8). The electronics cover was made of a nice perforated aluminium sheet. The structure holding the controls and the motor was made of aluminium metal profiles.

The potentiometer button was 3D printed in PLA by 3DDesign24 with a dxf design provided by Thingiverse (CC BY).

Fig. 7. Final mockup of the console

The tray lid was designed to hold a maximum of seven 1000 ml plastic bottles (e.g., Kaiser or JOBO bottles, Fig. 9). The position of the tank was another issue that was carefully considered. Basically there are two options: either the bottles are at the front of the tray (as in the JOBO processors) or at the back. With the experience gained with my simple manual processor (v2) and my own workflow, I decided that it is more practical for me to have all the bottles for the solutions at the back. This means less effort during the different stages of film/paper development because there is no plan (or need) to have a lifting mechanism similar to the CPE-2. This decision makes the design as simpler.

Fig. 8: Acrylic plate for mounting the circuits. | This photography was taken with a Minolta X-700 | Cinestill 400 | Development: C41 (Jobo chemistry) and the FPP-3. This roll was the second developed in this processor.
Fig. 9: Tray lid and plates designed and cut.

For the design of the different boards I have used two open source CAD programs, namely freeCAD and LibreCAD. The latter  is much easier to use than the former but only for 2D drawing. Using LibreCAD I generated dxf files for the production of the plates. I selected 3 mm transparent polycarbonate plates for the circuit boards, black high-density polyethylene (3 mm) for the internal partitions and case covers, and 3 mm RAL 3020 PVC hard foam board for the tray cover and the side plates of the device. The final result can be seen in Fig. 10.

Fig. 10: FPP-3 ensembled and last version of the code uploaded.

Materials and production price

The complete list of materials and unit costs, as well as detailed instructions for building the FPP-3 can be provided to anyone interested. The total cost of the FPP-3 is however much lower than that of a used CPE-2 on eBay. I have invested at least three months for the planning and realisation.

Building the FPP-3 was a great experience for me. I learned a lot!  The construction was done in a period of three to four weeks (not full time). The search for
suitable materials was, however, time-consuming.


The FPP-3 has now been tested with the following JOBO tanks: 2551, 2551 (new Multitank 5), 2830, 2840. Ilford MGRC paper glossy (30×40 cm) was used for the 1st test (Fig. 11). The results were excellent.

The volume of chemicals caused me difficulties because the information from JOBO is sometimes contradictory. However, I found good information in these links (Classic-photo-supplies) and in John Tinsley’s book mentioned above.

The drums have to be accurately levelled (I levelled the inner side) and checked the coverage of the suggested minimum quantities. I provide at least at least 10% more than necessary to minimise errors.

As for the tested angular speeds (ω), good results have been obtained with 73 RPM average ω for the paper (reversing every 3 turns) and 60 RPM for the E6 chemistry. The water bath temperature is set to 39.8 C so that the solutions are at 38 C for color film. For paper and B&W, water bath temperature is
set to 20 C.

Fig. 11: 1st test of the FPP-3 with Ilford MGRC paper (30x40 cm). Enlarger LPL 7451 | S-K Componon 150 mm lens | Negative: T-max 100.

This Post Has 2 Comments

  1. Pedro Jose

    Que genialidad!
    Gran trabajo y excelente historia desde el concepto, pruebas, mejorías, y producto final! Me encantó.


Leave a Reply