Building a 365 nm UV Light Box with ESP32 Timer Control
Introduction
Alternative Process becomes relatively handy once you have an UV light source, offering greater consistency compared to sunlight and enabling exposure even under cloudy conditions or at night. I have been using a self-built UV Light Box and its LED emits at a wavelength of 395~400nm. This has proven sufficient for me to expose Cyanotype, Kallitype, Pt/Pd prints. A few years ago, I took a workshop of photogravure at PCNW. It uses Toyobo photopolymer plate to expose an image. Inking and printing with etching press was nice and so fun. Of course, the ink color, and its smell as well, looked gorgeous. However, exposing was recommended to use LEDs at 365nm wavelength. I’ve tried photopolymer plate with my old UV light box with 395nm LED and it did not work well. It took too long time to start getting the plate harden and it won’t be hard enough for print. This limitation served as my primary motivation to consider constructing a second UV light box.
Another reason why I wanted to build this new unit is the integration of a timer. My first UV box lacked a timing function, and the UV LED light is connected directly to a power cord equipped with a switch. In this configuration, I relied on a kitchen timer and manually operated the LED light. While an external power timer could be a sufficient solution, I was also interested in programing with the ESP32 microcontroller. Implementing a simple program to control the LED light via the ESP32 is straightforward, and extensive information regarding wiring relay switches with ESP32 IO is available online. Previously as I was using the integrated UV LED tube, no extra wiring was necessary. I simply placed them inside a box. But this time I intended to use bare LED strip which can save more spaces. There are very useful blogs as follows about UV parts and LED information.
https://clayharmonblog.com/uv-led-parts.html
https://intaglioeditions.com/procedures/polymer_photogravure.html
I referenced these web sites and list up the components and parts. Most of them could be found in amazon.
LED strips
The LED strips are lined up and placed them on a single board to connect them to the connectors that provide electricity. Divide it into two channels every other row to be connected to the 2-channel relay. The most important thing is that entire contact-print frame is evenly covered and exposed. Since UV LED light can cause skin damage and not good for health, I like to get tested quickly. I was lucky enough since all LED lights worked right after wiring and all connectors looked fine without flickering.
Main board with ESP32 microcontroller and relay module
Only 4 push button switches, LCD 1602 module and 2 channel Relay module are connected to IOs of ESP32. One of 4 switches are used to start and pause a timer, and the rest buttons operate timer setting, such as up, down and a mode for the changes. 2 channel relay control 12V source to LEDs. Each channel is connected to half of LED strip so two modes, full power and half power, can be available. LCD 1602 monitor helps to set up a timer and show the remaining time during exposing.
I made the 3D printed enclosure to hold those modules and a control panel put on the front of the UV box.
Main ESP32 bord and 2 channel relay modules.
The front control panel holds one small LCD monitor and 4 push button switches. 3D printer is very convenience and efficient to have a custom design enclosure especially like me who is not good for hand craft of acrylic or metal materials. Dimension chars for the most major part and component can be found online easily and the recent 3D printer is accurate and fast. I still need several try and error, but the printed result is great for me.

A control panel with LCS1602 and 4 button switches.
Assemblying and the first wiring test, this makes sure all wiring and the program of ESP32 works expectedly. In addition, I can check the length of wire has sufficient slack so I can place the wire properly.
The holes of the right side of the box are for fans. Al though I don’t expect a super long exposure, it was a bit hard for me to predict how hot it would be, and I was wondering it might need to be a bit bigger fans.
This sanity check helped. I could see a light passing through the white 3D printed enclosure, both ESP32 and the LCD of the control panel. Reprinting with a black filament and a slightly ticker, I did not see any more light passing through these enclosures.




Appendix
LED Light and Power
| 365nm UV Lights 2835 LED Blacklights Strip 12V | https://www.superlightingled.com/395nm-365nm-uv-lights-2835-led-blacklights-strip-12v-p-5140.html |
|---|---|
| Power supply 12V | https://www.amazon.com/dp/B0BW2Q86XH |
| 12v to 5v converter | https://www.amazon.com/dp/B08JZ5FVLC |
| fan | https://www.amazon.com/dp/B0792BW2VH |
| Power Supply bracket | https://www.amazon.com/dp/B0CN949GCF |
| LED connector | https://www.amazon.com/dp/B00QJB6FYO |
| Double row screw terminal | https://www.amazon.com/dp/B01CNDWOAU |
| cable clip | https://www.amazon.com/dp/B07PG8CR1V |
Timer Module
| ESP32 | https://www.amazon.com/gp/product/B08D5ZD528 |
|---|---|
| LCD 1602 | https://www.amazon.com/dp/B0B76Z83Y4 |
| 2 channels relay | https://www.amazon.com/dp/B0C2Z7QF71 |
| Single Row Straight Header Strip | https://www.amazon.com/dp/B012ACSO4Y |
| 10K Ohm Carbon Film Single Fixed Resistor | https://www.amazon.com/dp/B0BR67DJHM |