Saturday, December 26, 2015

Multi Stage Simple Programmable Timer Circuit - 16F628A


255 Stages Simple Programmable Timer Circuit

Electronic delay timers are devices which are able to count and produce different time delay intervals as per the external settings. The elapsing of the set time is mostly indicated through an audible alarm to alert the user. Timers play an important role in our everyday life, whether it’s your cell phone, wall clock, TV/DVD sets, computers they are present everywhere.

Usually an ordinary electronic timer is able to produce single-shot delay intervals and setting up its initializing point becomes inaccessible. The present simple programmable timer circuit design eliminates this drawback.

Simple Programmable Timer Circuit - 16F628
Simple Programmable Timer Circuit

This is a one of the simple circuit of programmable timer circuit. The time range of this timer is 1 second to 255 hours. The delay time can be change by dip switches. The whole circuit of programmable timer is build using cheap PIC16F628A microcontroller and few passive components.

Circuit Operation

After power applied, the START led will turn on and you need to configure the delay time, timer mode and repeat mode. The delay time of this circuit can change by using dip switches. Those dip switches are represent 8-bit binary number and that number use to set delay time. When the delay time over, RLY ON led will turn on.

If you need to set delay time to 150 then, dip switch configuration is 10010110 (RB0-RB7).
1 = Off and 0 = On

When you pressed the START button, START led will begin to blink and you can observe timer status by that.

Time Mode

This circuit can operate in 3 different time modes (Seconds, Minutes and Hours). Those modes can select from MODE buttons.

  1. If both PORTA.F6 and PORTA.F7 are low or high, then circuit is running in seconds’ mode (0 – 255 seconds)
  2. If PORTA.F6 high and PORTA.F7 low, then the circuit is running in minutes’ mode (0 – 255 minutes)
  3. If PORTA.F6 low and PORTA.F7 high, then the circuit is running in hours’ mode (0 – 255 hour)

Repeat Mode

If PORTA.F1 is low then repeat mode will turn on. The circuit running continuously and RLY ON led will turn on and off repeatedly.

To control heavy load, remove RLY ON led and connect 5v relay through NPN transistor. Then connect you device across the relay. Supply voltage for this circuit is 5v and use voltage regulator ic such as LM7805, if you use voltage above that.

Simple Programmable Timer
Source File:

Thursday, November 26, 2015

Simple and Accurate LC Meter Circuit - 16F690


Simple and Accurate LC Meter - 16F690
Digital LC Meter

A LCR meter [Inductance (L), Capacitance (C), and Resistance (R)] is a piece of electronic test equipment used to measure the inductance, capacitance and, resistance of a component. Inductance is the property of an electrical circuit causing voltage to be generated proportional to the rate of change in current in a circuit. In Electronics, capacitance is the ability of a body to hold an electrical charge. Capacitance is also a measure of the amount of electrical energy stored (or separated) for a given electric potential. The electrical resistance of an electrical element measures its opposition to the passage of an electric current. The meter reads L, C and R directly with no human calculation required.

Recently I found this LC meter project on internet and I was looking for that kind of project. Therefore, I build. Amazing it is work! Also the accuracy of this LC meter is great and it is very easy to build. So that, I post it here, because I think it is useful to you. You can visit original post from using this link: LMC3

The data below were determined based on theoretical calculations, the scale and the display automatically change.

Min Max Resolution Accuracy
Non Polar Condenser 1pF 1nF 0.1pF 1%

1nF 100nF 1pF  1%

100nF 1uF  1nF 2.5%
Electrolytic Capacitor 100nF 100,000uF 1nF 5%
Inductor 10nH 20H 10nH 5%
Resistance 1mΩ 0.5Ω 1mΩ 5% 
Inductance 0.5Ω 30Ω 10mΩ 10%
Specifications of the LC Meter

Simple and Accurate LC Meter Circuit
LC Meter Diagram

