Ultraviolet Lamp for Disinfection
When I was little, there was a familiar routine in kindergarten: while we went outside for a walk, the teacher would bring out a large ultraviolet lamp and turn it on for about 15 minutes. The idea was to disinfect the room.
I cannot say with 100% certainty how effective it really was. But I do remember one thing clearly: when I was a child, it felt like we got sick noticeably less often than people do now.
When I needed to disinfect a small container, those memories came back by themselves, and I decided to build a small project.
Project Idea
The project is built around a compact ultraviolet lamp with an E27 base. I bought the lamp on AliExpress.

There are several types of ultraviolet radiation:
- UVC (100–280 nm) — the harshest type of ultraviolet. It has a strong germicidal effect. It destroys the DNA and RNA of microorganisms and stops them from reproducing. This is the type used in medical disinfection lamps. It is dangerous for humans and can cause burns to the eyes and skin.
- UVB (280–315 nm) — medium-wave ultraviolet. It is responsible for tanning and vitamin D production in the skin, but too much of it causes sunburn. It is not used for surface disinfection.
- UVA (315–400 nm) — near, softer ultraviolet. It is used in gel nail curing lamps, currency detectors, and blacklight lamps for clubs and parties. It does not kill bacteria or mold effectively.
I chose a UVC lamp because I need it for disinfecting containers.
These lamps usually claim a working life of about 8000 hours. So I decided to build not just a switch, but a timer that tracks the total runtime of the lamp. When the lamp reaches the end of its expected life, the device should warn me that it is time to replace it.
The runtime and warning message are shown on a small 0.42" OLED display.
Electronics
For the main controller, I used an ESP32-C3.

It was the cheapest board I found on AliExpress and already knew at least a little. The CH552 was cheaper, but it has worse memory limitations, and this project has an important requirement: it needs to store and update the lamp runtime counter.
Enclosure and Files
I designed the enclosure in SolidWorks.

The code is written on top of a basic ESP firmware setup.
Result and Build Process
You can watch it on YouTube:
Video link: YouTube