Home     Contact     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS     Terms of services     Privacy policy  
 Home      Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science   

30 September 2009
Author: Giorgos Lazaridis
PCB Photographic Artwork Transfer UV Cabinet

Until now, to transfer the artwork to a photosensitive board, i used a pair of UV lamps. Although they worked pretty well, i thought of upgrading my lab. Thus, i designed and made a prototype photographic artwork transfer box using UV LEDs:

Check out the project worklog where i have written down all the details and the difficulties that i came up with during the preparation of the box. Most interesting.

Also, check out the very first test-run of the box, before it is 100% complete.



  Email (shall not be published)


Notify me of new posts via email

Write your comments below:
BEFORE you post a comment:You are welcome to comment for corrections and suggestions on this page. But if you have questions please use the forum instead to post it. Thank you.


  • At 21 April 2015, 0:09:07 user David wrote:   [reply @ David]
    • I created 2 panels with 63 LEDs, each led is 1W. Dimensions of one panel are 400x320mm. Each LED is mounted on aluminum heat sink which is attached for 1mm metal plate.
      I attached plate in a wooden box I created for these.

  • At 17 April 2015, 4:32:03 user Quoc Anh wrote:   [reply @ Quoc Anh]
    • Can you share your dimension of box? (box, led panel,...)

  • At 13 April 2015, 12:44:20 user David wrote:   [reply @ David]
    • I know that, I used 63LEDs on one plate for lightning, each LED is 1W.
      I try to ligt few PCBs, but PCBs with ticker lines are ok but with thinner lines they are illuminated a little too much.
      I will try to play a little with frosted glass.

  • At 25 March 2015, 11:58:15 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @David the frosted glass helps to have an even surface. But you will need more LEDs. 1w is too small.

  • At 22 March 2015, 20:40:20 user David wrote:   [reply @ David]
    • Hello.
      I created this box with 1w UV LEDs(140degree), and it doesn't not light very good my PCBs. I created everything by mathematics from page and it should work. So tell me is that frosted glass really needed in front of my LEDs or they are too strong.
      Please I really need some help, and sorry on my English.
      Hope someone will answer. Ty.

  • At 7 May 2014, 7:16:46 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Carl Jones Ok i uploaded the project again with the 2 missing files. Sorry

  • At 24 April 2014, 0:06:40 user Carl Jones wrote:   [reply @ Carl Jones]
    • Hi does anyone have the MYINITIALIZATION.INC file and or a working hex. The hex in worklog works fine up to the point it does not switch off the Leds when the timer reaches zero. It goes to 999 and carries on counting down

  • At 27 March 2014, 20:24:19 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Andoni Actually i have already began a remake with other powerful LEDs. I'm working on an SMPS driver with PIC. So this project is rather "obsolete" for me.

  • At 27 March 2014, 19:29:23 user Andoni wrote:   [reply @ Andoni]
    • @Giorgos Lazaridis Thanks, i´ll use 100 leds at the top and 100 at the bottom at 5000mcd 20 degrees. This project is awesome! xD did you improve the hex file as you said in page 6 of the worklog ?

  • At 27 March 2014, 18:59:35 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Andoni Wow ancient history. As far as i can remember it was 3500mcd 20mA 25 degrees angle. But you should get the more leds you can and the brighter the better.

  • At 27 March 2014, 16:17:04 user Andoni wrote:   [reply @ Andoni]
    • What kind of UV leds did you use? when I search for UV leds I found a lot of different ones. Could you please post the specifications of the leds? (current draw, luminous intensity, etc) I really want to build this but I dont know what is the correct luminous intensity, if you search you can find from 400mcd to 2000 or 3000mcd. Thanks

  • At 27 March 2014, 8:33:38 user Andoni wrote:   [reply @ Andoni]
    • Hi, the LEDs that you used are 5mm regular UV LEDs?, this build is awesome and I'm going to replicate it ,I'll maybe do a bigger one xD

  • At 13 January 2014, 17:09:57 user Fernando Oliveira wrote:   [reply @ Fernando Oliveira]
    • Hi Giorgos
      All well in the New year.

      I also have made one UV Cabinet but i use an hexagonal pattern in the Led distribution and Works great.

      One question, in the new version with 12w per side do you use Led's with more power or reduce the distance between the Led's?

      Best Regards,

  • At 13 January 2014, 9:58:07 user slavne wrote:   [reply @ slavne]
    • Thank you for your response! I am myself also preparing for the new version of my old exposure box made from old scanner, with uv fluo lamps, working with no problem 8-10mils, hardly 7mil. Now I dismantled that construction because I think this can be lowered to say 7mils standard. I want to make it also with different light source ie LEDs.

      That specific task of higher quality of production cannot be done easily IMHO only by experimenting, but it has to be supported with practical mathematics/physics. I am in the middle of calculations and believe that something will come up from those.

      I have a suggestion: before you decide to fix the distance between LEDs or to fix the distance between the LEDs and PCB, just drop me a note, maybe at that time I shell come up with some special values to suggest them for your (and mine) construction. Of course you can always do it "by hand" but it is easy to check one or two setups before you fix the box permanently. Anyway, keep the good work and go on!

  • At 12 January 2014, 20:29:56 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @slavne Hello! I develop quite often 16mil for the QFN PICs like this one:

      The exposure time is typically 9 minutes (540 sec). This is why i prepare a better version with a total of 12W LEDs per side.

  • At 12 January 2014, 17:50:26 user slavne wrote:   [reply @ slavne]
    • Hi Giorgos
      All well in the New year to you and your folks!

      Very nice project indeed. Can you tell me please:
      1) what smallest copper line did you make (20mil, 15mil, 10mil,...) with no problems 100%?
      2) what is the usual exposure time of pcb?

      Again all congratulations to the idea, especially plexiglass diffuser!

      Best regards,
      Slavisa, Serbia

  • At 27 June 2013, 13:57:50 user Fernando Oliveira wrote:   [reply @ Fernando Oliveira]
    • @Giorgos Lazaridis

      Thank you very much.
      When i get home i will try to build the project again.
      But now everything should be ok.


  • At 27 June 2013, 13:51:05 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Fernando Oliveira Check the file again. I forgot to include this in the zip. Now it must be ok.

  • At 27 June 2013, 13:38:42 user Fernando Oliveira wrote:   [reply @ Fernando Oliveira]
    • @Giorgos Lazaridis,

      thank you for your answer.
      Where can i find the file "BCDTODECIMAL_3DIGITS.INC" ?
      The file "pcbphototransferuvbox_1286698420_UVBox_ASM_V1_0.zip" in here don't contain that file.

      Tank you,

  • At 27 June 2013, 13:24:59 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Fernando Oliveira There has to be command "include" before these files. It is "#include BCDTODECIMAL_3DIGITS.INC". Make sure that the file "BCDTODECIMAL_3DIGITS.INC" is in the same directory awith your project

  • At 21 June 2013, 21:43:53 user Fernando Oliveira wrote:   [reply @ Fernando Oliveira]
    • @Giorgos Lazaridis, Hi

      Thank you for sharing your knowledge.
      I am now starting to work with Microchip PIC's. I follow your tutorials and did almost all your examples.

      I'm implementing a timer to my Insoladora Leds UV's and i follow your project.

      I had some problems when trying to compile the project but have managed to solve, just missing the following:

      Error [113] C: TMP UVBOX DUALPWMTEST.ASM 1104: Symbol not previously defined (BIN8TODECIMAL)
      Error [105] C: TMP UVBOX DUALPWMTEST.ASM 1390: Can not open file (Include File "BCDTODECIMAL_3DIGITS.INC" not found)

      Therefore I am noticing missing file "BCDTODECIMAL_3DIGITS.INC" in the project.
      Can you help?

      Thank you,

  • At 6 January 2013, 13:00:22 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Manolis first, do not install the project into a directory which has your user name. Instead go to d:/root or c:/root.
      Then, deactivate the case sensitive option
      http://www.pcbheaven.com/picpages/MPLAB-Starting_a_new_project/ [step 10]

      and then make sure that all inclusion have at least one space before them! They must not start in col 1...

  • At 3 January 2013, 19:52:15 user Manolis wrote:   [reply @ Manolis]
    • @Giorgos Lazaridis Hello again George. Well, I did change the setting you mention before I build the .asm file the first time.

      The very first error I get is about a missing .inc file and I think it has to do something with all the others, as you can see in the txt file I posted. Here's the exact error:


      And then I get a lot of "Symbol not previously defined (ZERO)" and "Missing argument(s)" errors which I believe have something to do with the missing .inc file.

      Towards the end of the build log I get another "Include file not found" error, the file being: "BCDTODECIMAL_3DIGITS.INC" this time.

      I am really sorry to bother you again but we are very close to completing the project and we seem stuck at this point where the timer and the power meter don't work like they're supposed to.

      We also tried flashing the PIC with the latest .hex you posted but still no luck!

      So, I really don't know what would be a way to fix this. Maybe send us the missing include files and try building the initial .asm file again? I suppose the best solution would be to send us the final .hex after you read it from the completed UV box. This would be the "ultimate criterion" for our circuit as well since if it still doesn't work, then there will be something wrong in the hardware and not the software.

      I understand that opening the box and reading the .hex might be too much trouble but if you find the time to do it, we would certainly appreciate it! Of course any other workaround you suggest is more than welcome!

      Thank you again so much for your time!

  • At 2 January 2013, 9:17:52 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Manolis Actually, you need to change one setting in MPLAB. Go here:
      Read step 10

      Here is the hex that i found in my PC, and i think is the last one.

      If you try and it works, then pls tell me to change the one in my site.

  • At 23 December 2012, 23:51:58 user Manolis wrote:   [reply @ Manolis]
    • @Giorgos Lazaridis Hello again George and thank you for your response!
      Well I tried following the procedure according to the link you posted but I seem to be getting too many errors and some missing .inc files.

      Here's a link of the output I get when I try to build the project:


      (if you can't see the link, please tell me)

      Would it be too much of a trouble for you to post the FINAL firmware version? I mean the one you used in the video presentation? Either in assembly or (preferably, to be honest) as a .hex file?

      Thanx again for your time!

      Filika, Manolis ;)

  • At 22 December 2012, 7:06:56 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Manolis hmmmm that is so strange indeed. Is it possible that you download the code instead and recompile it? Maybe the hex is corrupted or something.
      Download MPLAB and follow the instructions here:

  • At 20 December 2012, 14:11:22 user Manolis wrote:   [reply @ Manolis]
    • Hello again George!

      After all those months, our build is almost over but we seem to be facing a problem with the values for the timer and the power.

      From the video presentation, I can see that you have no problem going up to 999 seconds (ok. 995 to be precise!) and the power stops (I assume) at 100%. In our design though, the timer stops at a value of 500 and the power is able to go OVER 100% which is quite unreasonable.

      So is it possible that you could give us any hints as to why this happens? Could it be a hex thing or something else? We are using the hex provided here of course and so far we haven't modified it at all!

      Thank you!


  • At 16 December 2012, 20:50:10 user Peter wrote:   [reply @ Peter]
    • @stefano
      I used a self adhesive foil diffuser used to create a frost effect on glass or by people that make back illuminated signs and logos.
      It is not expensive and you can find it easily.
      like George said, after you determine the led to led distance based on the
      led's angle of illumination you can place two accordingly spaced leds on a cardboard and use a piece of difuser on glass or acrylic to experiment with the led-diffuser and diffuser -PCB(use a white paper) distance.
      Try to find the shortest possible leds to pcb distance (greater ligth intensity) that at the same time allows for the ligth from the two leds to blend uniformly.

  • At 5 December 2012, 21:14:47 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @stefano
      1. Sure it is relevant. First of all the exposure time has to do with the intensity. Also, the spacing of the LEDs has to do with the angle of the LED beam. BTW: Cheap LEDs mean cheap results...

      2. Yeah, trial and error is the way. Too close and the diffuser does not work very well, too far, and the light intensity is decreased.

      3-a. Yep, this is what i've used

  • At 1 December 2012, 16:13:33 user stefano wrote:   [reply @ stefano]
    • Hi, congratulations again from the great project, one of the more well-made and studied, IMHO.

      I'm looking forward realizing it, and the shadow-spots thing did really worry me, but it sure did relax myself seeing that someone thought at it as well.. most of the UV LED exposure box out there don't even bother about it.

      However, I've got a couple (maybe many more) questions that I would ask you, eveyone who has made this project and encountered good results and problems.

      1. is the type of LED really relevant?
      As far as I can see, the problem of the radiant angle can be corrected making some calculations and finding the right distance between LEDs and PCB; instead, how much does the intensity of LEDs (mcd) affect the design? only in the exposure time?
      There are really many kinds of UV LEDs out there, from cheap ones (ca. 6 dollars x100 or less) to much more expensive ones.. knowing that i can make a good design even with cheaper ones would be a great news!

      2. how do you calculate the distance between the LEDs and the diffuser? I understood how to get the LEDs-PCB distance, but how do we manage distances using a diffuser? Only via try and repeat?

      3. @Peter : which kind of diffuser paper did you use, and which one would you suggest?

      3-a. Instead of using the diffuser paper (maybe it's quite expensive), a DIY frosted acrylic transparent glass would do as well?

      Many thanks to everyone who takes some time to answer this long questions.


  • At 4 November 2012, 17:41:07 user Peter wrote:   [reply @ Peter]
    • @George
      I have used the light diffusing film and i found it works just fine.
      I used one uv led a small piece of diffusing film on a glass and a piece of white paper as a screen to determine the correct led to film and film to pcb distances.


  • At 12 October 2012, 21:11:19 user Sergey wrote:   [reply @ Sergey]
    • Put that firmware on the video!
      and change the time so not counted in seconds and in minutes!

  • At 23 September 2012, 19:32:11 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @George Nice link George!

  • At 20 September 2012, 7:30:49 user George wrote:   [reply @ George]
    • I saw this light diffusing film, and remembered Georgios' efforts with sand blasting acrylic, so for anyone making this project, this film may be worth a look. I haven't used it myself, but will place a link here, if anyone uses it or has any experience with it, please post a comment.


  • At 3 September 2012, 12:26:45 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Giovanni hello neighbor. You can download the assembly listing and there are all the fuses set there.

  • At 3 September 2012, 12:01:52 user Giovanni wrote:   [reply @ Giovanni]
    • Hello Giorgos, greeting from Italy.My compliment for the well done project. I'm starting with Pic/Avr electronic project my self and I will like to build your UV Box and Timer. Where I'm not proficient is the Pic programming, will you tell me please the fuse setting (if any) because I will program the Pic after the board is assembled.

      Thank you, e complimenti.


  • At 25 June 2012, 7:29:17 user Manolis wrote:   [reply @ Manolis]
    • Well it's certainly not cheap but compared to the $45 of the original, I think it's way better. Glad to know this is the one you use, too!

      Waiting for your next design to be uploaded, thank you once more for clearing things up for me!

  • At 25 June 2012, 5:06:59 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Manolis hmmmm prices have gone really high... yes this is the one i talk about, this is the one i use by the way. and i bought it from the same store for some $24, pike had bought this before me even cheaper... Strange.

  • At 24 June 2012, 20:27:05 user Manolis wrote:   [reply @ Manolis]
    • Ok, George! Thank you very much for your reply!

      By the way, when you say about $20 dollar, I guess you're talking about a Pickit3 clone, right? Not the original one which costs about $45 if I'm not mistaken.

      The cheapest (clone) I could find is the one below:


      Do you think that something like this would work with your suggested PIC (16F1937)?

      Thanx again!

  • At 23 June 2012, 9:10:05 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @Manolis I totally suggest you won't get something less than a PICKIT 3. It is very powerful and you can get for some $20 on ebay.

      And by the way, i have already began designing a new and much powerful exposure box. Be patient... it won;t take long to star uploading pages.

  • At 21 June 2012, 16:10:38 user Manolis wrote:   [reply @ Manolis]
    • Greetings from Greece and thank you for sharing such a great project!

      My question has to do with the PIC programmer. Could you please tell me which one you used? I'm a little familiar with AVRs and recently I began to work with ARM but have never used a PIC before. So I'm looking for a relatively cheap programmer to experiment with (DIY solution included).

      Would a PICKIT 2 clone (found on ebay) or something like this:


      do the trick?

      Thanx a lot in advance!

  • At 26 January 2012, 5:33:20 user Kammenos wrote:   [reply @ Kammenos]
    • @miniyo69 @miniyo69 if you are using the same encoder with me, then the 3 pins that are on the same side are used for the rotation. the middle one goes to the pin 36, and the other 2 to pins 37 38.
      On the other side, the 2 pins are for the button action.

  • At 26 January 2012, 1:43:56 user miniyo69 wrote:   [reply @ miniyo69]
    • hi nice work!! i have a problem i don't know how to connect the rotary enconder and the start stop please anyone can help me

  • At 15 January 2012, 8:41:50 user Kammenos wrote:   [reply @ Kammenos]
    • Ok people, i searched (and searched) and finally found the eagle files for this project. You will find them in page 6 of the worklog.

  • At 12 January 2012, 14:56:54 user Daniel Abrantes wrote:   [reply @ Daniel Abrantes]
    • Hi!!Nice work you done!!!Can you tell me what is the value of the resistors in the led panel?Can you give me the schematics to build it??

      Best regards
      Daniel Abrantes

  • At 15 December 2011, 2:26:04 user Darryl wrote:   [reply @ Darryl]
    • add another to the list of who would be interested in the BOM and Eagle PCB files.


  • At 13 December 2011, 23:00:38 user D-The Greek wrote:   [reply @ D-The Greek]
    • Superb...my mouth just dropped to the floor.

  • At 12 October 2011, 17:08:35 user Kammenos wrote:   [reply @ Kammenos]
    • @George sorry, i must have lost them. I will look again next week when i return from business trip.

  • At 12 October 2011, 5:04:24 user George wrote:   [reply @ George]
    • Was so impressed I\'m going to make one for myself.
      Have already ordered the UV Leds, if it\'s not to much to ask, could you post the eagle files as well, it will save a lot of work.

  • At 11 May 2011, 6:24:38 user matt wrote:   [reply @ matt]
    • Hi, I too am excited about this project and was wondering if you uploaded the bill of materials yet. I am mostly interested in where to buy the UV LED's, diffuser sheet, acrylic glass, and photo-sensetive PCB.

      Your site has helped me so much. Thank you for sharing these projects to everyone and in such great detail.

  • At 22 April 2011, 5:26:01 user Kammenos wrote:   [reply @ Kammenos]
    • @seb no you are not. there isn't any. i will upload one within the next few days (and the eagle files because you cannot make this through the schematic).

  • At 22 April 2011, 4:33:51 user seb wrote:   [reply @ seb]
    • I don't know if I'm blind but I'm unable to find
      the bill of materials and PCBs.

  • At 5 April 2011, 18:32:43 user Kammenos wrote:   [reply @ Kammenos]
    • @herctrap they are not silver, it is the photograph that shows them like this. they are normal copper color.

  • At 5 April 2011, 6:20:54 user herctrap wrote:   [reply @ herctrap]
    • why the pcbs are silver and not gold?

  • At 10 October 2010, 14:28:10 user vitya wrote:   [reply @ vitya]
    • Thanks, I must be blind... Thanks anyway!!

  • At 10 October 2010, 8:16:37 user Kammenos wrote:   [reply @ Kammenos]
    • vitya, in the 6th page of the project, i have upload all the firmware in assembly and hex. The routines are there.

  • At 8 October 2010, 7:50:06 user vitya wrote:   [reply @ vitya]
    • Geia!
      Can you please send me a sample program (in assembly) for a PIC to work with this rotary encoder? I cannot get it to work... :(

  • At 23 January 2010, 20:12:12 user Kammenos wrote:   [reply @ Kammenos]
    • Lyncos, the LEDs emit 25 degrees angle, half the angle is 12.5 degrees. If d=the distance of the LED, then the radius (NOT diameter) of the circle that will appear on that distance is:
      r = d x TAN[12.5]
      The diameter is 2xr. So, in your case that the distance is 30cm, the circle radius that will be created is:
      r = 30 x 0.221 = 6.6cm.
      The diameter is 13.3 cm. I tested this calculation and is precise, as long as the LED emit 25 degrees ray.

  • At 23 January 2010, 19:50:45 user Lyncos wrote:   [reply @ Lyncos]
    • Thanks for the answer. I made my first run yesterday and everything went fine the first time... I have 30 leds as described before with a spacing of about 14 mm at about 30cm high. 5 Minutes later I got a perfect print on my circruit board... It took me 1 month to not even figure out the toner transfer method (never worked for me) .. I will ALWAYS use the photo resist method ... Now I'm waiting for 2 packs of 100x 7000 mcd leds to make bigger circuits.

      Now it's a temporary installation but I'm planning doing a box for it, I would like to lower the height of the installation cause for 2 side circuits it will take too much space... I think I can go half of the height...

      Also I would like to know the formula you used to find out the best spacing/ heigt of the led.. I have a good Idea with triangles formula but would like to know how you done it

      thanks a lot

  • At 21 January 2010, 5:46:43 user Kammenos wrote:   [reply @ Kammenos]
    • Hello Lyncos,

      I used the same LEDs. 1/2'' is a good distance, although i would suggest to you an even smaller distance.

  • At 21 January 2010, 4:50:23 user Lyncos wrote:   [reply @ Lyncos]
    • I started a similar project... what kind of led are you using ? I have 400-405nm, 2000mcd, 5mm leds you think it will works ? I\'m planing doing it with 30 leds 5x6 and about .5 inch spacing.. I will do very small PCB with this first version... I\'m waiting for 200 390-395nm leds for my larger version

      what you think about it ?


  • At 9 January 2010, 9:13:11 user just-3 wrote:   [reply @ just-3]
    • Great idea! Keep up the good work!

  • At 24 November 2009, 13:16:57 user totek wrote:   [reply @ totek]
    • what's the power consumption?

  • At 7 November 2009, 22:22:21 user Kammenos wrote:   [reply @ Kammenos]
    • I am convinced that it will work. The diffusion filter works perfect! This is just a prototype for try-and-error. If it does work, i will make a better one

  • At 7 November 2009, 14:31:32 user choco wrote:   [reply @ choco]
    • Looks good. I just want to see the results in the pcb with the leds.

    reddit this Reddit this

     HOT in heaven!

    NEW in heaven!

    New Theory: AC electric motor working principle

     Contact     Forum     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS   

    Site design: Giorgos Lazaridis
    © Copyright 2008
    Please read the Terms of services and the Privacy policy