FPP-3: DIY Film and Paper Processor

  • Published

Discover the FPP-3, a DIY film and paper processor using Arduino automation and 3D-printed parts. Explore features, setup, and benefits for film enthusiasts.

Processing was tedious and time-consuming with only a manual rotation device and a small JOBO 2520 drum. Determined to improve efficiency, I developed the Film and paper processor v3 (FPP-3), which streamlines the process, ensuring uniform and reproducible results with less effort and time, utilizing Arduino automation, and 3D printing. Here the story of the DIY project.

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, the previous manual version

While developing these sheets, my mind started to imagine how to mechanize this process to minimize development time, improve consistency, and better dedicate some time to printing some of my best photographs. After some reflection, I concluded that I have a few options: either I start saving a lot of money to buy a new JOBO CPP-3 (over 4K Euros); or I buy 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 conceptualization 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, and 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 (Figure 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 a 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 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 stalls, 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.

Software

Writing the software to run the Arduino was a real challenge, as it was my first time programming a microcontroller in C. My previous experience with Fortran helped me structure the code, but the learning curve was steep. What truly helped were the excellent blogs by:

  1. DroneBotWorkshop: The master classes offered by Bill (thanks !)  helped me to understand and program the operation of a 12 V DC motor with an H-Bride, to set up a Keypad and a LCD display in Arduino. These tutorials were the best discovery I made in this project because I felt lost at the beginning.
  2.  The Arduino Forum: On this site, I had the chance to ask direct questions to real experts (“gurus”) which helped me to understand how to devise an Arduino code to perform various operations. One of them suggested introducing 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, I had a working prototype within a few weeks (Fig. 5). The initial code was able to move the motor back and forth, and to start and stop it on command. Once this basic functionality was in place, I began implementing refinements—such as a potentiometer to control the rotation speed, a countdown timer, and parameterized rotation cycles.

I read in the excellent book THE ROTARY PROCESSOR MANUAL by John Tinsley, that an effective development cycle should consist of three complete rotations for optimal results. Using this guideline, I developed equations to define acceleration and deceleration phases, along with a steady-state phase where the motor reaches its maximum angular velocity, as controlled by a potentiometer. This approach allowed me to estimate the device’s average angular speed. Based on JOBO literature and Tinsley’s recommendations, I concluded that an average speed between 45 and 75 RPM is ideal for developing both film and paper. Further technical details—including the implementation—can be found in the C code available on my github.

External design

Designing a clean and functional layout for the controls proved to be a real challenge. I aimed for a minimalist system, but the possible configurations seemed endless. The JOBO processors served as a source of inspiration, though I found their larger systems unnecessarily complex for my needs—a view shared by others as well. However, the color scheme was an easy decision: with JOBO’s signature black and red tanks, I adopted the same palette.

The next question was the placement of the control knobs—should they go on the left, like on the JOBO units, or on the right? I chose the right side (Fig. 6), as it felt more natural and comfortable to use. With that decision made, the next step was planning the internal layout and allocating space for each component.

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

To streamline the design process, I built a cardboard mock-up (Fig. 7). I experimented with various sketches and shapes before settling on a straightforward solution: a minimalist accessory composed of two red plates and a black box mounted on top to house the main controls. This unit is securely screwed onto the tray. On the right side, I allocated space for an acrylic plate to support the circuitry (Fig. 8), with the electronics protected by a perforated aluminum sheet that adds both ventilation and a clean aesthetic. The structure supporting both the controls and the motor was assembled using aluminum profiles.

The potentiometer knob was 3D-printed in PLA by 3DDesign24, using a DXF file sourced from Thingiverse under a CC BY license.

Fig. 7. Final mockup of the console

The tray lid was designed to accommodate up to seven 1000 ml plastic bottles—such as those from Kaiser or JOBO (Fig. 9). One key consideration was the placement of these bottles. Essentially, there are two layout options: positioning the bottles at the front of the tray, as seen in JOBO processors, or placing them at the back. Based on my experience with version 2 of my manual processor and the workflow I developed around it, I found it more practical to position all the solution bottles at the back. This configuration reduces effort during the various stages of film and paper development, particularly since I do not plan to implement a lift mechanism like that of the CPE-2. This choice also contributes to a cleaner and more streamlined design.

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 designing the various components, I used two open-source CAD programs: freeCAD and LibreCAD. While FreeCAD offers full 3D modeling capabilities, I found LibreCAD significantly easier to use for 2D drafting. Using LibreCAD, I created DXF files for fabricating the plates. For materials, I chose 3 mm transparent polycarbonate for the circuit boards, 3 mm black high-density polyethylene for the internal partitions and case covers, and 3 mm RAL 3020 PVC hard foam board for the tray lid and the device’s side panels. The final assembly is shown in Fig. 10.

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

Materials and production price

Anyone interested can obtain the complete list of materials and unit costs, as well as detailed instructions for building the FPP-3. However, the total cost of the FPP-3 is much lower than that of a used CPE-2 on eBay. I have invested at least three months in planning and realization.

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.

First Test

The FPP-3 has now been tested with the following JOBO tanks: 2551, 2551 (new Multitank 5), 2830, and 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 leveled (I leveled the inner side) and the coverage of the suggested minimum quantities. I provide at least 10% more than necessary to minimize 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, the 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.

Testing with the largest JOBO Drum (2850)

One of my original aims was to be able to make my own large prints, and if possible increase the efficiency of the process. To achieve this one needs a large JOBO drum like the 2850 (i.e. drums 2830+2870). The FPP3 was designed for this purpose since the largest drum that fits the CPE-2 (i.e. 2830+2820) is the drum 2840.

To test the device, I prepared two exposures on Ilford MGRC paper (glossy) 30×24 cm. I put them in the drum, added 200 ml developer, and let them run for 1 minute. Then 10 s with the stop solution and 1 min with the fixer. I set the average angular speed to 75 rpm. The results were very good as you can see in Fig. 12.

This experience was very pleasing. The ultimate goal was achieved. It was possible to develop large exposures in my improvised darkroom. This implies that the maximum size possible with my system is 40×50 cm. If I need larger (very exceptionally), I would have to send my scan to a professional lab like WhiteWall, as I have done a couple of times. For most of my prints, FPP-3 works!

The next challenge is to use FPP-3 to make color prints with 30×24 cm RA-4 paper. I will create a new blog entry to share my experiences.

Fig. 12: First dual print in the FPP-3

The Logo

I decided to finish this blog with a picture of the logo I created for my device. I think this effort deserves this final step. The design is simple. It includes the name of the device and the name of its inventor. I used free LaTeX fonts and printed it on a transparent sticker with a laser printer. The result is quite pretty (Fig. 13).

Fig. 13: FPP-3 logo

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ó.

    1

Leave a Reply