My UV LED exposure box

UV (ultra violet light) box – a convenient equipment intended for printed circuit boards manufacturing at home. It allows to save a lot of time and achieve very good quality boards. For printed circuit boards manufacturing the UV-A spectrum light source is required, so fluorescent lamps or light-emitting diodes (LED’s) with a UV spectrum can be used. It should be noted that the UV LED light peak is at approximately 395-400nm wavelength and fluorescent UV lamps – 370nm. It seemed to me that to use light emitting diodes is much easier and cheaper. The drawback is the need to make additional board, which will hold all LEDs. In addition to get an even lighting across all manufactured PCB, LEDs have to be more away from the manufactured board than fluorescent lamps. But with LEDs there is no need to make reflectors because leds are emitting light in one direction in contradistinction to fluorescent lamps.

So one day i ordered in Ebay 100 pcs. ultraviolet light-emitting diodes with 0.25W 470R resistors, all ofcourse was made in China.

uv diodes

Leds price with shipping was about $7. According to the seller UV diode parameters as follows:

  • Emitted Colour: UV Violet
  • Lens Color: Water Clear
  • Forward Voltage (V): 2.8 ~ 4.0
  • Forward Current (mA): 30
  • wavelength (nm): 380 ~ 400
  • View Angle: About 25 degree
  • Luminous Intensity: 3000mcd
  • Life Rating: 100,000 Hours
  • Size: 5mm

And this photo shows how i verified if cheap chinese UV LEDs really emit UV light. The test did not disappoint. Illuminating the bill number “10” and sensitive to UV light fibers was clearly visible, which are usually not visible in ordinary room light:


at UV light


My UV box has two main parts:

  • control board. It controls time, when LEDs is on and off.
  • LEDs board. All UV diodes are mounted on it.

Control and LEDs boards both are powered from 12V 1A switching power supply, so I decided to make my LEDs board from such chains: first diode – second diode – third diode – 120R resistor. Resistor limits current through three LEDs chain to 15mA. If connect one diode with a 470 ohm resistor, here will be a huge waste of energy. I have used 99 LEDs in total. Thus, according to the calculation, load is 15mA x 33 pcs = 495mA (33 strings, three LEDs in every string). So 500mA remains for control board. 470 ohm resistors, received with leds, will remain unused, they can be used elsewhere. I drew both boards tracks with Sprint Layout 5.0 program. Distances between the LED centers was selected 15mm. Selecting distances too low, you will need a lot of diodes, if too large – LEDs light will not be continuous on all manufactured board places.


The photo below shows LEDs board which was maid with old technology – with the help of syringe and nitro-paint. Free board places where there were no tracks, was painted over with black marker and paint to save copper etching materials.




Here you can see LEDs PCB with all diodes and current limiting resistors soldered. 12V power supply is also connected:



UV box housing i made from the  materials i had before (wood fiberboard), without going into too much aesthetic appearance. The top of the box is made from the thick plexiglass, as this is more transparent to the UV rays than ordinary glass. Internal plexiglass side is made a little rough with fine (size 320) sandpaper. Prepared with sadpaper plexiglass becomes opaque and better disperses light from UV LEDs. You can also use a special matte glass covering of a chandelier. The distance from the LED to the manufactured bord must be at least 15cm, the irradiated surface of the board must be more or less uniformly illuminated over its entire area. The distance should be selected testing several distances.

Further production. For the regulation of irradiation time control board with simple timer was created. It has maximum of 15 minutes interval. As i mentioned,  time can be adjusted from 0 to 15 minutes in 10 seconds intervals. The timer is controlled by only two elements: the potentiometer RV1 and SW1 button (normally open contact). Potentiometer knob must be the bigger as possible in order to  set period of time easy.



And here we have designed timer’s printed circuit board:



The timer and the LED’s boards are powered from 12V stabilized power supply U1 through connector J1. C3 must be placed  as close to the microcontroller as possible, and C6 – close to LCD1 display. J6 – small dimensions speaker. Diodes D2-D100 and resistors R5-R37 (in the LED’s PCB drawing they are numbered as HL1 – HL99 and R1 – R33) forms light emitting diode array connected to the control board through connector J1. This is a small green connector to which wires is tightened with srews. All other connectors are black “pin” type. The time is shown on the 2×16 display. Connector J3 is for microcontroller programming, through J5 LCD display connects to the timer board. It should be noted that the main part – microcontroller has SOIC housing, so it must be soldered on the tracks side, all the other parts – the opposite.

Management. Connect 12V power supply to the wall socket, LCD display will show “Waiting”. Set desired time interval with potentiometer, then press button SW1. Activates relay RL1. Irradiation begins. LCD screen shows the word “Running.” If during the irradiation button SW1 is pressed, the program returns to the “Waiting” state, relay RL1 is turned off. If  button was not pressed, timer continues to count the time until 0:00, then the relay RL1 opens contacts, irradiation ends, the speaker LS1 beeps 3 times,display shows  “Stopped.” If it is necessary to repeat irradiation, press SW1 is again, and timer goes to state “Waiting.”

