simple Timer-Addon for my UV-exposure unit

Similar projects worth following
This Timer-Addon controls the pcb exposure time of my cheap C.I.F. UV-Exposure unit.
It came without a timer, so i designed one, that i do not have to stand aside with a stopwatch.
It is a simple and cheap setup, which can be used in various applications.

The setup consists of a Logic Board and a separate 230VAC Power Board.

Logic Board

This board uses a rotary encoder and the 7-segment display + LED as userinterface. The ATtiny84 handles the timing, userinterface and switches the relais on the power board with a transistor.

Power Board

This board is mounted isolatated inside the case. It supplys a regulated 5VDC voltage for the logic board out of a 230VAC mains voltage using a LM2940 low-dropout regulator circuit. A 5V relais switches the current for the uv-lamps. A microfuse protects the ciruit.

Little milled coutouts in the pcb should prevent potiential surface leakage between the small contactspacing of the little relais.


The time period can be set between 1 second an 60 minutes. Seconds can be set by rotating the encoder, minutes can be set by press-rotating the encoder.

The count-down timer can be started and stopped by a short press on the encoder. The relais and LED will be controlled accordingly.

A longer press on the encoder starts the count-up timer without switching off the lamps.

A long press stores the time period to the EEPROM for the next exposure and will be loaded on start of the device.

Userinputs are confirmed with little display animation and a tonesequence.

  • 1 × ATtiny84 Microprocessor
  • 2 × 74LS595 ShiftRegister
  • 1 × 7-segment Display 3digit
  • 1 × Rotary Encoder up, down, click
  • 1 × LED, Transistor, Relais showing state and switching uv-lamps

View all 6 components

  • ​Material costs

    java-jim06/07/2015 at 13:04 0 comments

    Logic Board - 4,53 EURO

    Power Board - 3,82 EURO

    Total - 8,35 EURO

  • Optimising the Timer accuracy

    java-jim06/03/2015 at 10:27 0 comments

    I measured a 15 seconds deviation in a 10 minutes exposure run resuling from the uncalibrated internal 8MHz Oscillator. So an enhancement could be the tuning of the internal osccillator on AVRtiny84 chip with the OSCCAL register...

View all 2 project logs

  • 1
    Step 1


    The Arduino sourcecode is available on Github. Arduino-Tiny Core support files needs to be setup for ATtiny84 and the enhanced pin change interrupts for tiny processors library is needed. I used AVRdudess and a ISP-PogoPin connector for downloading the firmware.


    The EAGLE schematics and board files as well as the CNC drill/mill and LaserCutter (for SMD stencil) files are available on Github.

View all instructions

Enjoy this project?



moltocair wrote 06/07/2017 at 00:27 point
I am from indonesia and interested in project can you help to send design layout pcb uvtimerthis to me, i want to make it for his attention i thank you very much

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates