Introduction: UV Sanitizer

About: BotFactory is an NYC-based company that aims to unshackle innovation from technology, beginning with the way we think, design, and prototype circuits. Building electronic devices has always been a compromise …

Ultraviolet Sanitizers use UV-C light to kill germs and disinfect surfaces. When leaving and returning home, it’s important to disinfect frequently used items to limit the chances of spreading germs. This particular UV sanitizer was designed to avoid wasting cleaning products such as disinfectant sprays and alcohol pads while keeping small items like phones, keys, and wallets clean—read more about it in our blog post on Rationing Cleaning Supplies with Circuit Boards!

First, you will need to make sure you have all of the components and materials necessary, as well as the tools used. You may want to have spare components, just in case.


Electrical Components:

  • 1x Microcontroller
  • 4x UVC LEDs
  • 2x Transistors
  • 1x Momentary Switch
    • Manufacturer Part #: PS1024ABLK
    • DigiKey Part #: EG2011-ND
  • 1x 7-Segment Display
  • 2x 3.3V Regulator
  • 1x 2 Row 12 Position SMD Pin Header
    • Manufacturer Part #: 95278-801A12LF
    • DigiKey Part #: 609-5164-1-ND
  • 4x 10k Resistors 0603
  • 1x 100 Resistor 0402
  • 1x 0.1uF Capacitor 0402
    • Manufacturer Part #: C0402C104Z4VAC7867
    • DigiKey Part #: 399-1043-1-ND
  • 4x 75 Ohm Resistor
    • Manufacturer Part #: ERJ-12ZYJ750U
    • DigiKey Part #: P75WCT-ND
  • 1x 5V Regulator
  • 1x Small Barrel Jack Connector

Mechanical Components:

  • Glass (or 3D Printed standoffs if you only have glass opaque to UV Light)
    • Dimensions: 111mm x 86mm x 2mm
  • 200g PLA
    • Used for 3D printing the enclosure
  • 65mm x 1.75mm Rod
    • We found 65mm of 1.75mm PLA filament worked well for this
    • Used to assemble the hinge of the enclosure
  • 2x M3 3mm Heat-Set Inserts
  • 2x M3x6 Screws
  • 1x Sheet of FR4
    • Used to print circuit boards
  • Jumper Wires
  • Super Glue
  • SV2 PCB Printer
    • You’re welcome to create your PCBs in any other way
  • 3D Printer
    • You can also receive your printed parts in any other way
  • Soldering Iron
  • Screwdriver
  • Multimeter
    • Used to test for open/broken traces

Once you’ve gathered everything you need, you can follow the steps below to start assembling your very own UV sanitizer:

Step 1: Download and Print the Boards

This project consists of 3 separate Printed Circuit Boards (PCBs) that were designed using KiCAD and printed using BotFactory’s SV2 in a HomeLab. The PCB at the heart of this design not only connects the power, the start button, the 7-segment display, and the LEDs, but it also houses the ‘brain’ that controls the device. Although the three boards are currently connected with flexible wires, it’s possible to redesign it using flexible PCBs!

The main board will contain the ATTINY85, while the other two will each contain two UV LEDs. The whole design is powered by a 9V 2A barrel jack input, for which AC adapters are widely available.

Print the three boards and cut them to an appropriate size. You can use the files we’ve provided in this step! Since we're unable to upload the files for the board here, you can download them for free through the BotFactory website for now. Once printed, use a multimeter to ensure there are no shorts or broken traces. If you do not have a multimeter then a visual inspection will suffice.

Step 2: Download and Print the Enclosure

We used Autodesk Fusion 360 to design the clamshell enclosure, and printed the case using our personal 3D Printer. Use the .stl files provided in this step to print the same enclosure to house your electrical components. The hole for the button was manually made using a power drill and an 8mm drill bit, but can be easily added using a CAD software prior to printing. If you are manually making a hole, it should be placed on the right side as marked by the blue arrow in the third image. Make sure to size and adjust any openings according to the dimensions of your components.

