This is only a preview of the February 2025 issue of Practical Electronics. You can view 0 of the 80 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:
Articles in this series:
Articles in this series:
Items relevant to "Mains Power-Up Sequencer, part one":
Articles in this series:
|
Constructional project
Points Controller
for Model Railways
is is the
sets of points, so th
My layout has five
with to
up
me
t and label I ca
control box lid layou
control them.
Project by Les Kerr
Adding points to a model railway layout makes it a lot more fun and more
realistic, too. This Controller lets you monitor and switch up to eight sets of
points from a single control box with easy wiring; it could even be expanded
to handle more than eight. We will also show how to make LED-based signals
to go with each set of points.
P
oints (also known as “railroad
switches”) are used where a
single set of train tracks splits
into two. If the points are facing one
way, the train passes onto one set of
tracks, while if they are facing the
other way, it moves over to the others.
For example, two sets of points
could be used at either end of two
parallel pairs of tracks to allow trains
going in either direction to use either
set of tracks. Points can also enable
a train to move from the main tracks
into a siding, or back out.
Real railways have many points,
especially in and around stations, so
you should ideally have a few in a realistic model railway layout. So, how
do you control them?
Practical Electronics | February | 2025
This design minimises the number
of wires needed between the control
unit and each set of points by using
serial data. That way, you only need a
few wires running around the layout,
from the Controller to the first set of
points, then between pairs of points,
rather than the ‘spaghetti’ required
if each set of points had its own set
of wires.
The lead photo shows my control
box that supports five sets of points in
my layout, while Photo 1 shows the
actual layout from above. The layout
has two loops, each with a siding,
plus a station at the centre.
Two of the sets of points allow trains
to move from one loop to the other or
back, while the other three allow trains
to move between one of the loops and
the sidings/station.
There are two LEDs and a toggle
switch on the control box for each
set of points. The green LEDs show
the current direction of the points,
while the toggle switch allows that
to be changed.
The most common way to change
the points on a model railway layout
is to use a points motor. The insides
of a typical one are shown in Fig.1.
If the motor is at position X and
we apply 18V to the electromagnet
windings between points A & B, the
magnetic field attracts the iron arm,
moving the sliding bar to the right
(position Y).
If we then apply 18V to the winding
37
Constructional project
Fig.1: the basic configuration of a points motor.
Depending on which side of the electromagnet is
activated, the lever moves the points to one side
or the other.
between B & C, the points change back
to their original position.
The windings produce a strong magnetic field and are made of heavy-gauge
wire, having a typical resistance of 4W.
If we had a constant 18V across them,
we would have a steady current of
4.5A, which would soon burn out the
coil. So we need a means of applying
the current for no more than 200ms.
The second concern is the power
supply's ability to deliver that much
instantaneous power and current.
That can be done using a circuit like
the one shown in Fig.2. One end of
the electromagnet coil is connected to
the Mosfet drain while the other end
connects to a 2200μF capacitor that
is charged to 18V via a 47W resistor.
The Mosfet acts like a switch that
Fig.2: this basic circuit can switch a set of points in one direction.
The Mosfet is pulsed to deliver enough current to switch it over,
but not for so long that the coil burns out. Another Mosfet and
diode is needed to provide switching in both directions.
is off when the gate voltage is 0V. If
the gate voltage is brought to +5V for
200ms, the capacitor discharges most
of its energy into the electromagnet,
producing a strong magnet field and a
loud click as the points change.
When the Mosfet switches off, the
capacitor charges to approximately
18V in about 400ms, preparing it for
the next pulse. A second Mosfet (not
shown) is connected to the other end
of the coil to switch the points back.
They can share a single capacitor that’s
connected to the centre tap.
As mentioned earlier, this design's
serial loop means you only need four
wires from the control box for all the
points. These are +18V, +5V, serial
data and 0V. I ran a four-core alarm
cable around my layout.
Scope 1 shows this in action (see
page 43). The cyan trace is the
Mosfet gate voltage, which is high for
200ms, while the yellow trace is the
voltage between the Mosfet drain and
ground. You can see how the capacitor recharges over a second or so following the points motor activation.
Block diagram Fig.3 shows how the
modules are connected. One Receiver PCB is used for each set of points,
with a single ‘Transmitter’ controlling up to eight sets (it transmits over
a wire, not wirelessly). Each Receiver PCB has outputs to connect to the
points motor and operate the associated signal (see Photo 2).
Each Receiver is given a unique
address (0-7) with the combination of three jumpers. An additional
Fig.3: this system configuration keeps the wiring
in the layout simple, as the Receiver modules can
be mounted next to the points motors. The wiring
between the Transmitter and Receivers can be daisychained or connected in any other way that provides
the required four-wire bus.
38
Practical Electronics | February | 2025
Model Railway Points Controller
Transmitter can be used if you need
more than eight sets of points. The
Transmitter is housed in the control
box, with power for all the modules
provided by a 12V AC 1A plugpack.
If you have 12V AC available from a
different source, you could use that
instead.
The complete system comprises the
PCBs mentioned above, the points and
motors, signals, control box wiring
and layout wiring.
Circuit details
The circuit of the Transmitter (control box) is shown in Fig.4. Up to eight
switches and sets of LEDs are wired to
microcontroller IC1. Eight of its digital input pins (RA0, RC0-RC4, RA4 &
RA5) are used to sense the positions
of the points control switches. Each
input has a 10kW pull-up, so either
the switch pulls that input to GND or
the resistor pulls it up to +5V.
The same switch poles light one of
the two connected green LEDs by pulling one of the cathodes to GND. The
anodes are connected to a common
680W resistor to +5V.
IC1 constantly checks the states
of the eight switches and delivers a
continuous serial stream at its RC5
digital output. That is fed to the eight
‘Receivers’ via a 1kW resistor, so they
know which state the points need to
be in. The 1kW series resistor protects
the microprocessor from damage if
the serial line is accidentally shorted
to ground.
For the power supply, the incoming 12V AC is applied to a bridge rectifier with a 2200μF smoothing capacitor to get around 18V DC. This
depends on the transformer regulation and can range between 16V and
18V DC; 16V is sufficient to operate
the points motor. That voltage is fed
to the points motors and the input of
linear regulator REG1, which produces the 5V DC supply for IC1 and the
microcontrollers in up to eight connected Receivers.
The 1000μF capacitor smooths out
any ripple that makes its way through
the 7805 regulator, while the 100nF
capacitors reduce high-frequency transients from the supply and ensure stability in the linear regulator.
Fig.5 shows the circuit of one Receiver. The serial data from the Transmitter goes to the RC0 digital input
of IC2, which is powered by the 5V
rail produced by the Transmitter. It
Practical Electronics | February | 2025
Photo 1 (above): a view of my layout from above. You can see how it
corresponds to the diagram and controls shown in the lead photo.
Photo 2 (left): a close-up of
one of the signals I designed to
accompany the points. They can be
made using a lathe and a few bits
of metal you can get from hobby
shops.
39
Constructional project
Fig.4: the Transmitter circuit consists of a microcontroller, IC8, connected to up to eight toggle switches and eight pairs of
LEDs. It encodes the switch positions into a serial stream at its pin 5 digital output that’s fed to the Receivers so they can
actuate the points appropriately.
Fig.5: microcontroller IC2 in the Receiver decodes the serial stream and, based on its identity set by jumpers JP1-JP3,
extracts the appropriate command signals and drives Mosfets Q1 & Q2 to control the points motor. It also updates the
state of the signal/semaphore when the points change.
40
Practical Electronics | February | 2025
Model Railway Points Controller
Transmitter construction
The Transmitter is built on a 74
× 47mm single-sided PCB coded
09101241 – see the overlay diagram,
Fig.6. The power supply connections
and four wires that go to the Receivers connect via the terminal blocks at
the top of the PCB. In contrast, the offboard switches and LEDs are connected via the headers near the middle of
the board. Photo 3 shows the assembled board.
Fig.6: assembly of the Transmitter PCB is straightforward. The power supply
inputs are at upper left, the four serial/power bus connections are at upper
right, and the headers to connect up to eight toggle switches and indicator
LEDs are in the middle.
►
►
decodes the serial stream and ignores
everything except the points position
that matches its identity, 0-7, depending on the settings of jumpers JP1-JP3.
Those jumpers connect to the RA5,
RA4 & RC5 digital inputs of IC2. If a
jumper is inserted, shorting the two
header pins, it pulls the connected pin
low. Otherwise, that pin is pulled high
by a 10kW resistor. That means they are
all at a high logic level unless a jumper
shunt is added. Table 1 shows the jumper
setting for each of the eight channels.
When the desired points position
changes, it brings one of the RC3 &
RC4 digital outputs high for 200ms to
drive the points motor as described earlier. It also updates the states of digital
outputs RC1 & RC2 to light the appropriate LED in the signal, or change the
state of the optional Semaphore with
its signal input connected to SIG1 and
its GND to 0V.
Diodes D5 & D6 are provided because
when Q1 or Q2 switches off, the magnetic field in the motor windings will
collapse and cause a voltage spike at
the drain of the Mosfet that was on.
These diodes clamp the voltage, preventing damage to the Mosfets.
The 100μF and 100nF supply bypass
capacitors in each Receiver are necessary since the Transmitter that’s the
source of the 5V rail could be some
distance away, connected by relatively thin wires, so the supply needs
local filtering.
Fig.7: if using our commercially-produced
Receiver PCBs, there’s no need to fit the
four wire links shown here. Ensure the four
bus terminals connect to the corresponding
terminals on the Transmitter PCB.
Start by fitting the resistors immediately on either side of IC1, followed
by the IC socket with the notched end
at the bottom. You can then solder the
header pins, made from strips four or
five pins long that can be snapped from
longer headers.
Follow with the capacitors, taking
care with the orientation of the electrolytics (the longer lead is positive while
the striped side of the can is negative).
Don’t solder the PIC directly to the
PCB, as there is no provision for in-
circuit programming.
Next, add the remaining resistors,
which are mounted vertically, then
dovetail the three terminal blocks and
solder the whole lot at the top of the
PCB, with the wire entries towards
that edge.
Solder in the 7805 voltage regulator and the 1N4004 diodes as per the
layout diagram, taking care to match
their orientations with what’s shown
in those figures.
If you have purchased the PIC16F1455
microcontroller from the Silicon Chip
online shop, it will already have the
firmware loaded. If you wish to do this
yourself, the files can be downloaded
from siliconchip.au/Shop/6/276
Check for dry joints and solder bridges and rectify them if you find any.
You can then plug the header sockets
onto the header pins, ready to solder
the wires to the LEDs and switches.
If you don’t have individual 4-pin &
5-pin strips, you can cut up longer
strips with a hacksaw or side cutters.
Receiver assembly
The Receiver is built on a 56 × 45mm
single-sided or double-sided PCB coded
09101242 – see the overlay diagram,
Fig.7. The PCBs we supply will be
double-sided, so they won’t need the
four wire links.
If you have single-sided boards (eg,
you made them yourself), start by fitting the four wires shown in Fig.7. It
Photos 3 & 4: the left-hand
photo is the Transmitter PCB.
Commercial PCBs will have
silkscreened labelling. Note
the headers for connecting
the switches and LEDs; the
extra pin is the 0V (GND)
connection. The right-hand
photo is the Receiver PCB. As
commercially-made PCBs will
have two layers, you won’t
have to fit the links, saving
some time.
Practical Electronics | February | 2025
41
Constructional project
is advisable to use solid-core insulated
wire (‘Bell wire’). You can see from
Photo 4 that I used tinned copper
wire; if doing the same, be careful
to route the wires so they can’t short
against anything.
The construction procedure is the
same as for the Transmitter, although
all the resistors are mounted vertically
on this board. Watch the orientations
of all diodes, Mosfets, electrolytic capacitors and the IC socket. Also check
that the terminal block wire entries are
facing the nearest edge of the board.
You will see that I used pieces of
socket strip for CON6 & CON7, although I have specified polarised
headers and matching plugs in the
parts list. The advantage of the latter
is that you can’t accidentally connect
the points or signal backwards if you
unplug and replug them later.
While IC2 is the same type of chip as
IC1 (a PIC16F1455), it is programmed
differently, so make sure you get
the right ones when purchasing preprogrammed chips. Similarly, if programming them yourself, use the HEX
file ending in B for the Receiver chips
and the -A file for the Transmitter chip.
Check for dry joints and solder
bridges, then refer to Table 1 to see
which jumpers you need to plug into
the headers for each Receiver based
on its number. Photo 4 shows the
jumper settings for points #5.
Photo 5: a points motor connected to a set of points on a
small section of track for testing.
realism of the layout. Fig.8 shows
how I made them. The mounting
pole is made from a length of 3/32in
(~2.38mm) square hollow brass tube.
Cut it to size and clean up the ends
using a file.
The LED mounting plate is made
from a piece of 0.05in thick by 0.5in
wide (1.3 × 12.7mm) brass strip. Drill
the 3mm diameter holes 6.5mm apart,
then cut the plate to length. Use a linisher or file to round the ends to size
and clean up the edges, then paint
the plate matte black.
For the base, place a piece of 20mm
aluminium round rod into a three-jaw
chuck so that 10mm protrudes. Face
the end and turn it down to a 5mm
diameter for a length of 3.5mm. Using
a centre drill, followed by a 3mm
Fig.8: here are the details of the parts used to make the optional signal to go
with each set of points. You could use the Semaphore described in the April
2022 issue instead.
drill, bore out the hole to a depth of
5mm. Part it off to a length of 4.5mm.
Fit 3mm red and green LEDs into
the LED mounting plate, noting the
orientation shown on the drawing.
Bend, cut and solder the leads as
shown to create the LED assembly.
They are soldered anode-to-cathode,
in inverse parallel.
The LED assembly is then soldered
to the post. Clean, tin and flux the
mating surfaces between the LED assembly and the post. Use a soldering
iron to heat the assembly until you
see solder coming out of the joint.
File off any excess solder. Slide the
base onto the post and lock it in place
25mm from the green LED lead using
Loctite GO2 (or equivalent).
To get power to the LEDs, take two
300mm lengths of thin hookup wire
(red & black). You can strip these out
of an old USB cable. Remove about
2mm of the insulation on both ends
and tin the exposed wire. Clean and
tin the bottom edge of the post, then
place the red wire on top and solder
it to the post.
Thread the black wire up the centre
of the post and connect it to the LEDs,
as shown in Fig.8. Attach header pins
to the other end of the red and black
wires, and cover the wire connections
with heatshrink tubing.
Cover the LED assembly with masking tape and spray the rest with silver
paint. Finally, test the signal by connecting a 680W resistor in series with
the positive lead of a 5V DC power
supply. Connect the other end of
the 680W resistor to the signal red
lead and the black lead to the supply's negative. The red LED should
42
Practical Electronics | February | 2025
Making the signals
You don’t strictly need the signals,
but they improve the appearance and
Model Railway Points Controller
Scope 1 (left): the Mosfet gate drive (cyan) and drain voltage (yellow) when driving one side of a points motor. After
switching the points, the capacitor takes about 400ms to recover its charge.
Scope 2 (right): if the Transmitter is operating correctly, the serial waveform from pin 5 of IC1 should look like this.
glow. Reverse the connections, and
the green LED will light.
Mounting the signal
If your layout is on a timber base,
drill a 3mm hole at a suitable location
near the entry to the points. Insert the
signal wire end into the hole first, until
the base is flush with the board. Glue
it in place using Loctite GO2.
My layout is on a polyurethane base,
so I did the same but used a 2mm drill.
I enlarged the hole to 3mm from the
underside with about 24mm of the
hole length remaining at 2mm. Wait
till you have tested the PCBs before
securing the signals in place.
Preparing for testing
the header on the Receiver.
I soldered the wires to header pins
to match the sockets I soldered to the
board, and covered the solder joints
with heatshrink tubing.
Transmitter testing
Check the orientation of the capacitors, diodes, and the voltage regulator,
then apply 12V AC to the screw terminals as shown in Fig.6 (the two at upper
left). Use a DVM to check that you have
+5V and between 16-18V referenced to
0V on the terminal blocks. With the DVM
black lead connected to pin 14 and the
red lead to pin 1 of IC1’s socket, check
that you measure +5V DC.
Remove power and plug in the
PIC16F1455, being careful to avoid
folding its legs. Reconnect the supply
and, if you have an oscilloscope, check
to see that serial data is being sent
out from the serial screw terminal,
as shown in Scope 2. Otherwise, you
can use a frequency counter to check
for activity.
The next step is to connect the Transmitter to a Receiver but, before doing
so, recheck the Receiver board to verify
that the diodes, Mosfets, capacitors and
IC2 are correctly orientated.
Connect the points assembly, Transmitter and Receiver as shown in Fig.9.
Set the jumper links for points 1 (see
Table 1). Apply 12V AC to the Transmitter, and you should see the green
signal LED light and the points motor
switch to the left. Short pin 13 of IC1
to ground (pin 14 is ground); the red
signal LED should light, and the points
motor should switch to the right.
Switch off the power and change the
jumper settings to #2. Switching the
power on will again cause the signal
Before testing the Transmitter and
Receiver PCBs, make a temporary set
of points with a points motor attached,
as shown in Photo 5. I mounted it on
a scrap piece of 30mm polystyrene.
Firstly, mount the points using 0.78
× 25mm pins.
Using the points operation lever,
move the points in the direction shown
in the photo. Take a points motor and
orientate it with its actuator down.
Place the hole in the actuator directly over the pin in the point’s operation lever and pin the motor in place.
Switch the points manually, checking
that the point motor's actuator moves
smoothly in and out.
Prepare the wires on the points motor
to connect to a Receiver PCB. If using
the specified polarised headers, that
means crimping and/or soldering them
into the header plug pins, then pushing those pins into the moulded plastic
block in the correct order to mate with
Fig.9: the wiring for the first set of points. It’s the same for the other seven sets of
points, except that the three jumper settings change (see Table 1 below).
Practical Electronics | February | 2025
43
Constructional project
Fig.10: the suggested positions for the PCB mounting holes, power input socket and serial bus cable in the control box.
green LED to glow and the points motor
to go to the left. This time, short pin
10 of IC1 to ground; the red signal LED
will glow, and the points motor will
move to the right. Repeat for the remaining point channels, referring to
Table 1 and Fig.4.
When finished, set each Receiver
to a different ID, referring to Table 1,
and use a small label or marker pin to
write the IDs you’ve assigned on the
Receiver PCBs.
Finishing the control box
You will now need to create a suit44
able label for the control box. I did
this on the computer, scaled it to size
to fit the control box lid and printed it onto silver sticky decal paper.
Remove the backing sheet and carefully fit the label to the box, avoiding
any air bubbles under the surface.
As every layout is different, I
haven’t made a drawing of the drilling details of the lid. However, Fig.10
shows the drilling details for the base
and sides of the box.
Drill out the holes for the green
LEDs and switches, then fit them
to the case. To connect the 12V AC
plugpack, you need to drill a hole in
the back of the box for the barrel connector, plus another for the four-wire
serial cable exit.
The Transmitter PCB is mounted
on the bottom of the box using M2.5
screws and nuts. Fig.11 shows the
wiring for the first set of points, which
connects to 0V, P1 and LP1. The other
channels follow the same scheme; eg,
for the second set of points, the wires
connect to 0V, P2 and LP2.
These connections can be made by
soldering the wire to the socket pin,
covering the solder joint with a short
Practical Electronics | February | 2025
Model Railway Points Controller
Parts List – Model Railway Points Controller
Transmitter_________________________________________________________________________________
1 single-sided PCB coded 09101241, 74 × 47mm
1 flanged ABS plastic enclosure, 171 × 121 × 55mm [Gainta G313MF]
1 14-pin DIL IC socket (for IC1)
1-8 SPDT or DPDT toggle switches (S1-S8) (one per set of points)
3 2-way mini terminal blocks, 5/5.08mm pitch (CON1-CON3)
1 panel-mount barrel socket to suit plugpack (CON4)
3 4-pin headers
1 5-pin header
3 4-pin female header sockets
1 5-pin female header socket
4 M2.5 × 10mm panhead machine screws
8 M2.5 hex nuts
1 long four-core wire (to connect the Transmitter to all Receivers)
various lengths and colours of hookup wire
various lengths of heatshrink tubing
1 12V AC 1A plugpack
Semiconductors
1 PIC16F1455-I/P micro programmed with 0910124A.HEX, DIP-14 (IC1)
1 7805 5V 1A linear regulator, TO-220 (REG1)
2-16 3mm green LEDs (LED1-16; two per set of points)
4 1N4004 400V 1A diodes (D1-D4)
Capacitors
1 2200μF 25V low-ESR radial electrolytic
1 1000μF 16V low-ESR radial electrolytic (5mm lead pitch)
2 100nF 50V ceramic
Resistors (all 1/4W 1% axial)
1 1kW
8 680W
9 10kW
Receiver (per set of points, 1-8 per Transmitter)____________________________________________
1 single-sided or double-sided PCB coded 09101242, 56 × 45mm
1 set of points
1 PECO PL-11 points motor
1 14-pin DIL IC socket (for IC2)
2 2-way mini terminal blocks, 5/5.08mm pitch (CON5)
1 2-pin polarised header with matching plug and pins (CON6)
1 3-pin polarised header with matching plug and pins (CON7)
3 2-pin headers (JP1-JP3)
0-3 jumper shunts (JP1-JP3; number required depends on Receiver ID)
various lengths and colours of hookup wire
various lengths of heatshrink tubing
Semiconductors
1 PIC16F1455-I/P micro programmed with 0910124B.HEX, DIP-14 (IC2)
2 IRL540N, MTP3055VL or IPP80N06S4L-07 N-channel logic-level Mosfet or similar, TO-220 (Q1, Q2)
2 1N4004 400V 1A diodes (D5, D6)
Capacitors
1 2200μF 25V low-ESR radial electrolytic
1 100μF 16V low-ESR radial electrolytic (2-2.54mm lead pitch)
1 100nF 50V ceramic
Resistors (all 1/4W 1% axial)
1 4.7kW
1 680W
2 220W
1 47W
3 10kW
Signal (per optional signal)_________________________________________________________________
1 50mm length of 3/32in (~2.38mm) square hollow brass tube
1 20mm length of 0.025in thick, 0.5in wide brass strip
1 20mm length of 20mm diameter solid aluminium rod
1 3mm green LED (LED17)
1 3mm red LED (LED18)
Practical Electronics | February | 2025
45
Constructional project
www.poscope.com/epe
- USB
- Ethernet
- Web server
- Modbus
- CNC (Mach3/4)
- IO
- PWM
- Encoders
- LCD
- Analog inputs
- Compact PLC
- up to 256
- up to 32
microsteps
microsteps
- 50 V / 6 A
- 30 V / 2.5 A
- USB configuration
- Isolated
PoScope Mega1+
PoScope Mega50
Fig.11 (above): this shows some of
the wiring for the Transmitter PCB
inside the control box. Additional
switches and LEDs are wired
similarly but to terminals with
higher numbers (P2/L2, P3/L3 etc).
Fig.12 (right): you will need to figure
out where to position the switches
and LEDs to suit your layout, but in
general, this shows how they should
operate. If yours does the opposite,
reverse the switch or the wiring that
is going to it.
length of heatshrink tubing and using
a hot air gun to shrink it.
The 12V AC comes in via its attached plug and the socket that screws
into the 8mm hole on the rear of the
box. The connector must then be
wired to the 12V AC screw terminals
on the PCB.
Use four-way alarm cable or similar to make the connections between
the Transmitter and the Receivers, as
shown in Figs.3, 9 & 11. The cable
exits the control box through the
6mm hole. The Receiver PCBs can
be mounted underneath the layout.
Final testing
- up to 50MS/s
- resolution up to 12bit
- Lowest power consumption
- Smallest and lightest
- 7 in 1: Oscilloscope, FFT, X/Y,
Recorder, Logic Analyzer, Protocol
decoder, Signal generator
46
With all the points’ switches in the
up position, the green LEDs on the
control box should indicate which
way the points are switched, as shown
diagramatically in Fig.12. Each signal
should be green.
Changing a switch to the lower
position should cause the associated set of points to change and the
corresponding signal to go red. This
should be reflected on the associated
control box LED.
Due to the number of combinations
of points types, motor positions and
signals, you may find this isn’t the
case. If the problem is with the points,
try swapping the points motor's red
and black wires at the Receiver PCB.
If the problem is with the signal,
that can be rectified by swapping the
red and black wires from the signal
where they connect to the associated
PE
Receiver PCB.
Table 1 – Receiver jumper settings
# A
B
C
1 Jumper
Jumper
Jumper
2 Open
Jumper
Jumper
3 Jumper
Open
Jumper
4 Open
Open
Jumper
5 Jumper
Jumper
Open
6 Open
Jumper
Open
7 Jumper
Open
Open
8 Open
Open
Open
Practical Electronics | February | 2025
|