LC Switch:
The purpose of this is, switch between inductance and capacitance mode. When you turn on the LC meter, you should set it to C mode.

Calibration Switch:
You can calibrate LC meter by pressing this. See Calibration for more details.

LC Meter Calibration

You have 3 modes to calibrate. When the process is completed, calibrated values are saving to the microcontroller’s internal EEPROM, so of course they are available after the re-start.

C Calibration
  1. Switch on
  2. Switch L/C switch to C position
  3. Leave the test probes freely. Do not even touch it
  4. Press and hold the CALIB button until the message Switch to meas. Then release the button
  5. Wait for the appearance of 0.00 pF
L Calibration
  1. Switch on
  2. Switch to the L position
  3. Connect L/C probe and GND probe together
  4. Press and hold the CALIB button until the message Switch to meas. Then release the button
  5. Wait for the appearance of 0.00 uH
ESR Calibration
  1. Switch on
  2. Switch to the C position
  3. Connect LE probe and GND probe together
  4. Press and hold the CALIB button until the message Switch to meas. Then release the button
  5. Note the value shown on the screen
Calibration Values
  • F0 = 499.9k
  • Fcal = 355.9k
  • Re = 180Ω
  • Uesr0 = 58.3mV
  • Fesr = 83.6k
  • Rx = 0mΩ [-5mΩ to 5mΩ]

Critical Components

All the below resistors are 1%.
(In my circuit, I used normal resistors and those are measured using digital multimeter)

  • 47Ω - R11
  • 47kΩ - R8
  • 100kΩ - R3-R5
  • 1nF - C8, C11 (Polypropylene or Polyester)
  • 33nF - C10 (Polypropylene 275V AC)
  • 10uF - C7, C9 (Tantalum)
  • 100uH - L1 (Low-loss DC resistance of 0.3-0.4Ω)


Simple and Accurate LC Meter Circuit - 16F690 test c
check 22pF ceramic capacitor

Simple and Accurate LC Meter Circuit - 16F690 test e
check 100uF electrolytic capacitor

Simple and Accurate LC Meter Circuit - 16F690 test l
check 100uH inductor

I was unable to find a reed relay, so I put 5v ordinary relay temporarily. In addition, my PCB designed for the TL2285 switches. But, I bought TL2230 by mistake :)

If the back-light brightness is low, you can increase back-light brightness by decreasing the value of the resistor R2 to 470Ω - 1k. You can change display contrast by adjusting 10k preset.
For PCB, Schematic and hex file, click download button.

You must discharged capacitors properly before measuring.

Monday, November 23, 2015

MikroC Programming Guide


PIC Microcontrollers - Programming in C
Microcontroller Programmer

The purpose of this post is to provide basic information that one needs to know in order to be able to use microcontrollers successfully in practice. This post, therefore, doesn’t contain any super interesting program or device schematic with amazing solutions. Instead, the following examples are better proof that program writing is neither a privilege nor a talent issue, but the ability of simply putting puzzle pieces together using directives. Rest assured that design and development of devices mainly consists of the ‘test-correct-repeat’ work. Of course, the more you are in it, the more complicated it gets since the puzzle pieces are put together by both children and first-class architects.

Copyright © 1998–2012. MikroElektronika. All rights reserved. All trade and/or services marks mentioned are the property of their respective owners.


Wednesday, November 18, 2015

Programmable Digital Seven Segment Timer Circuit - 16F628


Programmable Digital Timer Circuit
Seven Segment Timer

A timer is a specialized type of clock for measuring time intervals. By function, timers can be categorized to two main types. Those are Counts upwards and counts downward.

Timers originally designed to fulfill a need in industry for a means of keeping time on certain devices. Originally, these timers were mechanical devices and used clockwork mechanisms as a means of keeping a regular time. The invention of two electromechanical timer designs allowed for more precise time measurement. The first uses the principle of heat expansion to increase the temperature of a metal finger made of two different metals with differing rates of thermal expansion. As electric current flows through the metal, it begins to heat and one side expands more quickly than the other does, which in turn, moves the electrical contact away from an electrical switch contact. The second uses a small AC motor, which turns at a predetermined rate due to the application of an alternating current.