Assemble the hinge of the enclosure by placing each half of the clamshell together and thread it using the 1.75mm 3D printed filament, or a small rod of similar dimensions. Make sure the enclosure can open and close without difficulty.

Step 3: Assemble the Sanitizer

Once all of your parts are printed, you can start assembling the UV sanitizer. Begin by soldering all of the components into their designated locations on the boards. We used thermally stable low temperature solder, which we reflowed at a temperature of 150℃. We used a reflow gun to initially place all the smaller components, and then reflowed the entirety of the board on the heatbed of the SV2 to ensure components with large pads, such as the transistors, reflowed properly. We’ve provided a reference schematic and layout so you can see what goes where. The images above can also be used as a good reference.

Step 4: Program the ATTINY85

Program the ATTINY85 using the Sparkfun Tiny AVR Programmer and the Arduino IDE. We’ve provided the code to program the ATTINY85 below. You can connect to it via the 6-pin header, as outlined in Sparkfun's Tiny AVR Programmer Hookup Guide.

The microcontroller waits for user input via a push-button. Once it detects an input, it sends a signal to two high-power field effect transistors, turning on the 4 UV LEDs. At the same time, the countdown is initiated by the microcontroller. The 7-segment display shows how many seconds are remaining. Once the timer reaches 0, the LEDs turn off, allowing the user to open the clamshell enclosure and retrieve the sanitized item.

Attach the 7-segment display and the UV LEDs boards using jumper wires to the pin connector. The LEDs will light up when the on/off button is pressed if the ATTINY85 was properly programmed and connected.


Step 5: Insert the Heat-Set Inserts

Set up the enclosure by inserting the heat-set inserts. Place the 3mm inserts into the two holes of the bottom clamshell, underneath where the faceplate will go. Press them into place with a soldering iron at 250℃. The inserts should be placed slightly below the rim of the hole. Ensure that the inserts work by screwing the faceplate on as a test fit. The timer display will be under the faceplate.

Step 6: Place the Electronics

Place the main board on the right side of the enclosure, where the faceplate will be. Connect the button and insert it through the hole on the side. This should be the hole for the button you manually made or added using the provided CAD file. Connect the internal wires as specified in the schematic.

Step 7: Place the UV Boards

The UV LED boards will be placed in their respective slots on the inside of the top and bottom shells of the enclosure. This will be within the rectangular extrusions. Refer to the image above for the proper orientation of the board. Start by applying two small dots of super glue on each end of the back of the PCB and then insert them quickly. Press down gently to keep them in place and allow the glue to dry.

Step 8: Power the Main Board

Connect the two boards to the main board using wires routed through the inside of the enclosure. There are slots for the wires to go through. The board on the top shell will have its wires routed through the hole on the side and back into a small hole on the side of the bottom shell. The larger hole on the side will be used to power the main board.

Use a small barrel jack connector wire to supply power to the main board. Do this by connecting your 9V AC/DC power supply to the barrel jack connector. Once everything is properly wired, screw on the faceplate.

Step 9: Place the Glass

A small piece of glass was used to ensure items do not touch the bottom PCB so it can be sanitized properly. This piece of glass will be placed onto the taller railings on the bottom shell to keep it from touching the bottom PCB. Secure the glass using four small dots of super glue on each corner and then quickly place it onto the extrusion. Gently press on the corners and allow the glue to dry.

Step 10: Test the Sanitizer

Test your sanitizer to make sure it is working properly. Place an item inside the sanitizer and close the lid. When you press the button, the countdown should start from 300 seconds and then turn off. Once you’ve made sure your UV sanitizer is fully functional, use as needed! You can read more about how and why we created this sanitizer on our UV Sanitizer Design blog post.

[Be sure to follow safety precautions when building this device. Please note that improper use and exposure to UV light can cause harm to you and others. Please use your sanitizer accordingly and act responsibly.]