Super Probe, 16 functions with very few parts

The Superprobe project was designed to see how much could be done with a PIC chip and just a few parts. The image at the right shows the capacitance measuring mode. This device is designed around a PIC16F870, a 4 digit LED display module and very little else.


[i:eb8cceb438]Note: I have recieved a lot of inquiries on this project. To date, several have been duplicated world-wide. Many have been constructed in other types of cases. As long as the circuit is wired as shown, and the object code (below) is programmed into the PIC, the devices all worked perfectly.[/i:eb8cceb438]

Also, I get a lot of requests for translating the source file for MPASM. If anyone has done this, please send me a copy and I will post it on this page.

Also note: If you try to use the object file and your programmer ‘gags’ on it, try removing the second to last line which is simply a chip type designator.

The LTC4627 display is sold by [url=]Mouser[/url] as [url=]512-MSQC4911C [/url] for $2.50 in single quantity. The LM2931 is a low drop out regulator also sold by Mouser (24 cents).

The regulator allows the unit to operate on 5 volts or as much a 30 volts. It also provides 30 volts of reverse polarity protection.

As you can see in the schematic even the usual resistors associated with driving the display have been eliminated. Usually, separate resistors need to be used in series with each segment drive in order to evenly drive the display. The PIC chip, however, limits the current flow to about 25 ma per line. The software is written in such a way that only one segment is active at any one time. This eliminates the effect of multiple segments having to share the same current source at the same time and dimming some digits more than others.

Various testing modes use the resistors in different ways. Unused resistors for any particular mode are removed from the circuit by having their pic pins floated. R5, for instance, is used for the logic pulser funtion. R4 is used to charge a capacitor to measure its value.


The unit was built into a case from a scrapped Radio Shack logic probe (sold for $8 at a closeout price). Similar cases can be found if you look around a bit. All of the original electronics were removed and one side was cutout for a piece of transparant red plexiglass. The circuit was built up on pad-per-hole perf board.

Operation is via 2 pushbuttons. Holding down button #2 while pushing button #1 cycles through operating modes…..

Prob PULS FrEq Cnt VoLt diod CaP SIG ntSC 9600 Midi r/c [] Prn ir38 PWM
(Done on the 7 segment displays).

Here are how each of the modes work at present….

[b:eb8cceb438]Prob – Logic Probe[/b:eb8cceb438]
The logic probe shows ‘H’ for high (over 3.7 volts), ‘L’ for low (below 0.8 volts) and ‘-‘ for floating in the first display location. If a pulse is detected (0.5 usec minimum), the second location flashes a ‘P’.

[b:eb8cceb438]PULS – logic pulser[/b:eb8cceb438]
The logic pulser shows the pulse rate (5, 50, 500, 5.0) in the last 3 locations. The first location shows the sensed logic level as a dash in the bottom or top of the digit. When button #1 is held down, a series of 0.5 microsecond pulses are generated in the opposite direction and the center segment is lit. Pushing button #2 cycles thru the 4 pulse rates. The selected pulse rate is saved on power down.

[b:eb8cceb438]FrEq – Frequency Counter[/b:eb8cceb438]
In the frequency counter mode, hitting button #1 switches the display to the next 4 digits of the count. For instance, the display shows ‘12.57’ for a frequency of 12,576 hz. Holding down button #1 shows ‘2576’ – the lowest 4 digits. If a decimal point shows, the value is in Khz, if the decimal is flashing, the value is in Mhz. Hence, a frequency of 42,345,678 hz is displayed as 42.34 with a flashing decimal. Holding down button #1 in this case will display 5678.

[b:eb8cceb438]Cnt – Event Counter[/b:eb8cceb438]
In the event count mode, the display shows the lowest 4 digits. Button #1 switches to the next higher 4 digits while held down. Button #2 resets the count.

[b:eb8cceb438]VoLt – Voltmeter[/b:eb8cceb438]
The voltmeter uses the power going into the probe as a voltage reference. The current implementation shows only an approximate voltage – about 2% high. This can still be very usefull for most measurements. Do not connect the probe to voltages that exceed 5 volts under any conditions.

[b:eb8cceb438]diod – Diode Junction Voltage[/b:eb8cceb438]
This is just the voltmeter function with 10k resitor feeding current to the probe tip. When a diode or transistor junction is connected from the tip to the ground lead, the drop voltage is displayed.

[b:eb8cceb438]Cap – Capacitance Measurement[/b:eb8cceb438]
When a capacitor is connected from the tip to the ground lead, and button #1 is pushed, its value is displayed. Values from .001 uf to about 500 uf are displayed. The larger the capacitor, the longer it takes to measure. A value of 100uf takes a couple of seconds.

[b:eb8cceb438]SIG – Signal Generator[/b:eb8cceb438]
This mode generates a 500hz squarewave at about 0.5 volts. The signal is only generated while button #1 is held down.

[b:eb8cceb438]ntSC – Video Patern[/b:eb8cceb438]
Generates an NTSC video frame with a white dot pattern when button #1 is held down.

[b:eb8cceb438]9600 – Serial Ascii[/b:eb8cceb438]
Each time button 1 is pushed, the letters A-Z followed by cr/lf is generated. Auto polarity sensing. If the signal injection point is orignally high, then normal (zero start bit) ascii is generated. Otherwise, the other polarity is done. New feature: Button #2 cycles thru 1200, 2400, 4800, 9600 baud.

[b:eb8cceb438]Midi – Midi Note[/b:eb8cceb438]
Sends note number 60 (middle C) on any of the 16 midi channels. Holding button 1 sends ‘note on’. Release of button 1 sends ‘note off’. Buttton 2 cycles thru the 16 channels. The midi channel number is stored.

[b:eb8cceb438]R/C Servo[/b:eb8cceb438]
Generates 1ms to 2ms pulse for r/c servos. Button 1 increases pulse, Button 2 decreases pulse. Defaults to 1.5 ms each time mode is entered.

[b:eb8cceb438][ ] Sqaure Wave[/b:eb8cceb438]
Generates 1 – 9999 hz squarewave. Button 1 decreases frequency, Button 2 increases frequency.

[b:eb8cceb438]Prn – Pseudo Random Number[/b:eb8cceb438]
Generates 10khz digital PRN series.

Generates 1 millisecond on and 2.5 millisecond off of 38khz square wave. When connected to IR LED, used for testing IR reciever modules.

Generates variable pulse width 3-97 percent of a 6khz (approx) digital signal. Button 1 decreases pulse width, Button 2 increases pulse width.

In any mode, holding down both buttons exits to the menu. Once there, releasing and pressing button #1 cycles thru its modes forward. New Feature: Button #2 cycles thru modes backwards.

The mode is saved on power down. Since this device takes its power from the circuit being tested, powering down and back up will restore the same operating mode.

For anyone interested, the Source Code and Object Code are available along with my own PIC assembler, see below.

Any other suggestions for this project? See email address on [url=]home page[/url].

Copyright 2006 [url=]Luhan Monat[/url]Parts:a PIC16F870
a 4 digit LED display module
very little else

Leave a Reply

Your email address will not be published. Required fields are marked *