Thursday, June 25, 2015

Contactless DTMF switch

This is contactless DTMF (Dual Tone - Multi Frequency) switch to control 16 channel relay boards. This module can turn ON/OFF relays based on DTMF singles which captured from its microphones.

This project is building using 4 commonly available ICs which including TL084, TL081, CM8870 and 74LS154. TL084 is used as microphone preamplifier and LPF. TL081 act as combiner and CM8870 is used to decode the DTMF inputs. 74LS154, demultiplexer is used as line selector. In this circuit TL084 and TL081 and replace with any compatible operational amplifier IC. During our prototyping we replace TL084 with LM324, TL074 and TL081 with TL071 and got the identical results.

For the microphones it is highly recommended to use omnidirectional condenser microphones. In our tests we get good results when both the microphones are in 90⁰ plane.

This circuit is design to work with single rail 5V DC power source and its output terminal (SV1) is compatible with most of the 16 channel relay boards in the market.

To get maximum performance it is essential to build this circuit on PCB with proper shielding. As per our observations regulated power supply is vital for this circuit and AC ripples on power lines may leads to erroneous results.

 Schematic of this contactless DTMF switch is available to download at

Monday, June 15, 2015

UC3844 base motor speed controller

UC3844 is popular current mode controller which is commonly found on DC-to-DC converter circuits and switch mode power supplies. This motor speed controller is also based on UC3844 and it is specifically design to drive 20V - 24V DC motors.

In this given configuration UC3844 produces (approx.) 50kHz to 240kHz PWM output and this range can be adjust by changing the value of C2 timing capacitor. As per the datasheet UC3844 is capable to produce PWM output frequency up to 1MHz.

UC3844 waveforms on RT/CT (Pin 4) and OUT (Pin 6).

This circuit is quiet sensitive to the noises, and to get the accurate output construct this circuit on PCB. As per our observations long wires on oscillator circuit may change the stability of the output signal.

According to the ON semiconductors, UC3844 is now discontinued product but it is still commonly available in the market for less than Rs. 40.00 (LKR). For this circuit either DIP (UC3844N) or SMD (UC3844D1) version of UC3844 can be used but the PCB design available with this article is based on DIP version of UC3844.

The schematic and PCB layout for this motor controller is available to download at

Sunday, June 7, 2015

EAGLE BOM generation script

This is a quick post about EAGLE parts list generation script which I was written to replace existing "part2html.ulp". This script generates more organized and detailed BOM HTML file and it can directly replace "part2html.ulp".

This script is tested with EAGLE 6.6.0, but it can also work with older versions of EAGLE software.

This script is available to download at with usage details.

Tuesday, June 2, 2015

FlashProg - USB serial flash memory programmer

FlashProg is USB base flash memory programmer to work with 3.3V serial flash memory devices. This programmer is specifically design to read, program and configure 25x series, serial flash memory devices which are commonly used to store BIOS in PC mainboards.

Originally we design this project to read and program BIOS of Foxconn G31MXP mainboard. Our version of G31MXP contains Macronix MX25L8005 8M-Bit serial flash memory and we use this programmer to load some of our custom BIOS to this serial memory.

MX25L8005 SPI flash memory on Foxconn G31MXP mainboard

FlashProg programmer is built around Atmel ATmega8A microcontroller with standard through-hole type components and it support for both 32 bit and 64 bit Windows and Linux operating systems. All the compiled binaries for both the platforms are available at project home page at

This programmer use very few components and it can be easily constructed on breadboard or on PCB. Both EAGLE and PDF versions of PCB design files are available with the project package.

Prototype version of FlashProg programmer

This project is an open source hardware project and all it’s source codes, design files and documentation are available at site.