PCB UV Exposure Unit




A UV exposure box is an extremely useful piece to make PCBs.

I have searched and found that they are too big and too expensive for my uses. In addition, all the devices require an external power sorce.

Thereupon I decided to build one that fits better on my needs.

My requirements:

  • Compact dimensions
  • USB charging
  • Long battery runtime
  • No buttons or knobs
  • Very simple use

So I built a box, with which you can exposure up to 184 PCBs on a single charge!

Step 1: The Components

Mechanical Parts:

-Glass pane:
From an old picture frame. 145 X 95 x 2,2mm

-Top cover:
Wood (152 x 99 x 3mm) with glued foam (152 x 99 x 7mm).

4x M3x 5mm
2x M3x 6mm
6x M3x 10mm

4x for M3 (3,5 internal)

-White Paper
1 (A5 or larger).

Electrical parts

-Battery pack:
Li Ion battery (from old laptop batteries)
2x flat 2,2Ah (98 x 40 x 6mm)
1x round 2,5Ah (18 x 65mm)

-Li Ion USB charger (TP4056):
In every household you can find USB chargers -> no problems to refuel. Link

The LEDs are 5-10 times more efficient than fluorescent lamps. This helps to improve the operating time and keeping the form factor small. In addition, only a MOSFET with a PWM signal is necessary for driving.
35x 390nm, 350mcd,120°, 3,3V, 20mA

2x green 5mm
1x red 5mm

I opted for an ATtiny85, because it is small, has enough outputs and functions.

The 4468 Mosfet is in a small SOIC-8 package, thereby saving space.

-Capacitive sensor:
The sensor comes under the front to have no visible buttons and knobs. Link

To protect the ATTiny output from damage.
1K SMD1210

140 x 80mm for the light pannel
Optional one for the control circuit

-IC socket
Optionally, to replace the microcontroller without soldering.

-Pin / Socket strip
2x 2pin
1x 3pin
1x 4pin


Step 2: The Box

I've designed all parts in Google SketchUp.

As a guide, I had all components and especially the glass sheet.

The main body part is cut in half, because my small printer has a plate with only 150 x 150mm.

Then I export the STL files, slice and print them on my printer.

All Files are in this zip folder:

  • stl
  • skb
  • Arduino sketch

Step 3: Circuit / PCB

The circuit and the PCB is designed in EAGLE.

It would be nice, to solder all parts an the designt PCB, but to etch the PCB you will need the circuit :(
So either you assemble the circuit on a breadboard and then build the final control circuit, or solder all on a perfboard.
I use pin / socket strips to easy connect and disconnect all components, but you can also solder them direct to the PCB.

LED panel
The LED Panel is a 140 x 80mm Perfboard uniformly equipped with LEDs.
Between the lamps and the Perfboard is a white sheet of paper to reflect the light to the PCB.
All LEDs are paralell.

Step 4: The Code

The program originated Arduino typically in C ++ in the Arduino IDE.

If the microcontroller is not in use after a certain time he will go in the sleep mode to save power.
To wake up the µc you only have to touch the sensor at the front. Through this you can also choose between the exposure times and also can cancel it.

I flashed the ATTiny with an Arduino UNO and a DIY programming board like this.

PWM Signal for LED:
The batteries have a voltage of 4.1 volts in the charged state. Since the LEDs only tolerate 3.3V, so I use a PWM signal to drive them.
I'm not using all the Power of the LEDs, because then the quality is good even with poor templates.
-> AnalogWrite (Mosfet, 205);

If you want to shorten the exposure time, they can also use the complete power of the LEDs (larger PWM value).

Sleep Mode:
To use the sleep mode, I include the libraries "avr/interrupt.h" and "avr/sleep.h"
In this mode the ATTiny only uses 0,5µA!
The touch sensor uses much more (6,5µA).
-> If the device is asleep it consumes only 7μA.

6,9Ah of battery capacity results in gigantic 112.5 years in standby mode.

When the UV LEDs are on, the system needes 720mAh.
On time = 6,9Ah / 0,3A = 23h
With my Bungard PCBs are 450 seconds (7,5min) optimal.
-> 184 PCBs with one battery charge!

Step 5: Assembly

After everything has been printed and soldered, can be assembled jew started with.
At first I glued together the two main parts.
While these dried I got down to the front. For this I glued the LEDs and the touch sensor with superglue in. Then I soldered the wires to the LEDs and the sensor.

I soldered the cables to the Battery and conneted them in paralell to the USB Charger.

Then i connetet everything together and tested the hole thing.
And YES, it works ;)

