I bought this multimeter(Minipa ET-870C) a while ago for $17, great value. I got it because its nice to have around multiple meters for when you wanna measure both input and output voltage/current. I believe it was advertised to have an auto-off feature for 15 mins but it didn’t. This eventually lead to many drained batteries because I often forgot to turn it off after using it. So during a boring weekend when the weather outside was bad I decided to add this nice feature to the meter. I knew it had to be a small circuit to be able to fit inside the multimeter so I picked the tiny25 the smallest micro I had around.

I quickly put together a simple schematic in Eagle, just the mcu, a voltage regulator a npn transistor and the associated capacitors and resistors. The circuit is powered from the multimeter 9V battery and cuts off the ground path to the meter to turn off its power. No ISP connector was placed on the board to save space but extra long pads were added so I can solder some wires for programming the mcu.


The npn transistor has its base pulled down so when there is no signal coming from the mcu the transistor is off. The pcb was made using the photo etching technique and it was assembled with some solder paste and hot air gun. I also soldered some wires to connect to my MKII programmer and I started writing the code.

To keep track of the time I used Timer0 to generate an overflow interrupt. Knowing the CPU frequency and the prescaler we can find out how often that interrupt will occur. Knowing how often the interrupt will occur we know how many times we need that interrupt to trigger to account for a given time in seconds. This is all calculated inside main.h where you can also specify the time in seconds.

To start the counting process I’m using a tact switch connected on INT0. When the button is pressed the level changed interrupt will trigger on INT0 and we change some flags to start counting as well as turning on the transistor to turn on the multimeter. When the counting reaches the setpoint, the flags reset and the transistor is turned off, thus turning off the meter. At this step the code was running ok except that for a 15 mins period there is ~12s error. I suspect this is because I’m using the internal oscillator which is not very precise.

Since the circuit was intended for extending the battery life, itself had to consume as little as possible. All measurements were made right before the voltage regulator at the battery leads. With no optimization the current draw at 9V was 3.67mA. The tiny25 has 3 sleep modes: Idle, ADC Noise Reduction and Power-down mode. The Idle mode would be good for when we are counting until the setpoint is reached, and the power-down mode for when we are waiting for the button to be pressed(INT0 interrupt trigger). So I’ve added some new lines of code to set the processor into Idle mode when the button is pressed, and to set it to power-down mode the the setpoint is reached and the transistor is turned off.

// Prepare for sleep mode in Idle mode so Timer0 can continue working and providing interrupts


set_sleep_mode(SLEEP_MODE_PWR_DOWN);	// Prepare for sleep mode in Power Down mode

With these new settings the numbers are: in Idle mode the current draw is 3.57mA(only 0.1mA saved) but in power-down mode the current draw is only 17.9 uA(a whopping 3.652mA saved). This will ensure the battery life is not affected by the small timer circuit.

Now that everything was finished all I had to do is mount the small pcb inside the meter. Luckily there was plenty of space between the LCD and the logic board. I attached the pcb with some double sided sticky tape and drilled a hole for the tact switch in a pre marked place(this was probably the place designated for an original on/off-standby button that would of reset the internal auto-turn off feature). The tact switch was fixed in place with some hot glue. The wires were carefully routed on the side of the case and everything was assembled back together.

Now I know what you’re thinking, this mod makes the meter more dangerous with all the wires running so close to the high voltage input jacks but this meter did not have much protection to start with. Only basic 250mA fuse on the small current scale so I don’t think I’ve made it more dangerous than it already was. I really don’t recommend getting this meter if you’re working with high voltages or currents. This is only suitable for small currents/voltages where the input protection isn’t going to make a big difference.

Also you should know that the mod will certainly void your warranty if there is one. I certainly didn’t had any real warranty with this meter.

The source code and Eagle schematics are accessible on github here. As you can see this was also a nice opportunity to get me started with using a code repository. And here are some pictures from the construction/assembly process:

July 19th, 2008

ARDF Timer / Controller

ARDF Timer / Controller

The ARDF controller was created after a request to be able to play random audiofiles for an ARDF transmitter, most existing designs were based on an 16F84, a somewhat aging design and better controllers are currently available. Also most controllers had a 5-10 mA current drain which can be improved, this design requires less than 400 uA.

To allow a very small controller footprint and flexible configuration the timer is not configured with (dip) switches but via a serial connection and a host PC. The memory option is optional and is only required for a wave file playback, all other options (CW, Single Tone, Tone Sequences and Audio Effects) do not require the I2C memory chip.

ARDF Timer / Controller: [Link]

February 25th, 2008

Door Chime Privacy Sentry

It happens to all of us, trying to get some well earned sleep after a good day of work, and BAM! someone sticks its finger into the doorbell’s button. I know you feel terrible when that happens, after you get up and see what happened, who was looking for you, its too late and you cant get back to sleep. The author of this project, developed the solution for this problem, its a circuit that disconnects the doorbell on a timer. So for example if you feel like sleeping for next 8 hours set the timer to 8 hours and there you go, 8 hours of sleep with no-one ringing at your doorbell.

Door Chime Privacy Sentry

To set the timer, you just push the button momentarily, and when its released, the amber LED will come on and the doorbell circuit is disabled (the door bell button doesn’t work) for a 10 hour period. At the end of the 10 hour period, the amber LED goes off and the doorbell is enabled. 24 Hours after the button was last pushed, the amber LED comes back on and the door chime circuit is disabled again. this cycle repeats every 24 hours, and because its timing is set by a crystal oscillator, it should be able to go for months or years without needing to be reset.

The author : ” Simple as it is, I have to say that this is one of the more useful projects for the home that I’ve built. ”

Follow this Link and you will find full info and schematics on building the door chime privacy sentry.

“Door Chime Privacy Sentry” by Richard Cappels

October 26th, 2007

Alarm clock/timer kit

A picture of the finished clock

    This is simple, and the pictures tell you enough. offers you the possibility to buy a kit of this alarmclock/timer that you can assembly yourself. It is available in 2 modes as a kit or ready assembled. The kit comprises of a PCB and all the necessary components.

    The assembled version comprises of a fully populated and tested CPU and display PCB. All that is required is for the two boards to be connected together and mounted on the battery. Printed instructions are provided with both forms of the product. I don’t think they supply you with schematics. That would have been nice to give others the opportunity to build the project themselves. But its their idea and their right to sell it. For full details and ordering click the Link.

A picture of the clocks kit

Built a timer with LCD using AVR

This project belongs to Dim and it can be used to time anything you need, the pcb exposure time, the heating time, just anything. You can set the time between 1 and 90 minutes by pressing the up or down switches. The countdown starts by pressing the on/off switch. By pressing this switch again you can interrupt the process at any time you want. After the time elapsed the timer gives an alarm sounding the end of the process and disconnects the load.

Built a timer with LCD using AVRBuilt a timer with LCD using AVRBuilt a timer with LCD using AVR

By pressing the on/off switch you reset the timer and it’s ready for another lap. The 2X16 LCD display informs you about the remaining time during countdown and other information’s about the operation of the timer. The image shows the timer board with ATTINY2313 running with internal RC but it’s better to run it with external crystal 8MHZ due to better accuracy. The tiny is pin to pin compatible with 90S but you have to program the appropriate fuses for external crystal. You can check the project’s home page for downloading all the necessary files (eagle, HEX files etc.) and detailed instructions to build the project here(link removed).

© 2007-2011 YourITronics | Any logo, trademark and project represented here are property of their respective owners | Wordpress | Privacy Policy    RSS