Finished DIY WiFi Arduino darkroom timer and RGB LED light source

This time I‘m showing you the finishing stages of my DIY WiFi Arduino darkroom timer and RGB enlarger light source. I tell you all about designing the final PCB board for the project and printing an enclosure for the darkroom timer. The finished project also includes the 3D print of a new enlarger head for my Durst M670 that can take a standard lightbulb. I can interface the timer with a WiFi switch to control my regular Durst heads or a LIFX smart bulb in the 3D printed head that can be controlled via WiFi. The 3D printed head connects to the enlarger via the stock M3 screws.

If you want to know more about earlier stages of the project you can watch my vlogs here:

Also check out this blog post about the first prototype that was made out of RGB strip lights and a cardboard box:

Darkroom geekery #1

Parts used for the final build:
Arduino Mega (US) https://amzn.to/2J5inA0 (UK) https://amzn.to/2ZRzcp5
Waveshare 0.95 OLED display (US) https://amzn.to/2IWxOfa (UK) https://amzn.to/2ZTjt8R
Adafruit 3×4 keypad (US) https://amzn.to/2IZbeCR (UK) https://amzn.to/2Xv8hlx
3x 10K Linear potentiometers (US) https://amzn.to/2XGnj7K (UK) https://amzn.to/2FDGRQ8
1x 10K resistor (buy an assorted pack) (US) https://amzn.to/2XdtC3B (UK) https://amzn.to/2JiqWYG
1x 6.3mm jack socket (US) https://amzn.to/2RIlAcS (UK) https://amzn.to/2FCP8Ug
1x guitar foot switch (I use a non-latching Boss) (US) https://amzn.to/2XAdGHJ (UK) https://amzn.to/2XGoT9G
Mega Shield (my own design)

If you’d like to build an Arduino f-stop timer yourself I suggest you check out Brodie Tyrell’s open hardware and open source project:
https://www.brodie-tyrrell.org/fstoptimer/

Personally I went with my own code, because I couldn’t find the components Brodie used and integrating different components just became too confusing. If you can find his exact components, no programming is necessary, which is the most difficult part. If you want to program it yourself, do yourself a favour and use an Arduino Mega from the start. There are no segmentation fault warnings on Arduinos, so if you run out of memory, it will just do random unpredictable stuff, which is a nightmare to debug. And you definitely will run out of memory on a regular Arduino unless you are a wizard at microcontroller memory management!

If you want to have a go with my WiFi version and need pointers, contact me directly, I still have some PCB boards too. This is NOT an easy build though and the WiFi bits are not exactly straight forward to set up. You’ll probably find Brodie’s version much easier to build and better documented. Blog posts with further information on my build are coming soon though!

Acknowledgements: Thanks to @frak, @196photo (Twitter) and my dad for help along the way! @frak helped with C++ refactoring problems, @196photo prevented the demise of my high power LEDs by pointing out that my LED driver might be unsuitable for them. My dad helped with the earliest stages of the project when I was still trying to figure out RGB strip lights and got a bit stuck with converting from an RGB colour space to RYB colour space. And of course this whole project would have been impossible without the Maker community and open source component libraries for Arduino! Building cool stuff is a community effort! Most importantly: Let’s not forget my husband, who supports me in all my crazy endeavours!

Leave a Reply