Now the timer PCB manufacturing. Printed circuit board was designed with Sprint Layout program. Tracks printed on transparency  film for laser printing. Transparency films can be bought at  stationery store, they are 2-types: for ink jet and laser printers. Because i have laser printer at home, I bought a laser films. Unfortunately, there is quite hard to get good quality tracks with laser printer. If to check printed tracks in front of bright lamp, unevenly printed tracks with small unprinted white spots can be seen clearly. And tracks are not enough black to not let light through them. Printer settings with economy mode turned off did not helped. Tried to print with big office and several other printers, no one gave good results. Some inkjet printers, have guality even worse then laser printers. Of course, tracks printed on a white sheet of paper seems nice quality. So, the conclusion is that is better to print two copies of circuit board and then place one on the other. This is the only way to achieve good quality of circuit board. It is very important to overlay slides exactly, tracks must coincide exactly. During the irradiation bottom film’s printed side must be layed downwards. So final result before irradiation is such sandwich : UV diode array – 15 cm distance – plexiglas – first film  – second film – irradiated board. Tests have shown that irradiation time for my posititive photoresist boards is seven minutes. If irradiation time is too short, some boards places can have unneeded copper places after etching process. Too much of irradiation during the etching process can cause etched tracks of the board. Put the irradiated plate in the DP-50 solution (positive photoresist developing material). With freshly prepared solution development takes about 50 seconds. DP-50 manual says that developing time must be between 30 seconds – 2 minutes. If the time is less than 30 seconds, can be etched unirradiated photoresist. According to the length of developing time you can deicide on whether the irradiation time is to big or to small. This solution has a short duration. So you cant keep prepared solution for a long time. Because development with the old solution, may give a poor result. More worthwhile if PCBs are rarely produced, prepare a small amount of solution. For mid-size board etching 250ml of developing solution is enough. The remaining unused developer can be left for other project . After development board should be cleaned gently with your fingers or a cloth under cold running water. You can then check that the irradiation time was sufficient: in place, where should be no tracks, cratch board with a sharp thing: there should be no photoresist left. If you can see remaining photoresist in the scratch place, that means that irradiation time was too small or developing process is not finished yet. So my result as follows:


PCB ready


The board is already etched, drilled holes. Left side is coated with solder. Tracks are 0.9 mm (the vast majority), and 1.2 mm in width, the contact circle diameter – 2.1 mm. Track quality is really good. There is no unetched copper places or broken tracks. In “Sprint Layout” i have used “Ground Plane” function, which automatically fills places without tracks with copper. Well, at the end there are few photos:

PCB components side
PCB bottom side
UV BOX top


Here my box is already finished:

Microcontroller configuration bit settings:

IESO=0 Internal External Switchover mode disabled
FSCM=0 Fail-Safe Clock Monitor disabled
FOSC<3:0>=0010 HS oscillator
BORV1:BORV0=00 VBOR set to 4.5V
BOR=1 Brown-out Reset enabled
PWRTEN=0 PWRT enabled
WDTPS<3:0>=0000 Watchdog Timer Postscale 1:1
WDT=0: WDT disabled
MCLRE=0 RA5 input pin enabled, MCLR disabled
DEBUG=1 Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
LVP=0 Low-Voltage ICSP disabled
STVR=0 Stack full/underflow will not cause Reset
CP1=1 Block 1 ((000800-000FFFh) not code-protected
CP0=1 Block 0 (000200-0007FFh) not code-protected
CPD=1 Data EEPROM not code-protected
CPB=1 Boot Block (000000-0001FFh) not code-protected
WRT1=1 Block 1 (000800-000FFFh) not write-protected
WRT0=1 Block 0 (000200-0007FFh) not write-protected
WRTD=1 Data EEPROM not write-protected
WRTB=1 Boot Block (000000-0001FFh) not write-protected
WRTC=1 Configuration registers (300000-3000FFh) not write-protected
EBTR1=1 Block 1 (000800-000FFFh) not protected from table reads executed in other blocks
EBTR0=1 Block 0 (000200-0007FFh) not protected from table reads executed in other blocks
EBTRB=1 Boot Block (000000-0001FFh) not protected from table reads executed in other blocks

You can download project files here: Proteus schematics, Sprint Layout LED matrix and control board drawings and .HEX file for microcontroller programming.


  1. Spork Schivago

    You probably don’t have any Eagle files for this UV box, do you? Thanks.

    1. automateaqua (Post author)

      No, I do not have Eagle files. I make PCB’s with Sprint Layout and draw schematics with Proteus software.

  2. Richard Durie

    Please advise if you sell the UV LED lights, Resistors, Timer Etc

    We will make the box

    1. automateaqua (Post author)

      Sorry, but i do not sell any parts.


Leave a Comment

Your email address will not be published. Required fields are marked *