After that i screwed the LED panel and the front in place.

Now the is moment, to place the glass plate in the top.
And yes, this fits.

Now I screwed on the lid with the attatched hinges.

Finisht, looks good. Now plug it in to fully charge and make PCBs.



    • 1 Hour Challenge

      1 Hour Challenge
    • Pets Challenge

      Pets Challenge
    • Frozen Treats Challenge

      Frozen Treats Challenge

    18 Discussions


    Reply 1 year ago

    The code is failing.

    'GIMSK' was not declared in this scope error.

    There probably is not an interrups library. Because of this, it should be giving this error. How can I fix it?


    Reply 1 year ago

    Hi onur2691 and a good new year,

    This is a problem with the library's.
    I just packed these and the .HEX files in the .zip folder, so everybody have the library's direkt in the projekt folder.


    1 year ago

    The circuit schematic is not clear enough. Would you be able to explain how many voltage batteries are used and which one is connected and where?

    3 replies

    Reply 1 year ago

    Hi onur2691,

    i used all Li Ion batteries parallel. To add more capacity.
    The Cells i`m using are from old laptop batteries.
    One is a 18650 type and the other two are flat cells.

    The flat cells are placed under the PCB with the UV LEDs shown in this Picture.

    The round battery is placed under the front pannel at the left side.

    All Batterys mean that all positive poles connected together.
    The same with the negatives.

    Kind regards,


    Reply 1 year ago

    How do you charge all the batteries with one USB chargers?

    And you have not put a resistance to protect UV Leds. Will not these UV Leds burn down? If I put the resistor to protect UV Leds, does the circuit still function the same?


    Reply 1 year ago

    Hi onur2691,

    as i wrote last time, all LiIon cells are connected in parallel.
    So you can connect the charger like in the picture.

    You don't need a resistor in series to the LEDs, because the ATTiny is driving these with a PWM signal.

    Kind regards,


    2 years ago

    The UV LED's: 390nm, 350mcd,120°, 3,3V, 20mA,

    is it important to get exactly this sort of them?

    Must they have 350mcd?

    7 replies

    Reply 2 years ago

    Hi Paul_Cany,

    no, you do't need the exact same LEDs.

    What matters is the wavelength (nm) and a high beam.
    The optimum wavelength for my PCBs (Manufacturer "Bungard") are 390nm.
    This specification is in the data sheet of the board.

    Kind regards,


    Reply 2 years ago

    Hi RCWeinstadt,

    now I understand: in the specification in the data sheet of board can I find which wavelength is proper for my board.

    But what is high beam?

    I find a site <http://www.gizmology.net/LEDs.htm> that explains LED's ( even IR and UV led's too ), but there I can't understand what is high beam at all. In which unit can be measured the high beam specification? When I buy UV LED what to watch out for when want high beam led's?

    Best, from Paul


    Reply 2 years ago


    They mean the light cone.

    The greater the angle, the greater the surface that is illuminated.

    Like in this picture:


    Reply 2 years ago


    so when you say leds should have high beam in this project then that mean leds should have great angle of the light cone, that is wide beam?

    Best, from Paul


    Reply 2 years ago



    In the pictures you can see the difference.

    The picture with the points I have made the Internet and there LEDs are installed, which have a small angle. Resulting in a selective and non-uniform exposure.

    The picture with the consistent surface is my exposure unit with wide angle LEDs.


    Reply 2 years ago


    I understand now what do you say, Sir. Thank you very much for explanation!

    Only do not know how to find these UV LEDs with wide angle when searching on the Internet for them? What is the indicator for wide angle?

    Best, from Paul


    Reply 2 years ago


    look for "UV LED 120°".
    120° is the angle.



    3 years ago

    Nice job! I'll probably make it too... :-)


    3 years ago

    Nice work! Thanks for sharing :)