This is only a preview of the September 2026 issue of Silicon Chip. You can view 35 of the 104 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Items relevant to "Semiconductor Analyser":
Items relevant to "Stereo FM Transmitter":
Items relevant to "Phenomenal Pinball Machine Part 4":
Items relevant to "Battery BackPack for GPS Clocks":
Purchase a printed copy of this issue for $14.00. |
Analyser
Background image: https://unsplash.com/photos/a-close-up-of-a-circuit-board-H8rKjwyj1Og
SEMICONDUCTOR
This handy Semiconductor
Analyser automatically
identifies most two- or
three-terminal discrete
semiconductor devices,
tells you which pin is which
and displays some useful
information about the device.
It is handy for testing if a
part is good or damaged, for
matching devices, or just
for sorting out that bag of
mystery semiconductors in
your junk box.
U
sing it could not be simpler.
Connect two or three of the test
leads to the component, in any order,
then press the TEST button. After two
or three seconds, the results are displayed on the TFT LCD screen.
The displayed information includes
the device type, a diagram showing
which test lead is connected to which
pin, and in most cases, some key electrical parameters. These are shown for
15 seconds, then the analyser switches
itself off. While results are displayed,
you can press TEST again to initiate
another test cycle, or the OFF button
to put it to sleep immediately.
There is a USB Type-C port on the
end of the unit that serves three purposes:
• It can be used to charge the
internal lithium-polymer (prismatic
lithium-ion) battery.
• It provides a simple serial interface that can display the test results
in a terminal program running on a
computer.
• The USB port can also be used
for uploading firmware, either programming the chip initially or updating it later.
The command-line interface via the
serial terminal provides a bit more
information about the tests being carried out, so it is useful for debugging
or just understanding how the device
has come to the decision that it has.
Capabilities
» Identifies and tests diodes, transistors (bipolar, JFET, Mosfet & IGBT) and
thyristors
» Diodes supported: standard or schottky (single or pair) plus zeners/TVSs/LEDs
up to 10V
» Bipolar transistor tests: NPN/PNP, standard or Darlington with or without
diodes, hfe: 5-25,000
» Mosfet tests: N/P-channel, enhancement/depletion, Vgs(th) (gate-source
threshold voltage)
» JFET tests: N/P-channel, pinch-off voltage
» IGBT tests: freewheeling diode presence, Vge(th) (gate-emitter threshold voltage)
» Thyristor tests: identifies SCRs and Triacs
» Other tests: detects short circuits & open circuits in devices
» Power supply: 1100mAh rechargeable Li-ion cell giving a runtime of ~24 hours
The Semiconductor Analyser works
with the following devices:
▶ Diodes – identifies standard
diodes, schottky diodes, LEDs and
zener (or TVS) diodes with a breakdown voltage between 3V and 10V.
It measures the forward voltage of all
diodes and the breakdown voltage in
the case of zeners/TVSs. The test voltage is limited to 12V, so zener diodes
with a breakdown voltage greater than
about 10V will be identified as standard diodes.
▶ Diode pairs – identifies common
anode, common cathode and series
pairs of standard and schottky diodes.
It identifies common anode, common
cathode and back-to-back LED pairs.
The forward voltage of each diode or
LED in the pair is displayed along with
the test current.
▶ Bipolar transistors – identifies
NPN and PNP bipolar transistors
and Darlington pairs, with or without integrated freewheel diodes. The
Australia's electronics magazine
siliconchip.com.au
Project by Andrew Levido
Features & specifications
28
Silicon Chip
base-emitter voltage and the DC gain
(hfe) are displayed. DC gains in the
range of 5 to 25,000 can be measured.
Some Darlington pairs have higher
gain than this, and in such cases, the
device indicates that the hfe could not
be measured. This does not mean the
transistor is faulty.
▶ Mosfets – identifies N-channel and
P-channel enhancement-mode Mosfets and N-channel depletion-mode
Mosfets. (P-channel depletion-mode
Mosfets can exist in theory, but nobody
makes them). For enhancement-mode
Mosfets, the gate-source threshold
voltage (Vgs(th)) is displayed. This
is the gate-source voltage at which
the drain current rises to 5mA. For
depletion-
mode Mosfets, the gatesource pinch-off voltage is measured.
This is the gate-source voltage at which
the drain current falls to 5µA.
▶ JFETs – identifies N-channel
and P-channel junction FETs. The
pinch-off voltage is measured as for
depletion-mode Mosfets. The Semiconductor Analyser identifies the gate
of a JFET, but the drain and source terminals are usually interchangeable.
In many small-signal JFETs, they are
electrically symmetrical, so the analyser identifies both as “drain/source”.
▶ IGBTs – identifies IGBTs with and
without integrated freewheel diodes.
The gate-emitter threshold voltage
(Vge(th)) is measured in the same way
the gate-source voltage is measured
for a Mosfet.
▶ Thyristors and Triacs – identifies thyristors and Triacs with a gate
sensitivity of 500µA or lower. This
includes most small devices, but some
high-power devices may not be correctly recognised because the Semiconductor Analyser cannot source
enough current to reliably switch
them on.
▶ Short and open circuits – a dead
short between any two, or all three
leads is detected and flagged as an
error. A short-circuit is indicated if
the voltage drop between the leads is
less than 100mV in both directions.
An open-circuit error is flagged if
there is no conductivity between any
of the three leads. If the device does
not check out as one of those mentioned above, it is flagged as faulty or
unknown.
The voltage applied to all devices is
limited to 8V until a preliminary identification is made. This is necessary to
avoid damage to logic-level Mosfets,
siliconchip.com.au
which have a very thin gate oxide layer
that can be damaged by voltages above
this. Mosfets are never tested at higher
voltages, but other components may be
tested at up to 12V.
The test current is at all times limited to around 10mA, so the Semiconductor Analyser is not likely to damage
any component you connect, regardless of the lead connections.
How it works
It is by no means a simple task to
positively identify such a wide range
of semiconductors given the enormous
variation in parameters, but in the end
it all comes down to two basic measurement configurations, as shown
in Fig.1.
At left is the positive drive configuration, where the drive polarity is positive with respect to the power node,
and at right is the negative drive configuration, where the drive polarity
is negative with respect to the power
node. The power node can therefore
either be at ground potential or at 12V.
The load node consists of a 1kW
resistor in series with a voltage source,
Vl. The voltage source can be adjusted
to put the appropriate bias between the
power and load nodes. When the bias
voltage is limited to 8V, Vl would be
set to 8V in the positive drive configuration and 4V in the negative drive
configuration.
The load current, Il, is limited by
the 1kW load resistor and the on-
resistances of the analog switches
(more on this below) to a maximum
of about 10mA. This current can flow
in either direction, depending on the
configuration. I have used the convention that current flowing out of the load
node is positive and current flowing
into it is negative.
The third terminal is connected to
the drive node. This can be a variable voltage source for voltage-driven
devices like Mosfets, or a variable current source/sink for current-driven
devices like bipolar transistors. The
drive node can also be left open or
connected to the load or power nodes
if required.
A 3 × 3 analog switch matrix (Fig.2)
allows each of the three test leads to
be connected to any of the test nodes.
The voltage at each test lead is measured by the microcontroller. We measure the voltages directly at the terminals of the device under test (DUT)
rather than at the power, load and drive
Australia's electronics magazine
Fig.1: all of the tests conducted by the
Semiconductor Analyser are based on
these two configurations involving a
power node, a load node and a drive
node.
Fig.2: each of the three test nodes can
be connected to any of the three test
leads (labelled red, green and blue) by
a 3 × 3 analog switch matrix.
September 2026 29
nodes because the analog switches
each have roughly 40W on-resistances
and we do not want the voltage drop
across them to introduce measurement errors.
Identification process
You can probably see how we might
use the circuits in Fig.1 to characterise components if we knew what they
were and which pin is which, but we
know neither of these things at the
outset. For this reason, the identification process starts with a set of simple continuity tests between each pair
of leads.
The continuity is measured twice in
each direction, once with the positive
and once with the negative drive configuration. During these tests, the third
lead is driven by a 500µA current of
the appropriate polarity.
We need to drive the third lead
because we would get unreliable readings if it were left open while connected to a Mosfet or IGBT gate lead.
Any stray charge on the open gate
lead could put the Mosfet/IGBT in an
unknown state.
The yes/no results of the 12 continuity measurements (3 pairs of leads
× 2 directions × 2 drive polarities) are
stored as bits in a test flags variable.
The hexadecimal value of this register serves as a ‘signature’ that can be
used to help identify the device and
its connections.
Some devices are unambiguously
identified and orientated by just these
flags. Single diodes and diode pairs
connected anode-to-cathode are two
such examples. Most, however, need
further disambiguation.
It might be best to use an example,
since it’s not practical to cover the
identification process for each device
type. An NPN bipolar junction transistor (BJT) or an N-channel junction
field-effect transistor (JFET) with the
blue lead connected to the base or
gate will have test flags of 0x3C5. The
four possibilities are shown at the top
of Fig.3.
The 0x300 bits indicate conductivity from the blue lead to the red lead,
but not from red to blue, for both drive
polarities. The 0x0C0 bits indicate the
same thing from the blue to the green
Fig.3: an NPN BJT (bipolar transistor) and an N-channel JFET have the same
continuity signature when connected as shown. Test 1 determines what device it
is, while Test 2 identifies the emitter and collector if it is a BJT.
30
Silicon Chip
Australia's electronics magazine
leads. I have shown this symbolically
by the grey diodes in the figure. The
0x05 bits indicate conductivity in
either direction, but only when the
drive is positive (red diodes).
The signature for these same components would be 0xC53 if the red lead
was connected to the base/gate and
0x53C if the green lead was connected
to the gate. The BJT has this continuity
signature because of its base-emitter
and base-collector PN junctions and
because the transistor is biased on by
a positive base current.
The collector-emitter path conducts both ways when a transistor is
switched on because bipolar transistors have an appreciable reverse gain.
The reverse gain is a lot lower than the
forward gain; a fact we will use to our
advantage below.
An N-channel JFET has the same signature as an NPN BJT, but for different
reasons. The channel is a single piece
of N-doped silicon, with the drain and
source terminals at either end, so it is
conductive in both directions when
the JFET is unbiased.
The gate region is P-doped, so it
forms a PN junction with the channel. This diode can be measured from
gate-to-source and from gate-to-drain.
The channel does not conduct
when the gate-channel junction is
reverse-biased, as the depletion region
expands to ‘pinch off’ the channel.
This is why we see conductivity in
both directions when the gate is positively biased and no conductivity
when the gate is negatively biased.
At this point, we know that we have
an N-channel JFET or an NPN BJT, and
we know which test lead is connected
to the gate or base. It is the blue one
in this 0x3C5 example, but depending
on the signature, it may be one of the
other leads. We need a further set of
tests to fully identify the part and its
connections.
The next test (Test 1 in the figure)
is a simple measurement of load current between the two unknown leads
(red and green in our example) with
the gate/base lead shorted to the power
node. A JFET will conduct regardless of the orientation of the drain
and source due to the symmetry of
the channel. A BJT will not conduct
between collector and emitter when
there is no base drive.
The above statement is technically correct, but we need to add a
caveat. In the configuration where the
siliconchip.com.au
base-emitter junction is reverse-biased
(second from the left), there may be
some current flow due to reverse breakdown. A reverse-biased emitter-base
junction experiences avalanche breakdown (like a zener diode) at around
7-8V, so this could occur with Vl set
at 12V.
This neatly illustrates the type of
challenges encountered in designing
this project. I had to choose a current
threshold that would reliably discriminate between a BJT with emitter-base
breakdown and a JFET with a high-
resistance channel.
A threshold of 5mA means a BJT
with a breakdown voltage of ~6V or
above will be correctly identified,
as will a JFET with a drain-source
on-resistance of ~1.2kW or below.
This should work for just about every
device out there, but the window is
narrow and a good understanding of
second-order effects is required.
If we find the device is a JFET, we
have done all we can to identify it
unambiguously. As mentioned above,
there is no way to tell the drain from
the source as they are electrically identical. If we have a BJT, however, we
still have to determine which lead is
the emitter and which is the collector. To do this, we use the fact that the
reverse gain is always lower than the
forward gain.
Test 2 consists of two parts, as
shown at the bottom of Fig.3. The
drive node is set to +500µA and the
load current is measured in both
directions.
If the current in the red-to-green
direction is greater than 2.5mA and
higher than that in the green-to-red
direction, we can assume that the
green lead is the emitter. If the current
in the green-to-red direction is greater
than 2.5mA and larger than that in the
red-to-green direction, we can assume
that the red lead is the emitter.
An internal view of the
Semiconductor Analyser, showing
the PCB and battery. The battery is
mounted using double-sided foam tape.
If neither of these is true, the forward gain is less than five times, so
the device is probably faulty or it is
something unknown.
This type of discrimination testing
is performed in each case of all ambiguous continuity test results. The tests
undertaken are specific to the device
in question, but there is only ever a
handful of possibilities to sort out, so
the complexity of each of these discrimination tests is similar to the one
described above.
Characterising the device
After the part and its connections
have been identified down to the
Screen 1: this
serial console log
shows the testing
process in a bit
more detail, in this
case for a BC847
transistor and an
MMBFJ112 JFET.
In both cases, the
initial test flags
give the same
result.
siliconchip.com.au
Australia's electronics magazine
family level, another set of tests is
carried out to further characterise it.
To continue with our example, if the
DUT is a JFET, the pinch-off voltage is
measured. If it is a BJT, its base-emitter
voltage and hfe are measured.
The base-emitter voltage is used to
determine if the DUT is an ordinary
BJT or a Darlington pair, since the latter has two base-emitter junctions in
series and will thus be over 1V. In the
same way, forward voltage is used to
discriminate between standard diodes
(~0.6-0.7V), schottky diodes (~0.30.5V) and LEDs (>1V).
Only the final results are displayed
on the LCD screen, but a bit more
insight into the process is provided
via the serial output. Screen 1 shows
the serial output when testing a BC847
BJT and an MMBFJ112 JFET, each connected as per Fig.3. Both have initial
test flags of 0x3C5 and you can see
them going through the tests described
above.
The first test with the gate/base
unbiased gives an IDUT(0) figure of
3.6mA in the case of the bipolar transistor, and around 10mA in the case
of the JFET. The 3.6mA value for the
BJT suggests an emitter-base reverse
September 2026 31
Parts List – Semiconductor Analyser
1 double-sided PCB coded P9062-1-C, 130.5 × 56.5mm
1 front panel label, 55 × 128.5mm
1 Hammond 1593XBK plastic enclosure, 140 × 66 × 28mm
3 test clips; red, blue and green (CON1-3) [Cal Test CT3180-2, -5, -6]
1 1100mAh Li-Po cell, 51 ×34 × 6mm (BAT1) [Core Electronics CE04377]
1 USB4105-GF-A 16-pin USB-C connector (CON5)
1 JST S2B-PH-K-S 2-pin right-angle header, 2mm pitch (CON6)
1 Littelfuse 1210L075/24PR resettable PTC fuse or equivalent (F1)
1 SMD M3225/1210 6.8µH 1A inductor (L1) [Murata 1276AS-H-6R8M=P2]
1 320 × 240. 2.4-inch TFT LCD with ILI9341 driver and 18-pin, 0.8mm pitch
flex cable (LCD1) [AliExpress 1005005796800307 “ILI9341-No Touch”]
2 SMT gull-wing tactile switches, 6.6mm, with 8.5mm actuator (S1, S2)
[E-Switch TL3301PF160QG]
1 audio transducer (SPK1) [CMT-0525-75-SMT-TR]
4 4G × 6mm panhead self-tapping screws
3 lengths of hookup wire with red, blue and green insulation,
each 350mm long
Double-sided 3mm-thick adhesive foam tape
Semiconductors
3 DG412 quad NO analog switches, SOIC-16 (IC1-IC3)
3 LMC7101 general-purpose op amps, SOT-23-5 (IC4, IC5 & IC7)
4 TLV2186 dual zero-drift op amps, SOIC-8 (IC6 & IC8-IC10)
1 STM32L433CCT6 LQFP-48 microcontroller (IC11)
1 MAX1555 battery charger, SOT-23-5 (IC13)
1 TLV61046 boost converter, SOT-23-6 (REG14)
2 MCP1711T-33 low-dropout linear regulators, SOT-23-5 (REG15 & REG16)
3 AQ4022-01FTG-C bidirectional 12V TVS diodes, SOD-323 (TVS1-3)
1 SMBJ5.0A unidirectional 5.0V TVS diode, DO-214 (ZD4)
1 3mm yellow through-hole LED (LED1)
2 BSS138K N-channel Mosfets, SOT-23 (Q1, Q2)
4 BAV99 series switching diode pairs, SOT-23 (D1-D4)
Resistors (all SMD ±1% M2102/0805 unless noted)
7 100kW
1 47kW ±0.1%
1 43kW
4 36kW ±0.1%
1 30kW
5 27kW ±0.1%
1 27kW
4 20kW ±0.1%
1 20kW
1 15kW
7 10kW ±0.1%
1 10kW
2 5.1kW
1 1.2kW ±0.1%
A close-up of the test clips when not
1 1kW ±0.1%
in use – the plastic colour matches the wire for easy
3 1kW
identification. The test clips included in the kit may not be
1 510W
exactly the same but will be similar.
2 33W
1 10W
Capacitors (all 50V SMD X7R ceramic M2102/0805 unless noted)
9 100nF
7 10nF
6 10µF 16V
Optional parts
1 10-pin 1.27mm pitch SMT header (CON4) [CNC Tech 3220-10-0300-00]
4 small self-adhesive rubber feet
breakdown voltage of about 8.4V.
In the case of the BJT, the forward
and reverse gain is measured. IDUT(1-2)
is the lesser of the two, so the emitter must be connected to the red lead.
Once the primary identification is
finished, the relevant measurements
are made. The BJT has a base-emitter
voltage of 0.74V at 1mA (so it is not a
Darlington) and an hfe of 496 at a collector current of 8.7mA. The JFET has
a pinch-off voltage of -3.1V.
Implementation
Kit (SC7725, $95 + P&P): includes an assembled PCB with all top-side components
already fitted, plus all the other non-optional parts except the case, battery and label.
The hardware is best understood
with reference to the block diagram
(Fig.4). The input leads are protected
by a circuit that limits the voltage
between any two leads to a safe level.
This protection is mostly there to
protect against ESD (electrostatic discharge) and perhaps a fleeting accidental connection to a low-voltage,
low-power circuit. The Semiconductor Analyser is not designed to
be used as an in-circuit tester; it may
be damaged if connected to a powered circuit.
The three input lines are connected to the test nodes by nine analog switches in a 3 × 3 matrix, shown
as blue-filled circles in the block diagram. As mentioned above, the DUT
voltages are measured directly at the
test leads.
The Power Node is very simple. It
has to provide 12V or 0V to whichever
lead it’s connected to and must be able
to source and sink at least 10mA.
The Load Node is a little more complex. A variable voltage source is created using one of the microcontroller’s
two digital-to-analog converter (DAC)
channels. This drives the Load Node
via a 1kW load resistor. The microcontroller measures the voltages on either
side of the 1kW series resistor, then
subtracts and scales them to calculate
a signed value for the load current.
The Drive Node comprises three
separate sources: two bipolar current
sources and a voltage source. Since
only one of them is used at a time,
they are all driven from a single DAC
output.
Two current sources, high range and
low range, are needed to measure the
DC gain of bipolar transistors over a
very wide range.
At the lower end, we need to measure hfe in the low single digits (say
2) so we need a gate drive current of
around ±5mA. The low current range
Australia's electronics magazine
siliconchip.com.au
32
Silicon Chip
Fig.4: the block diagram of
the Semiconductor Analyser. The
blue-filled circles are analog switches.
has a full-scale current of around
120μA.
Circuit details
The full circuit is shown in Fig.5 and
you should be able to see how it relates
to the block diagram. The approximate
sections that correspond to the Power
Node, Load Node and Drive Node are
marked in green text.
The input leads are protected by
three bidirectional 12V TVS diodes
connected between the leads (TVS1TVS3) and three diode pairs (D1-D3)
that shunt away any voltages above
the 12V rail or below ground.
The three input lines are connected to the test nodes by nine analog switches out of 12 in three quad
packages (IC1-IC3) in a 3 × 3 matrix.
The three remaining analog switches
are used in the Drive Node to select
one of the three sources. I have used
low-cost, industry-standard DG412
quad analog switches here.
These have an on-resistance of
around 40W, so the DUT voltage is
measured directly at the test leads. The
lead voltages are buffered by op-amp
voltage followers (IC10a/b and IC6b)
and reduced to a level suitable for the
siliconchip.com.au
ADC by simple voltage dividers. I have
used ±0.1% resistors here because my
design goal was to keep errors for all
measurements to ±0.5% or better if I
could manage it.
The 1kW resistors in series with the
buffers’ non-inverting inputs provide
an extra layer of protection for the op
amp’s internal ESD diodes.
The Power Node is very simple. I
used an LMC7101 op amp in a non-
inverting amplifier configuration
(IC4), driven from a digital output
pin on the microcontroller. The gain
Screen 2: the display when a 2N7002K
N-channel Mosfet is connected. This
is a logic-level device, as confirmed by
the low Vgs(on) figure.
Screen 3: here a 3.3V 1W zener diode
is connected. The reverse breakdown
voltage is just 2.5V because the 3.3V
specification is at a higher current.
Australia's electronics magazine
September 2026 33
is set at around 3.9× so that any input
above 3.1V will drive the op amp to
saturation. If the digital output is at
logic zero, the op amp’s output will
be close to 0V.
The absolute voltages at the Power
Node are not critical, but we do want
them to be reasonably stable with load.
The LMC7101 was chosen for this
application (and the Load and voltage Drive Nodes) because its common-
mode input range includes both power
rails and because it can drive to within
100mV of either rail while sourcing or
sinking 10mA.
The Load Node is a little more complex. A variable voltage source is created by a non-inverting amplifier (IC5)
driven by one of the microcontroller’s
two DAC channels. The gain-setting
resistors are ±0.1% types, not because
we need this precision for the load
voltage, but because these resistors
double as a voltage divider to measure
the voltage on the op-amp end of the
1kW resistor.
The voltage at the DUT end of this
resistor is measured via a buffer op
amp (IC6a) and another precision
divider. The microcontroller subtracts the two unsigned ADC results
corresponding to the voltage at either
end to get a signed value for the load
current.
The Drive Node voltage source is
a non-inverting amplifier similar to
the one used in the Load Node (IC7),
except this time there is no need for
high-precision components.
The two current sources are identical, based around dual op amps IC8
& IC9, except for the 47kW and 1.2kW
current-setting resistors.
The 12-bit resolution of the DAC
means each current step of the high
range (IC8) is about 1.2µA, but to
maintain a minimum 1% gain precision, the lowest current we can use is
120µA. This corresponds to a DC gain
of around 70×, which is why we need
a second current range.
With a full-scale current of 127µA,
the low range has a resolution of
around 31nA. The two ranges give us
a DC gain resolution of ±1% or better
from hfe values of 5 to around 2700,
worsening to about ±9% at the upper
limit (25,000) that I have imposed.
Howland current sources
These two circuits are an interesting configuration known as a Howland current source. They are used
34
Silicon Chip
Australia's electronics magazine
siliconchip.com.au
Fig.5: the full circuit of the Semiconductor
Analyser. Refer to the text for a complete
explanation of how it works.
siliconchip.com.au
Australia's electronics magazine
September 2026 35
measurements and averaging samples
over one mains cycle almost completely eliminates mains interference
from the measurements.
The ADC and DACs are powered
from a special 3.3VA analog supply rail
that also feeds the Howland sources’
voltage dividers and the LCD driver
chip. This supply is switched off
entirely (along with the 12V rail) when
the Semiconductor Analyser is off.
Note the easy to miss cut-out on the bottom
The absolute voltage of this analog
of the case for the USB-C socket. The LCD
supply rail is calculated each time
module is mounted to the PCB using doublesided foam tape.
the unit starts by reading the voltage
of an internal bandgap reference and
diagram, we can use Ohm’s Law to using a stored calibration reading. In
derive the simple expression for Iout this way, we can convert the ADC and
shown below it. If we substitute the DAC codes to absolute voltages with a
difference amplifier gain expression known degree of precision.
for Vout, we get the expression for outThe LCD screen is a low-cost
put current at lower right.
240×320-pixel (QVGA) TFT available
In the Semiconductor Analyser, I from the usual Chinese sources. An SPI
have set the ratio of R2:R1 to 3.6 for (serial peripheral interface) interface is
both circuits to maximise the voltage used to communicate with the LCD’s
swing at the op amp’s output. In both ILI9341 driver chip, with a couple of
cases, V2 is set to the midpoint of the additional GPIOs (general purpose I/O
3.3V analog supply by 20kW/20kW pins) required for control signals. The
dividers. These are the equivalent
integral backlight is PWM-controlled
of 1.65V sources in series with 10kW via Mosfet Q1.
resistors.
Another PWM channel is used to
The output current of the high- drive the audio transducer via Q2.
current source will therefore vary
Both of these circuits consume relahere because they can provide a vari- from -4.95mA when the DAC voltage tively large spikes of current, so they
able bipolar current programmed by a is zero to +4.95mA when it is 3.3V. are both supplied directly from the
unipolar control voltage. The circuit When the DAC output is at half-scale unregulated battery voltage.
looks complex, but it is pretty easy to (1.65V), the output current will be
Two tactile pushbuttons complete
follow because it is based on the classic zero. The low-current circuit can like- the user interface. The TEST button
difference amplifier, like that shown wise source or sink between ±126.4µA. is wired to a GPIO pin which has an
at the top of Fig.6.
additional ‘wake up’ function that is
The expression for Vout at lower Control circuitry
enabled when the device is switched
left in Fig.6 is easy to work out using
The Semiconductor Analyser is off.
superposition. You just calculate the built around an ST32L433CCT6 microWhen the Semiconductor Analyser
expression for Vout for each input sep- controller, IC11. This was chosen
is off, the micro is put into its lowest
arately (with the other two grounded) because it is a low-cost, low-power power configuration, known as shutand add them together.
device but has a powerful M4 Cor- down mode. In this mode, almost
With V2 and V3 grounded, the cir- tex core and 256kiB of flash memory. everything in the micro is powered
cuit looks like a voltage divider with A good deal of flash is necessary to down, including almost all the periphthe input at V1 followed by a non-in- hold the graphics files to display on erals and even the RAM. The only
verting amplifier. With V1 and V3 the LCD screen.
things that can wake it are the realgrounded, it looks like an inverting
I used two bits per pixel (four alpha/ time clock (which I don’t use) and a
amplifier with the input being V2. transparency levels) for the images and few designated ‘wake up’ pins.
With V1 and V2 grounded, the circuit font glyphs as a compromise between
The measured power consumption
looks like another voltage divider,
size and image quality. The micro- in this mode is around 1µA, so the
with input V3 followed by a non-in- controller comes in a 48-pin leaded battery life when the analyser is off is
verting amplifier. Adding these results
surface-mounting package, making it virtually unlimited. Because the RAM
together gives the expression shown.
relatively easy to hand-solder. All but is powered down in shutdown mode,
The output is proportional to the two of the pins are used.
waking up is the equivalent of restartdifference between V1 and V2, offset
The micro includes a 12-bit DAC ing from a reset.
by V3. In many difference amplifier and a 12-bit ADC with a built-in overThere is an optional programming
circuits, V3 is grounded, and the off- sampler. The ADC oversampler is and debug header (CON4) in case you
set term disappears.
configured to average 256 individual want to connect a suitable STM32 proIf we add the buffer and sense samples over 20ms for each reading. gramming or debug probe. You don’t
resistor, as shown in the right-hand Oversampling reduces noise in the need to load this header if you intend
36
Silicon Chip
Australia's electronics magazine
siliconchip.com.au
to update firmware via the USB port or
if you have a pre-programmed microcontroller.
The micro’s USB device peripheral is connected to the USB connector via two 33W resistors to provide
some basic protection against ESD
discharges. The USB control channel
pins (CC1 and CC2) are pulled down
via 5.1kW resistors to ensure any USB
Power Delivery source connected to
the unit provides the default 5V bus
voltage.
The microprocessor senses the
bus voltage via a 20kW/30kW voltage divider. If the bus is present, the
sleep timer is inhibited, and the device
remains on indefinitely unless the OFF
button is pressed. TVS diode ZD4 and
PPTC fuse F1 protect the device from
accidental bus overvoltage or (less
likely) reversed polarity.
A MAX1555 linear Li-ion charger
manages the charging of the single-cell
1100mAh battery. A yellow LED lights
up when the cell is charging.
The battery voltage is boosted to 12V
via switching converter REG14. This
is one of the simplest boost converter
chips I have ever used, requiring just
an inductor and one output capacitor.
Two linear regulators provide the 3.3V
digital and analog rails.
As mentioned above, the 12V rail
and the 3.3VA rail are only enabled
when the unit is awake. The other 3.3V
rail powers only the microcontroller
core and is always on.
All three regulators were chosen
for their very low quiescent currents,
which are included in the 1µA off
consumption mentioned above. As
a happy accident, they all come in
hand-soldering-friendly SOT-23-5/6
packages. This is especially pleasing in the case of the boost converter,
as most switching regulators seem to
come only in tiny leadless packages
that are a pain to solder.
Device firmware upgrade
The STM32L43xxx family of
microcontrollers (along with many
others from ST) contains a bootloader
that can be used to download firmware without the need for a specific
programmer or debugger. The bootloader code resides in a special area
of flash, separate from the main user
memory, and it can’t be modified by
the user.
Under normal operation, the microcontroller boots into the main flash
siliconchip.com.au
Fig.6: the Howland current source is a clever circuit that can produce a
programmable bipolar current output. It is based on a classic difference
amplifier.
Fig.7: these overlay diagrams show where parts go on both sides of the PCB.
Resistors with red labels are ±0.1% types; the rest can have a ±1% tolerance.
The test lead wires loop through the strain-relief holes in the PCB and are
soldered from the top side.
and executes the user code from there.
However, if the main flash is empty or
the BOOT0 pin is pulled high when
the microcontroller emerges from
reset, the bootloader code is executed
instead.
The bootloader’s role is to download the user code through one of
several serial interfaces (USART,
CAN, USB, I2C, I3C or SPI) and load
it into the flash memory. A specific
Australia's electronics magazine
communication protocol is defined
for each interface.
We are only interested in the USB
interface, which uses a protocol
known as “device firmware upgrade”
or DFU. I will explain how to use DFU
mode to load or upgrade firmware
later. For now, it is enough to know
that the BOOT0 pin of the microcontroller is normally pulled down by a
resistor, but it can be pulled high by
September 2026 37
bridging a pair of pads on the PCB (JP2)
to enter DFU mode.
Construction
All the components except for
the battery are mounted on a PCB
coded 9062-1-C that measures 56.5 ×
130.5mm. Most of the components are
mounted on the top side of the board,
with the exceptions being the LCD
screen, pushbuttons, beeper and the
battery charge LED.
Start construction by mounting
all the components on the top of the
board. Make sure you observe polarity where relevant and watch where
the ±0.1% resistors are placed. They
are marked in red on the overlay diagram (Fig.7).
While the parts are all spaced out
fairly well and so could be fitted in any
order, we suggest you start with the
finer-pitch devices or those with many
leads, such as the regulators and ICs,
Fig.8: drill the front of the
enclosure and the end panels
according to this diagram. Don’t
forget to snip out the two bosses
inside the case as shown.
then move on to the discrete semiconductors and passives. The advantage
of doing it that way is that you have a
little more room to work on the more
difficult devices.
Various soldering methods could
be used, including an IR reflow oven,
hotplate, hot air wand, or regular soldering iron.
If using a regular soldering iron,
apply a little flux paste to the pads
before placing each part, then check
its orientation carefully after placing
it and tack-solder one pin. Check the
orientation and positioning again and
adjust it if necessary.
Once you are happy that all leads
are centred over the correct pads, tack
another pin, then add a little more flux
paste on top of the leads. You can then
either drag-solder the remaining leads
or solder them one at a time with a
small amount of solder on the tip of
a clean iron.
Make sure you don’t touch the two
initial joints holding the part in place
until more joints have solidified. Also
be sure to refresh those initial joints
with a little flux paste and some extra
heat from the iron to ensure they have
flowed correctly.
If any pins are bridged during soldering, simply add more flux paste
and use a little solder-wicking braid
pressed down by the tip of a hot iron
to draw the excess solder away. Flux
is your friend when soldering finepitch devices.
The USB connector has both SMT
and through-hole pads. If you solder
the through-hole pins first, it helps to
locate the SMT pins, making it much
easier to solder.
It is pretty easy to accidentally
create a solder bridge in the microcontroller of USB connector leads,
so check these carefully under magnification and clean up any possible
bridges with solder wick and plenty
of flux. It’s easier to see possible
bridges after soldering if you clean
away the flux residue (eg, using isopropyl alcohol and a lint-free cloth
or nylon brush).
Once you have fitted all the components to the top of the board, it’s time
to prepare the case.
Case preparation
Next, prepare the case according
to Fig.8. Mark out the top of the case
carefully, then remove the two bosses
on the inside of the case top as shown
38
Silicon Chip
Australia's electronics magazine
siliconchip.com.au
in the figure. These coincide almost
exactly with the locations of the tactile switches, so will interfere with
drilling their holes if not removed. It
is sufficient to just snip them off with
side cutters so they are more-or-less
flush with the inside of the case.
Drill the holes and cut out the display window. I added a chamfer to
the edges of the display opening, but
that is purely cosmetic, so it’s entirely
optional.
The enclosure is supplied with both
flat and profiled end plates – we only
use the flat ones. I made the three lead
holes 2mm in diameter because that
suited the test leads I was planning
to use. You may have to adjust this
to suit the leads you intend to use.
The USB slot is best made by drilling two holes as shown and cutting
out the material between them with
a sharp blade.
Once the case is ready, you can fit
the components on the bottom side of
the PCB. It is best to fit the LCD screen
first. Place the LCD face-down on the
bottom of the board with the end of
the flat flex aligned vertically with the
horizontal lines on the overlay. Make
sure the contacts are aligned with the
pads, and the LCD is parallel with the
edges of the PCB.
Use a small piece of tape to temporarily hold the flat flex in position, then carefully solder each connection.
Once you have finished that, fold
the display up into its final position
and temporarily secure it to the board
with sticky tape. The display will be
finally fixed down with double-sided
foam-core tape, but I suggest testing
everything first. Accessing LCD terminations is difficult to impossible once
it is permanently affixed.
Now you can add the pushbuttons,
making sure to use the marks on the
PCB silkscreen to centre the switches’
actuators so they line up with the holes
in the enclosure. Solder in the audio
transducer next, then thread the LED
through the appropriate holes, taking
care to get the polarity right (the cathode goes toward the USB connector),
but don’t solder it just yet.
Fit the PCB assembly into the case
and secure with self-tapping screws.
You can now push the LED through
the hole in the case just far enough
that the domed part at the top is just
proud of the front panel. When you
are happy, you can solder the leads
siliconchip.com.au
Screen 4: the free STM32CubeProgrammer app
can be used to download the firmware to the
Semiconductor Analyser via its USB port.
Fig.9: a simplified 3D view of the finished
board, showing how the wires, LCD screen,
LED and other parts are fitted.
on the top side of the board and trim
off the excess.
Testing and programming
We are just about ready to fire up the
unit and get it working. The best way
to start is to connect a current-limited
power supply to CON6, set to 4V DC.
The correct polarity is marked on the
overlay diagram in Fig.7.
A current limit of 150mA is a good
place to start. Fire up the supply and
use a multimeter to measure the 3.3V
rail, across C18 (the ceramic chip
capacitor between REG16 and REG15)
or somewhere else convenient.
If the 3.3V rail is good, you can go
ahead and connect the battery. Check
that the battery charge light (LED1)
comes on when the USB port is connected to a power source. If you have a
pre-programmed microcontroller, the
device should come to life, and you
can skip the next section.
If you are programming your unit via
Australia's electronics magazine
the debug header, now is the time to do
it. If you plan to use DFU mode, you
can follow the steps outlined below.
1. Download the STM32CubeProgrammer application. This is a free
download (registration required,
unfortunately) from the ST website
(www.st.com/en/development-tools/
stm32cubeprog.html). It is available
for Windows, macOS and Linux.
2. Unplug the Semiconductor Analyser from the USB cable and disconnect the battery. Solder a short piece
of wire or an M2012/0805 0W resistor
across the pads labelled “DFU” on the
board. This forces the microcontroller
to boot into DFU mode. You can skip
this if you have an unprogrammed
chip – it should boot into DFU mode
by default.
3. Reconnect the battery and connect the USB cable to your computer.
Open the Programmer application and
select USB from the dropdown at the
top right of the screen (see Screen 4).
September 2026 39
Screen 5 (left): testing a TTC004B 1.5A NPN bipolar junction transistor (BJT).
The hfe is specified as 140-280 at 100mA and this one falls close to the middle of
that range at nearly 9mA.
Screen 6 (middle): the LCD screen shows this display while tests are being run.
They take a second or two.
Screen 7 (right): this splash screen appears when you press the “TEST” button.
Click “Connect”. The programmer
should connect and read the device
info into the “Target information”
panel at the bottom right.
4. Click on the “Open File” tab and
navigate to the ELF file containing the
code (available as part of the download package from siliconchip.au/
Shop/6/3644). Click on the “Download” button on the top right of this
tab and the flash will be erased and
programmed.
You may get the error messages
“Failed to Download Sector[0]” and
“failed to Download the File”, but
you can ignore them. They appear to
be caused by a bug in the programming software that occurs when the
code to be flashed occupies more than
50% of the available space. I have not
been able to find a fix online, although
there are a few posts describing this
same problem.
5. Close the programmer, unplug
the USB cable and the battery, then
remove the shorting link if you used it.
Once you plug the battery back in, the
device should boot into the uploaded
firmware. That’s all there is to it.
Finalising assembly
Once the device reboots, it should
display the version screen briefly, then
commence a test cycle. The test should
result in an error message saying that
all three test leads are open circuit. If
everything is satisfactory, you can finish the assembly.
Remove the PCB from the case and
permanently affix the LCD screen to the
PCB using a few pieces of double-sided
adhesive foam tape. The stuff I used is
about 3mm thick, and this positions
the display firmly up against the front
panel. Don’t forget to remove the protective film from the face of the LCD.
You can now connect the test leads
to the board. These are fed through the
end panel, then from the top side of the
board, down through the strain-relief
holes and soldered in from the top side
of the PCB as shown in Fig.9.
I made my test leads about 350mm
long, although the leads that come
pre-attached to the clips supplied in
our kits will be closer to 200mm long,
which is still plenty.
Apply the label to the front panel
(Fig.10). The artwork is available
for download from siliconchip.au/
Shop/11/3645 I printed mine on
self-adhesive glossy paper and covered
it with transparent adhesive vinyl film.
Use a sharp blade and a straightedge
to cut out the display window before
applying the label.
The label has two rectangles for the
display window. Use the outer one if
you chamfered the display opening, or
the inner one if you did not.
The holes for the pushbutton actuators and LED are best made with the
label in place. You do not need to cut
the label over the hole between the
two pushbuttons – the hole in the
case is enough for the beeper sound
to escape.
Finally, you can fix the Li-Po cell
to the inside base of the case using
double-sided tape. Once you’ve put
the case together your Semiconductor
Analyser is ready to use.
If you run into trouble, you can use
the command-line interface for troubleshooting. Connect the USB cable
to your computer and fire up a serial
terminal program, then connect to the
port associated with the USB device.
If you type “help” at the “>” prompt,
you will see a list of commands you
can use to manually control the switch
matrix, Power, Load and Drive Nodes,
and read the load current or test lead
voltages. The CLI is basic, but it has
autocomplete for the command (press
the tab key) and you can use backspace
SC
to correct mistakes.
Fig.10: the front panel
label artwork. This can
also be downloaded as
a PDF from the Silicon
Chip website (the link is
in the text).
40
Silicon Chip
Australia's electronics magazine
siliconchip.com.au
|