This is only a preview of the June 2024 issue of Practical Electronics. You can view 0 of the 72 pages in the full issue. Articles in this series:
Articles in this series:
Articles in this series:
Articles in this series:
Articles in this series:
Articles in this series:
|
Max’s Cool Beans
By Max the Magnificent
Arduino Bootcamp – Part 18
O
-M-Goodness gracious me.
My head is buzzing with so many
ideas that I don’t know whether I’m
coming or going. I have myriad topics I want
to waffle about, but where to start waffling?
More power!
I’ve said it before, and I’ll say it again –
one of the great things about electronics
is that there’s always more than one way
to do something. I’ve said it before, and
I’ll say it again (did someone just say that
or is it déjà vu all over again?) – one of
the pains with electronics is that there’s
usually so many ways of doing things
that it can be hard to know what to do
for the best. Sometimes your best bet is
to flip a coin and allow fate to decide
your course.
Over the course of this series, we’ve
developed a way of powering our
breadboards that involves using two
light-emitting diodes (LEDs) to provide
us with a high level of confidence that
our power and ground rails are intact
and working as expected.
I’m not going to rehash everything
we’ve done in excruciating detail now
(I’ll save that for later). What I will do is
say that you can remind yourself of our
current setup by downloading an image
of the latest and greatest incarnation
of our dual breadboard platform (file
CB-Jun24-01.pdf). As usual, all the files
mentioned in this column are available
from the June 2024 page of the PE website:
https://bit.ly/pe-downloads
I’ve made mention of my friend Joe
Farr on multiple occasions. Joe has a
vast amount of practical knowledge. I
learn something new whenever I chat
Fig.1. Long-tailed 0.1-inch pitch header pins.
52
with him. For example, while he was
helping me debug the wiring issue we
discussed in our previous column (PE,
May 2024), Joe idly dropped into the
conversation the fact that he usually
powers his breadboards using a different
scheme to the one we’ve adopted.
We will look at this scheme in a
moment, but – before we go there – Joe
also mentioned that if he ever needs to
perform some breadboard-related activity
more than one time, he usually creates
a breakout board (BOB) or something
similar. He then makes a bunch of these
and pops them in a drawer for later use.
Another trick Joe employs is to put a
label on the front of the drawer saying
what’s inside. I’m reminded of the
‘Brilliant!’ adverts from Guinness – see:
https://bit.ly/3VDE0yt
I’m sure you are muttering, ‘That’s
obvious,’ to yourself under your breath.
Well, that’s as maybe, but it’s amazing
how many of us – your humble narrator
included – are convinced we will always
remember where we put things, only to
discover that we are deluding ourselves
when the time comes.
In the case of any LEDs used to verify
the presence of power on his breadboards,
Joe mounts them and their associated
current-limiting resistors on a pair of
0.1-inch-pitch header pins. You can
purchase these pins in strips and then
snip off the number you need. The ones
we need here are long tailed on both
sides (Fig.1). The conducting terminals
are 6.25mm on each side with 2.5mm of
plastic in the middle, so 15mm in all. You
can find them all over the place, including
Amazon, see: https://bit.ly/3U1Vp2z
Joe always associates the currentlimiting resistor with the LED’s anode
terminal, thereby making it easy to
remember what’s what when plugging
them into the power and ground rails.
I’ve replicated Joe’s scheme with the
green and blue LEDs we’ve been using,
along with their 680Ω (blue-grey-brown)
current-limiting resistors (Fig.2).
Since we know all the experiments in
this series are based on the 5V supplied
by our Arduino Uno, we need do no more.
In Joe’s case, as his projects often include
Top view
a
Side view
k
a = anode
k = cathode
a
k
Soldered joints
0.1-inch pitch header
pin pair
Fig.2. Constructing LED assemblies.
a mix of +12V and –12V for the analogue
portions of his circuits, along with +5V
and +3.3V for the digital sections, he uses
different coloured LEDs (and different
values of current-limiting resistors) for
each voltage.
It’s a bit ironic that – although we are
working with solderless breadboards –
we find ourselves needing to do a bit of
soldering, but ‘it’s a funny old world and
no mistake,’ as they say (we talked about
soldering, along with Alan Winstanley’s
handy-dandy Basic Soldering Handbook,
in PE, March 2024).
Now let’s turn our attention to our spiffy
new power plan (Fig.3). Remember that
I always prefer to have my breadboards
oriented such that the red power rail is
at the top (always doing things the same
way helps cut down on errors involving
mistakenly connecting things to the
wrong rails). In all these examples, we’re
bringing 5V (red wire) and 0V (black wire)
from the Arduino into the bottom righthand corner of the breadboard. Also, we’re
including jumpers in the middle of the
power and ground rails just in case we
happen to find ourselves working with
a split-rail board.
The way we’ve been doing things thus
far is illustrated in Fig.3a. In this case,
we link the bottom and top sets of power
and ground rails using the red and black
wires on the left-hand side of the board.
By locating our green and blue LEDs on
the right-hand side of the board, we verify
that all the rails are intact. As I know from
experience, it’s very frustrating to spend
time debugging a non-existent problem,
only to discover that one’s breadboard
isn’t fully powered up in the way one
thinks it is.
Practical Electronics | June | 2024
Connection
No connection
D3
Ground (0V)
D2
D0
D1
Display segments
and pin numbers
5 10 9 1 2 4 6 7
DP G F E D C B A
(a) Original scheme
From
Arduino
B
3
3
3
3
C
C
C
C
B
E
13
B
E
12
B
E
11
E
10
9 8 7 6 5 4 3 2
Arduino pin numbers
Fig.4. Upping our game to use four 7-segment displays.
to refresh our minds as to the
concept of binary-coded decimal
From
(BCD), after which we were to
(b) One alternative
Arduino
investigate various deployments
of BCD-to-7-segment decoders
in our clock prototype.
I’m afraid I fibbed. I hang
my head in shame. I shall
chastise myself soundly later.
The problem is that I can’t hold
myself back any longer. When
we were all a lot younger than we
are today, we commenced our
Arduino Bootcamp experiments
From
(c) Better alternative
using only a single 7-segment
Arduino
display. I’m sure that you, like
me, look back on those halcyon
Fig.3. Alternative power scenarios.
days with fond nostalgia.
More recently (PE, May 2024), we
Now that we have our snappy new
upped our game to use a dual-display
LED assemblies from Fig.2, one possible
configuration, pushing ourselves to
scenario is to use one of these assemblies
‘Boldly go,’ as Captain James Tiberius
as illustrated in Fig.3b. By placing this
Kirk might say.
single LED assembly in the upper rightAnd now? Well, as the eponymous
hand corner of the board, we again verify
character in Dirk Gently’s Holistic
that all the rails are intact.
Detective Agency once proclaimed:
A final alternative is to add additional
‘Let’s think the unthinkable. Let’s do
red and black wires to link the bottom and
the undoable. Let us prepare to grapple
top set of power and ground rails on the
with the ineffable itself and see if we may
right-hand side of the board (Fig.3c). This
not eff it after all.’ Yes, you are correct,
redundancy provides increased reliability
it’s time for us to tentatively dip our toes
on the off chance that one of our wires
into the quad-display waters.
becomes disconnected or one of our rails
From a hardware perspective, this is
goes open circuit for some reason. We really
simply an extension of what we’ve done
require only one LED assembly, but I’ve
before. We already had two 7-segment
used two (one either side of the jumpers
displays that we called D0 and D1. We’re
in the middle of the upper rails) because…
going to add two more that we’ll call D2
well, (a) they are different colours and (b)
and D3 (Fig.4). Similarly, we were already
two LEDs are inherently more fun than one.
using eight of the digital outputs (pins 2
Of course, we don’t have to change our
through 9) on our Arduino Uno to drive
existing setup now. This is just something
eight 150Ω current-limiting resistors. The
for us to remember for future projects.
other sides of the resistors were connected
Having said that, I’ve gone ahead and
to the anode (segment) terminals on
modified our master diagram anyway
displays D0 and D1, so we need to extend
(file CB-Jun24-02.pdf).
these wires to also drive displays D2 and
D3. Finally, we need to add two more
I can’t hold back!
BC377 NPN transistors, along with 1kΩ
In closing our previous column, I more
current-limiting resistors on their base
than hinted that this month we were going
Practical Electronics | June | 2024
(B) control inputs and connect these to
the Arduino, as shown in the schematic.
Yes, of course, I’ve updated our master
diagram to reflect this new setup (file
CB-Jun24-03.pdf).
Super software
All we need now is some super software to
drive our new setup. I just forked (copied)
the final program from our previous
column and made a few modifications.
There’s nothing we haven’t seen before,
but there are a few subtleties that will
make it worth our while to peek at some
of the bits and pieces.
As a reminder, we are multiplexing our
four displays, which means only one will
be active at a time. The main reason for
doing this is that we currently have only
enough pins on our Arduino to control
one set of A, B, C, D, E, F, G, DP segments
at a time. Also, we’ve selected our 150Ω
current-limiting resistors to supply the
maximum current (20mA) that the display
segments are rated for. The Arduino’s
pins would be uncomfortable providing
more than this amount of current for an
extended period, so activating two or
more displays simultaneously would be
the opposite of a good idea.
In one respect, it’s meaningless to think
of our four displays in terms of ‘leastsignificant’ and ‘most-significant’ because
we aren’t using them to display a single
numerical value per se. Having said this,
for the purposes of our program, we’re
going to consider D0 and D3 as being the
least- and most-significant, respectively.
For reasons that will become apparent
when we delve into the code, we are going
to activate the displays in the order D0,
D1, D2, and D3. Suppose, for example,
we wish to display a time like 6:24. In
our HH:MM format, we will include a
leading 0 and present this as 06 24 (Fig.5).
OK, now let’s look at our new program
(file CB-Jun24-04.txt). We’ll start with
the definitions as shown in Listing 4a.
53
Listing 4a. Definitions.
Time
Listing 4c. Our new setup() function.
Fig.5. Order of display.
In addition to NUM_SEGS (the number
of segments on each display) and NUM_
DIGITS (the number of digits, 0 to 9,
that we wish to display), we’ve added
NUM_DISPLAYS (the number of displays,
D0 to D3, we’re now using).
Similarly, in addition to SEG_ON and
SEG_OFF, to which we’ve assigned the
HIGH and LOW values required to activate
and deactivate the segments on our
common-cathode displays, respectively,
we’ve added TRAN_ON and TRAN_OFF,
to which we’ve assigned the HIGH and
LOW values required to activate and
deactivate the NPN transistors we’re
using, respectively.
Next, let’s turn our attention to our pin
declarations and assignments (Listing 4b).
In our previous column, there were several
Listing 4b. Pin assignments.
54
reasons why it made sense to declare
the pins used to control the transistors
individually. These reasons included our
having only two displays, coupled with
the way in which we decided to present
values on these displays.
In our new program, In addition to the
8-element PinsSegs[] array, to which
we’ve assigned the numbers of the pins
used to drive the display segments, we’ve
added a 4-element PinsTrans[] array,
to which we’ve assigned the pins used
to drive our transistors.
Remember that the elements in our
PinsTrans[] array are numbered 0, 1,
2 and 3, which is the order in which
we’ve assigned the pins used to drive
the transistors associated with displays
D0, D1, D2 and D3, respectively.
The setup() function is easy peasy
lemon squeezy (Listing 4c). We start
by initialising our real-time clock
on Line 58. On Lines 66 to 69 we
use a for() loop to define the pins
driving our segments as being of type
OUTPUT. Then, on Line 70, we call
our DisplaySegs() function to turn
all the segments off. We’ve seen this
before in previous programs.
New to this program is the fact that,
since we’ve now declared the pins
controlling our transistors as an array,
we can use another for() loop
on Lines 59 to 63 to declare each
pin as being of type OUTPUT and
to then deactivate that transistor.
The reason I inserted this before
our original for() loop is to
ensure all the transistors are
turned off as soon as possible.
Finally, let’s turn our attention
to the loop() function (Listing
4d). After declaring the same
hour and minute variables
we’ve used before, on Line 78 we’ve
added a new 4-element array called
dispData[]. We are going to use this
array to store the four 0 to 9 values we
wish to present on our D0, D1, D2 and
D3 displays.
We’ve seen the statements in Lines
80 to 89 in our previous program.
However, on Lines 92 to 95, we now
enter our HH:MM values into our
dispData[] array. The combination
of our PinsTrans[] and dispData[]
arrays allows us to create the for()
loop on Lines 98 to 104.
This loop cycles through the four
displays in the order D0, D1, D2 and
D3. Each time round the loop, on Line
100 we activate the segments we wish
to display (we’ll return to this in a
moment), on Line 101 we activate the
transistor associated with the current
display, on Line 102 we wait for our
ON_OFF_TIME delay, which is currently
set to 10 (milliseconds), and on Line 103
we deactivate the transistor associated
with the current display.
Line 100 might cause your brain to
stumble a bit. The way to read this is
like peeling an onion but the other way
round. That is, we start with the deepest
layer and work our way out. Thus, we
start with our ‘call’ to dispData[iData],
which returns an integer containing the
0 to 9 value we wish to present on the
current display. We then use this value
in our ‘call’ to DigitSegs[], which
returns a byte containing the segment
on/off values we need to use. We then
pass this byte into the call to our trusty
DisplaySegs() function.
Another way to think about this – and
another way we could have implemented
it – would be to break everything out
into individual steps as follows:
Practical Electronics | June | 2024
20ms
Period (P)
= 20ms
Frequency (f) = 50Hz
10 10
D0
D1
(a) Two displays
40ms
10
30
Period (P)
= 40ms
Frequency (f) = 25Hz
D0
D1
D2
D3
(b) Four displays
Fig.6. The origin of our flicker problem.
Listing 4d. Our new loop() function.
int tmpInt = dispData[iDisp];
byte tmpByte = DigitSegs[tmpInt]);
DisplaySegs(tmpByte);
This step-by-step approach is the way we would have done
things earlier in this series because it can be easier for
beginners to understand, but (a) we are beginners no more
and (b) the approach we are now using is more concise. In
fact, at some stage you may be surprised to discover yourself
living in ‘opposite world’ where you find the step-by-step
approach to be tedious and annoying, while the concise
construct turns out to be easier on the eye and faster to
parse and comprehend.
How does it look?
I’m glad you asked. It doesn’t look very good. The digits are
flickering horribly. Fortunately, I was expecting this to happen.
Actually, I was hoping it would, thereby providing a ‘teachable
moment,’ as it were.
At one stage in our previous column, we started to display
the digits 4 and 2 on two displays. We defined ON_OFF_TIME
as being 1000 (that’s 1000 milliseconds (ms) or 1 second (s)).
Then we looped around displaying the 4 on the first display
for ON_OFF_TIME followed by the 2 on the second display
for ON_OFF_TIME.
Next, we changed the value of ON_OFF_TIME to be 100 (that’s
1/10 of a second). This allowed us to see both digits at the
same time but with an annoying flicker. Finally, we changed
ON_OFF_TIME to be 10 (that’s 1/100 of a second), resulting in
both digits being on with no discernable flicker.
Practical Electronics | June | 2024
Since each display is on for 10ms and off for
10ms, this means each has a repeating cycle time,
or period (P), of 20ms. In turn, this means each
display is turning on and off with a frequency
(f), which is 1/P. Remembering that frequency is
specified in hertz (Hz), which is the number of
cycles per second, then our frequency = 1000/20
= 50Hz (Fig.6a).
The problem is that we are still using the same
ON_OFF_TIME value of 10 in our new program
(Line 18 in Listing 4a). Now that we are using
four displays, this means each display is on for
10ms and off for 30ms. In turn, this means each
display has a period of 40ms and a frequency of
25Hz. Hence the flicker (Fig.6b).
First, I tried changing ON_OFF_TIME to 5, thereby
returning us to having a flicker-free frequency of
50Hz. Eventually, however, I decided to use an
ON_OFF_TIME value of 2, resulting in each display having a
period of 8ms and a frequency of 125Hz.
The current situation is very tasty (Fig.7). Of course, since
each display is now on for only 25% of the time, it’s only a
quarter as bright as a full-on display. However, this would
really become apparent only if we had a full-on display for
comparison. As we discussed in last month’s column, the
human eye has a wide dynamic range coupled with a nonlinear response to brightness. The result is that our four
displays still appear to be reasonably bright. Even better, in
a future column, we will discuss an alternative approach to
boost our brightness.
Online resources
For the purposes of this series, I’m going to assume
that you are already familiar with fundamental concepts like voltage, current and resistance. If not, you
might want to start by perusing and pondering a short
series of articles I penned on these very topics – see:
https://bit.ly/3EguiJh
Similarly, I’ll assume you are no stranger to solderless breadboards. Having said this, even if you’ve used
these little scamps before, there are some aspects to
them that can trap the unwary, so may I suggest you
feast your orbs on a column I wrote just for you – see:
https://bit.ly/3NZ70uF
Last, but not least, you will find a treasure trove of
resources at the Arduino.cc website, including example programs and reference documentation.
55
Fig.7. It’s alive! It’s alive!
You are thinking out loud again. I can
almost hear you muttering, ‘What’s that little
board in the upper right-hand corner where
our eight 150Ω current-limiting resistors
used to be?’ I have to say I’m impressed
that you spotted that. All will be revealed
in next month’s column. Meanwhile…
Just one more thing…
We still have more to do, but once
we’ve finally finished evolving and
experimenting with our prototype clock,
we may wish to create a more permanent
and robust implementation. One option
is to use a free schematic capture and
layout program to design our own
custom printed circuit board (PCB)
and then have it fabricated somewhere.
There are lots of tools and fabs out there,
but that’s a whole different ballgame.
(This could be a topic for one or more
Cool Beans columns in the future. If you
would be interested in something like
this, please email me to let me know.)
An alternative approach is to replicate
our final design in a more robust and
comelier manner. With respect to the
‘more robust’ part, we could purchase
some solderable breadboards with
the look-and-feel of our solderless
breadboards. There are various vendors
of these boards, each offering their own
interpretation, but the main terminal
holes and power rails are typically to be
found in the expected locations (Fig.8).
Observe the way in which the power
and ground rails are split at the leftand right-hand sides on the back side
of the board. This allows us to use
multiple power supplies (eg, 5V and
3.3V) and/or multiple grounds (eg,
separate analogue and digital grounds)
if so required. Alternatively, these can
be connected using jumper wires.
One example is the large single
universal solderable breadboard from
Treedix (https://bit.ly/3Tsn38t). But
what about something like our clock
project, which currently employs two
breadboards? Fear not, because the guys
and gals at Treedix have us covered with
their large dual universal solderable
breadboard – see: https://bit.ly/3IuHYl6
What about the wiring? Thus far,
we’ve been using multicore jumper
wires to make our connections.
However, as we see in Fig.7, this isn’t
an approach we would wish to use
on something we wanted to display
E D C B A
I H G F
E D C B A
I H G F
LEDs (assorted colours)
https://amzn.to/3E7VAQE
Resistors (assorted values)
https://amzn.to/3O4RvBt
Solderless breadboard
https://amzn.to/3O2L3e8
Multicore jumper wires (male-male) https://amzn.to/3O4hnxk
Components from Part 2
J
J
60
I
(a) Front (component and wire) side
1
55
F G H
5
5
A B C D E
55
1
I
60
J
1
F G H
5
A B C D E
55
J
Components from Part 1
60
1
5
55
60
(b) Back (power and ground) side
Fig.8. Generic example of a solderable breadboard.
7-segment display(s)
https://amzn.to/3Afm8yu
Components from Part 5
Momentary pushbutton switches
https://amzn.to/3Tk7Q87
Components from Part 6
Passive piezoelectric buzzer
https://amzn.to/3KmxjcX
Components for Part 9
SW-18010P vibration switch
https://bit.ly/46SfDA4
Components for Part 10
Breadboard mounting trimpots
https://bit.ly/3QAuz04
Components for Part 12
Light-Dependent Resistor
https://bit.ly/3S2430m
Components for Part 13
BC337 NPN Transistor
https://bit.ly/40xAgyS
Components for Part 14
HC-SR04 Ultrasonic Sensor
https://bit.ly/49AMBq4
Components for Part 15
Real-Time Clock (RTC)
https://bit.ly/3S9OjHl
Components for Part 18
Fig.9. Kit of pre-stripped, pre-formed, solid core jumper wires.
56
Long tailed (0.1-inch pitch)
header pins
https://bit.ly/3U1Vp2z
Practical Electronics | June | 2024
Fig.10. An example of an old project
using solid core jumper wires.
to family and friends. One approach
is to splash the cash for a kit of prestripped, pre-formed, solid core jumper
wires (Fig.9). You can find these on
Amazon – see: https://bit.ly/3vDs2KK
A lot of the time you’ll need to cut them
down and bend them around a bit, but
the result can be quite pleasing to the eye.
For example, consider a portion of one of
my old projects from yesteryear (Fig.10).
Next time…
On the bright side, our existing clock
works like a charm. On the downside,
we’ve used all 12 of our digital pins –
eight to control the display segments
and four to control the transistors (we
aren’t touching pins 0 and 1 because
these are used by the Arduino to
communicate with our host computer).
This means we have no pins spare to
add additional functionality (sad face).
But turn that frown upside down
into a smile because we have some
cunning tricks up our sleeves (watch
carefully – at no time will my hands
leave the ends of my arms). In our next
column, we really and truly are going
to refresh our minds as to the concept
of binary-coded decimal (BCD) and
then investigate various deployments
of BCD-to-7-segment decoders in our
clock (otherwise my name’s not Max
the Magnificent). Until next time, have
a good one!
Cool bean Max Maxfield (Hawaiian shirt, on the right) is emperor
of all he surveys at CliveMaxfield.com – the go-to site for the
latest and greatest in technological geekdom.
Comments or questions? Email Max at: max<at>CliveMaxfield.com
STEWART OF READING
17A King Street, Mortimer, near Reading, RG7 3RS
Telephone: 0118 933 1111 Fax: 0118 933 2375
USED ELECTRONIC TEST EQUIPMENT
Check website www.stewart-of-reading.co.uk
Fluke/Philips PM3092 Oscilloscope
2+2 Channel 200MHz Delay TB,
Autoset etc – £250
LAMBDA GENESYS
LAMBDA GENESYS
IFR 2025
IFR 2948B
IFR 6843
R&S APN62
Agilent 8712ET
HP8903A/B
HP8757D
HP3325A
HP3561A
HP6032A
HP6622A
HP6624A
HP6632B
HP6644A
HP6654A
HP8341A
HP83630A
HP83624A
HP8484A
HP8560E
HP8563A
HP8566B
HP8662A
Marconi 2022E
Marconi 2024
Marconi 2030
Marconi 2023A
PSU GEN100-15 100V 15A Boxed As New
£400
PSU GEN50-30 50V 30A
£400
Signal Generator 9kHz – 2.51GHz Opt 04/11
£900
Communication Service Monitor Opts 03/25 Avionics
POA
Microwave Systems Analyser 10MHz – 20GHz
POA
Syn Function Generator 1Hz – 260kHz
£295
RF Network Analyser 300kHz – 1300MHz
POA
Audio Analyser
£750 – £950
Scaler Network Analyser
POA
Synthesised Function Generator
£195
Dynamic Signal Analyser
£650
PSU 0-60V 0-50A 1000W
£750
PSU 0-20V 4A Twice or 0-50V 2A Twice
£350
PSU 4 Outputs
£400
PSU 0-20V 0-5A
£195
PSU 0-60V 3.5A
£400
PSU 0-60V 0-9A
£500
Synthesised Sweep Generator 10MHz – 20GHz
£2,000
Synthesised Sweeper 10MHz – 26.5 GHz
POA
Synthesised Sweeper 2 – 20GHz
POA
Power Sensor 0.01-18GHz 3nW-10µW
£75
Spectrum Analyser Synthesised 30Hz – 2.9GHz
£1,750
Spectrum Analyser Synthesised 9kHz – 22GHz
£2,250
Spectrum Analsyer 100Hz – 22GHz
£1,200
RF Generator 10kHz – 1280MHz
£750
Synthesised AM/FM Signal Generator 10kHz – 1.01GHz
£325
Synthesised Signal Generator 9kHz – 2.4GHz
£800
Synthesised Signal Generator 10kHz – 1.35GHz
£750
Signal Generator 9kHz – 1.2GHz
£700
HP/Agilent HP 34401A Digital
Multimeter 6½ Digit £325 – £375
HP 54600B Oscilloscope
Analogue/Digital Dual Trace 100MHz
Only £75, with accessories £125
(ALL PRICES PLUS CARRIAGE & VAT)
Please check availability before ordering or calling in
HP33120A
HP53131A
HP53131A
Audio Precision
Datron 4708
Druck DPI 515
Datron 1081
ENI 325LA
Keithley 228
Time 9818
Practical Electronics | June | 2024
Marconi 2305
Marconi 2440
Marconi 2945/A/B
Marconi 2955
Marconi 2955A
Marconi 2955B
Marconi 6200
Marconi 6200A
Marconi 6200B
Marconi 6960B
Tektronix TDS3052B
Tektronix TDS3032
Tektronix TDS3012
Tektronix 2430A
Tektronix 2465B
Farnell AP60/50
Farnell XA35/2T
Farnell AP100-90
Farnell LF1
Racal 1991
Racal 2101
Racal 9300
Racal 9300B
Solartron 7150/PLUS
Solatron 1253
Solartron SI 1255
Tasakago TM035-2
Thurlby PL320QMD
Thurlby TG210
Modulation Meter
£250
Counter 20GHz
£295
Communications Test Set Various Options
POA
Radio Communications Test Set
£595
Radio Communications Test Set
£725
Radio Communications Test Set
£800
Microwave Test Set
£1,500
Microwave Test Set 10MHz – 20GHz
£1,950
Microwave Test Set
£2,300
Power Meter with 6910 sensor
£295
Oscilloscope 500MHz 2.5GS/s
£1,250
Oscilloscope 300MHz 2.5GS/s
£995
Oscilloscope 2 Channel 100MHz 1.25GS/s
£450
Oscilloscope Dual Trace 150MHz 100MS/s
£350
Oscilloscope 4 Channel 400MHz
£600
PSU 0-60V 0-50A 1kW Switch Mode
£300
PSU 0-35V 0-2A Twice Digital
£75
Power Supply 100V 90A
£900
Sine/Sq Oscillator 10Hz – 1MHz
£45
Counter/Timer 160MHz 9 Digit
£150
Counter 20GHz LED
£295
True RMS Millivoltmeter 5Hz – 20MHz etc
£45
As 9300
£75
6½ Digit DMM True RMS IEEE
£65/£75
Gain Phase Analyser 1mHz – 20kHz
£600
HF Frequency Response Analyser
POA
PSU 0-35V 0-2A 2 Meters
£30
PSU 0-30V 0-2A Twice
£160 – £200
Function Generator 0.002-2MHz TTL etc Kenwood Badged
£65
Function Generator 100 microHz – 15MHz
Universal Counter 3GHz Boxed unused
Universal Counter 225MHz
SYS2712 Audio Analyser – in original box
Autocal Multifunction Standard
Pressure Calibrator/Controller
Autocal Standards Multimeter
RF Power Amplifier 250kHz – 150MHz 25W 50dB
Voltage/Current Source
DC Current & Voltage Calibrator
£350
£600
£350
POA
POA
£400
POA
POA
POA
POA
Marconi 2955B Radio
Communications Test Set – £800
57
|