The benefits of using an F-STOP Darkroom Timer are precision and accuracy which give us consistency and reproducibility. However one more thing it does is reducing paper waste as we have a more scientific approach to produce paper prints.
In this part, part two we tackle the Arduino IDE and uploading the code then the relay, and the electrics. I even test it out to see if everything is working including the strip test with my office lamp. In part three we should be ready for the darkroom.
If you haven’t already read part one, please do check it out, then things maybe a bit more clearer.
Purchase on ETSY limited quantity.
Overview
- Part List
- Wiring Up the ESP 12 Relay Board
- Arduino IDE board setup
- Uploading the code via serial.
- Add the buzzer
- Add a beeper.
- Safety Disclaimer
- Cut the cord
Part List
The following components are available on Amazon. The links are associated which cost you nothing but support my YouTube channel.
- Arduino UNO with USB Cable
https://amzn.to/3PXTJW6 - TM1638 LED&KEY Module
https://amzn.to/3JZkC8y - Relay Module / ESP12-1R-MV
https://amzn.to/43pA6cE - Passive Buzzer
https://amzn.to/3KpsAHY - Power extension cable
- Cable end sleeves for power cable
https://amzn.to/43R5Nfa
Video
Wiring Up the ESP 12 Relay Board
*You probably need to solder in the pins to the ESP 12 board. After that you can use the DuPont cable supplied with the ESP12 relay board.
The code is compatible with both the Arduino and the ESP 12 1R-MV board. It is very simple to wiring the ESP 12 1RMV and TM 1638 together.
Connect the following :
- IO12 to DIO
- IO13 to CLK
- IO14 to STB
- GND to GND
- 3V3 to VCC

Arduino IDE board setup
- Download the code from https://github.com/glyons/Darkroom-Timer
- Unzip it
- Change the folder name to ‘darkroom_timer’ then all the code should be available in the IDE when you launch it.
- Install Arduino IDE latest version
- Open Arduino IDE
- Choose ESPino board in the board list in the menu.

Note: The code is compatible with both the Arduino and the ESP 12 1R-MV board. The GPIO pins are found in the code. To have support the ESP 12 1R-MV chip inside Arduino which is based on the ESP8266 chip
To have support the ESP 12 1R-MV chip inside Arduino which is based on the ESP8266 chip

Library Manager Install the module tm1638plus

Uploading the code via serial
Previously I used an Arduino UNO for the prototype. Now in this step I’ll use an ESP 12 1R-MV Relay board
This board does not have a serial to USB converter for uploading the code onto the ESP 12 like the Arduino UNO.
Option 1: However the Arduino UNO can be simply used as a serial to USB converter. Connect a jumper from RESET to GND. Your Uno is now a TTL-serial-to-USB converter. TX, RX, and GND are the connections.
Option 2: Use a USB to Serial converter.
On the ESP 12 1R-MV board, use the jumper cap to connect the IO0 and GND pins together. Then wire up the TX, RX, 5V and GND for the Arduino or the USB/Serial converter.
Tip: If things don’t communicate switch around the TX and RX. Also try uploading the flashing LED example onto the ESP 12 1R-MV Relay board,to see if things transfer correctly.
Add the Buzzer
Solder two wires to the buzzer with DuPont connections to a beeper and connect it to GPIO pin 16 and GND.
Safety Disclaimer
If you are using the high voltage input on the ESP12-1R-MV board please ensure you to protect yourself and others. I am not responsible for your safety please consult a professional electrician. If you are not qualified please use the low voltage input or the USB power on the board.
I am using an extension power cable which I’ll splice. Do not do this unless your are qualified.

Cutting the cord
It’s important to use end sleeves for the power cables.
End sleeves are used when a perfect connection on a cable end is needed. This avoid splayed strands and reduce the risk of cable breakage. Moreover, they create a lasting contact pressure and a large contact area. Upon crimping, a trapezoidal or square geometry is formed.
- Split a 3 metre extension cable, at 1metre point before the plug part.
- Strip the wire on both sides
- Rejoin the neutrals (blue) wire together and cramp them into one cable end sleeve. If you have no cable end, solder the wire together.
- Rejoin the earth wires together and solder them or use a electrical connector.
- The live wire should feed one side of the relay and the other side of the relay to the plug part of the cable which is for the enlarger.
In part three
In part three, yes there is more! Some idea for improvements and additions also the possibility of a 3D printed enclosure!