Become a subscriber (Free)

Join 29,000 other subscribers to receive subscriber sale discounts and other free resources.
:
:
Don't worry -- youre-mail address is totally secure. I promise to use it only to send you MicroZine.

Listening to Digital Signals

The buzz option on a multimeter is really useful because it tells you immediately when there is a short, without you having to read the resistance reading on the display.

The following circuits use a similar idea except that they don't check for shorts, but let you listen to digital signals in your circuit.

The main use for this circuit I have at the moment is to listen to the ICSP signal from MPLAB X when programming a chip. MPLAB X can take quite a while before it has re-built the code (C) and then started the programmer (software) and then gets around to do the actual programming (a different piece of software). All the while you are left staring at the screen waiting for the "programming complete" message to appear!

Then you can test the code out - probably finding that you left out a tiny action and therefore have to go through the whole process again!

This listener circuit lets you forget about MPLAB X so you can do another task such as examining the code you are writing or reading the datasheet etc. Since you can listen for the end of programming using this circuit it means you can save some time which is always a good thing.

Figure 1 shows use of a digital logic FET that has, as you would expect, a gate voltage that is sensitive to logic levels. For the 2N7000 Vgs is between 0.8V and 3.0V - if you need 3v3 logic the 2N7002 has Vgs from 1V to 2.5V but for typical values the typical Vgs for both parts is 2.1V

The 2N7000 is very useful as it does not draw current through the gate so it can be attached to any (logic) signal in your system. This is in contrast to the circuit shown in Figure 2 where a darlington pair is used - in this case a small current is drawn through the base via the 1k resistor

digital listener circuit 2N7000

The darlington pair (Figure 2) stops too much current being drawn through the base (as is the case when a single transistor is used) since the Beta (current gain) of each transistor multiplies the other. It is similar in operation to the FET except that its trigger voltage is ~1.4V.

digital listener circuit darlington

If you want to listen to different signals (perhaps they occur at different times) e.g. ISCP and serial output then Figure 3 shows how to use two diodes as a diode-OR gate.

digital listener circuit diode-or-gate

Note: you can use a piezo crystal (mine was attached to the case of an old watch which meant it should be louder - but it was still too quiet!)

Note: you can use any old NPN transistor eg, with Beta 100 or better.

New! Comments

Have your say about what you just read! Leave me a comment in the box below.



Privacy Policy | Contact | About Me

Site Map | Terms of Use



Visit our Facebook Page:

   Click Here



Recent Articles

  1. [Arduino Tutorial] : How to use the 74HC595 shift register with shiftOut().

    The Essential Guide to the 74HC595; What it is and how you can easily use one in any of your projects.

    Read more

  2. Pic Programmer Types

    Which pic programmer do you need? This page discusses PIC programmers and gives some essential information on choosing or building your own programmer.

    Read more

  3. Arduino Pulsein: an easy way to measure pulse periods in microseconds.

    learn how to use Arduino pulseIn and pulseInLong to get the most accurate pulse measurement on an Arduino.

    Read more

  4. Arduino millis

    How to use Arduino millis() for deylays but still make the processor do work - Stop using delay()

    Read more

  5. Multiple MCP23017 Interrupt tutorial for operating multiple interrupts from multiple MCP23017s.

    This MCP23017 Interrupt tutorial shows you how to connect interrupt outputs from several MCP23017s to a single microcontroller interrupt pin.

    Read more

  6. Arduino delay() How to use it (and why you should not use it!)

    Arduino Delay() is a useful function but not for large programs - Find Out Why Here...

    Read more

Readers Comments

"I wanted to thank
you so so so much
for all the information
you have provided in
your site it's

SUPERB and FANTASTIC."

- Ranish Pottath

"This site really is
the best and my favorite.
I find here many useful
projects and tips."

- Milan

bursach<at>gmail.com<

"Awesome site,
very, very easy and nice
to navigate!"


- Matt
matt_tr<at>
wolf359.cjb.net


Learn Microcontrollers

"Interested in
Microcontrollers?"

Sign up for The
Free 7 day guide:

FREE GUIDE : CLICK HERE


"I am a newbie to PIC
and I wanted to say
 how great your
site has been for me."


- Dave

de_scott<at>bellsouth.net

"Your site is a great
and perfect work.
congratulations."


- Suresh

integratredinfosys<at>
yahoo.com

"I couldn't find the correct
words to define
yourweb site.

Very useful, uncovered,
honest and clear.

Thanks so much for
your time and works.
Regards."


- Anon

Back to Top