Finally, digital timers invented. Digital logic circuits are now so cheap that it has become a better investment to buy a digital timer than a mechanical or electromechanical timer. Individual timers implemented with single chip circuits.

This is a very simple adjustable digital timer circuit based on the PIC16F628A microcontroller and it can be programmed to schedule the on and off operation of an electrical appliance. This timer consists of three parts: power supply, control circuit and display. Working voltage of the circuit is 5v - 12v. It depends on the relay voltage. If you use 5v relay then you can omitted the LM7805 regulator IC and apply 5v directly. Otherwise, you have to use regulator IC and apply suitable voltage according to the relay voltage. The schematic is very simple and accurate of the circuit is very good. PIC use its internal oscillator.

Programmable Digital SSD Timer Circuit - PIC16F628A
Programmable Digital Timer Schematic

There are two versions of hex file are available. Those are "4dg_tmr_min.hex" and "4dg_tmr_hr.hex". The first file for the minute timer. It display minutes and seconds. Adjustable time is 1 second to 60 minutes. Other hex file for hourly timer and its adjustable time is 1 minute to 24 hours. This will display hours and minutes on the seven segments.


If the time runs too fast or too slow, you can able to adjust the speed by changing the value of Eeprom address 0. Default value is 44 (0x2c). Typical value is 59 (0x3B). Maximum is 255 (0xFF). In repeat mode delay time before restart the timer, determine by value of Eeprom address 3. Default value is 10 (0x0A). Maximum is 255 (0xFF). See below picture for more details.

Programmable Digital Timer Circuit configuration
Eeprom Configuration

Operation of the timer

This circuit uses 5 push buttons to control the their functions.
  • START/PAUSE: When the timer is on, the device is in pause condition even the switch was in closed position. Pressing this button, you can switch between the start and pause timer.
  • FOR/BACKWARD: This allows you to select counter mode. Either upwards or count down.
  • REPEAT: When the timer reaches 00:00, it starts again from previous value you set.
  • LEFT/RIGHT: This allows you to change values on display. The selected digit is incremented by pressing those buttons and values on the display are stored to the Eeprom.

Now connect device you want to operate, through the relay. Set the desired time using left and right buttons and press start. When the timer reaches 00:00, relay will activate.

Sunday, November 8, 2015

Digital LCD Speedometer and Odometer Circuit - 16F628


speedo odometer

In my previous post, I explained how to build a simple speedometer circuit using a micro-controller and seven segments. Read it from here. This is a further development of that circuit. This circuit indicates both speed and distance.

A speedometer or a speed meter is an instrument that measures and displays the instantaneous speed of a vehicle. An odometer or odograph is an instrument that indicates distance traveled by a vehicle.

speedo odometer circuit
Speedometer + Odometer Circuit

For this circuit I used PIC16F628A micro-controller and 16x2 LCD. You can able to see speed in first line and distance in second line on the LCD. Distance will update every 100 meters and speed updates every one second. Value of distance writes to Eeprom in every 1 km. I also added a button to this circuit. The purpose is, reset the distance to zero.

Same as the Speedometer Circuit, micro-controller count the signals received to RA4 pin and then calculate speed and distance, then display information on LCD. 8 MHz resonator is use to generate clock signals. However, you can always use crystal for it and make sure to add 22pf ceramic capacitors if you use crystal oscillator.

Measure the radius of the wheel and enter it to Eeprom address 0x00. Default value for radius is 30cm (0x1E). I used two magnets to operate reed switch. Please refer my previous post for more details and circuit connection.

Maximum speed is 999 kmh
Maximum distance is 9999 km
Supply voltage is 5v


on line


Recent comment


Free counters!
Copyright © 2012 - Scorpionz™.,All rights reserved | Powered by Blogger