
Software
Defined Radio: The June 2019 issue of QST magazine
includes a one-page note about an SDR designed by Alberto Di Bene
(I2PHD).1 A
couple of things intrigued
me about the article. First, I was unfamiliar with the ST
Microelectronics ‘Discovery Kit’, which includes a powerful MCU and 2.4
inch touch screen, and was curious to learn more about this
development kit. Also of interest to me was the receiver’s
unusual frequency range: 8 KHz to 900 KHz. The lower part of this range
would be considered
‘VLF’ (Very Low Frequency).2
After reading the QST
article I knew that I would at
least explore the
STM32F4 Discovery Kit and, if it were not forbiddingly difficult, I
might also attempt to construct Mr. Di Bene’s
SDR.
I ordered an STMF429 Evaluation Board from
Digi-Key ($29.90 plus shipping) and began to read the extended on-line ARM
Radio paper, a detailed technical
account of Mr. Di Bene’s
project. Parts of the theoretical description were
beyond my
knowledge or immediate understanding, but the anti-alias and
‘reconstruction’
filter circuits seemed straightforward. While waiting for the
Discovery Kit to ship and be delivered, I began to transcribe Mr. Di
Bene’s
schematics into Autodesk Eagle (the free version),
with a view to laying out a printed circuit board (PCB) for these two
circuits.
It would have been possible to construct them on a breadboard
or generic circuit board, but I thought the filter circuits
would make good practice examples for learning to use Eagle.

Discovery
Kit: The
kit came pre-loaded with demonstration software (photo right). This
presented a
dilemma of sorts, in that I was hesitant to load anything onto the
board
that
might ‘break it’. I had downloaded and installed the free STM32 ST-LINK Utility with the
intent
to upload the ARM Radio (SDR) firmware to the board.3
I had also played a little with development tools, and had
created a
‘Hello, world!’ exercise, but was not confident enough to try loading
anything at this point. The development environment for this
kit is considerably richer than others I had used, such as the Arduino
IDE.
To get past my perhaps irrational
concern about hosing the
demonstration software, I searched for a reloadable binary or hex file
that could be used to restore the demo. Eventually, after navigating
seemingly circuitous
links, I located the same demo
that came on the board from Digi-Key. (There appear to be many variants
of this kit and related software.) Armed with a backup
plan, so-to-speak, I took a chance and loaded the ARM Radio
binary file.
Shock and awe—The load succeeded! The screen display was the same
as illustrated in the QST
article. Pressing the blue ‘user’ button on the Discovery board stepped
the application through a
list of pre-stored European stations. Virtual controls (TFT
GUI components) including
frequency ‘up-down’
buttons, modulation mode, volume slider, and mute toggle all responded
visually to being
touched. Of course, without the filter circuits it was not possible at
this point to test the SDR itself, only its user interface.
I ordered
prototype PCB’s
from JLCPCB
early on a Friday morning.4
The boards were manufactured, shipped, and delivered (Hong
Kong to Eastern US)
by Monday afternoon! In the meantime a problem had popped up.
The ARM Radio software worked when the Discovery board was plugged into
the computer’s USB port, but would not run when the board was powered
from a
wall brick. This turned out to be a known bug in the board’s
firmware—The answer was found here. The illustration (left)
shows how
to select a firmware update in the ST-Link utility. This option
automatically detects the board type, then downloads and installs the
latest
update. It is not necessary to search for and download firmware
revisions separately.
After
this update ARM Radio started normally, regardless of
how the board was powered.

Filters:
Allowing for minor value substitutions, all components that were needed
to
construct the filters were already on-hand: resistors, capacitors, and
transistors, etc., except for the two wire-wound inductors, about which
I was
unsure. Actually, a couple of things were unclear in my mind. I didn’t
know whether the primary and secondary of the RF transformer should
have a
common ground, so I installed a header/jumper to connect the grounds
(It doesn’t appear
to matter). Similarly I installed female headers for the two toroids,
and for a temporary variable resistor (potentiometer) that would be
used to ascertain a value for R10 in the anti-alias filter. The
latter worked out to be 2275 ohms so I soldered a 2200 ohm and 75 ohm
resistor in series
(photo right) for 1.8 volts on the collector.
I thought that 4.5 mH would be
problematic to construct, and for initial testing substituted a
lesser-valued molded inductor
in the reconstruction filter. However, later I experimented with
various toroids and hit upon one that yielded the desired 4.5 mH
inductance with 28 turns of magnet wire. Although it is color-coded
(darkish green—photo left)
I have not been able to identify what type it is. The RF transformer
was a similar trial-and-error process. Mr. Di Bene’s
paper specifies a number of turns for the windings, 6 and 30, and ‘high permeability’
core. I had a couple of very small ferrite toroids and several iron powder
cores (scrounged from discarded UPS’s), and ended up using one of
these, but with a greater number of turns. I may fiddle with the
RF transformer again later, although I don’t anticipate using a 50 ohm
antenna with this receiver.
After populating the circuit board, but
before connecting the GPIO pins (ADC-in and DAC-out), I tested voltages
at key points in the filter circuits, and examined the anti-alias
filter’s
output on the
oscilloscope (at the
midpoint of the level-shifting circuit).
Everything looked good.
Preliminary
testing: I
connected a ferrite loop ‘antenna’ (photo left) to the output
of a function generator (AKA signal generator)
but did not attach an antenna to the
receiver. The latter was situated about
25
cm from the loop on the same bench. In other words, the receiver was
‘loosely coupled’ to the test signal.
Using this configuration I tested
at multiple frequencies, as low as the SDR’s cutoff 8 KHz. At 30 KHz
the received signal was loud and clear with a milliwatt or so output
from the signal generator, and could be heard above noise with the test
power less than 1/10 milliwatt. I realize this mode of describing
receiver sensitivity is not particularly informative,
given the non-standard setup, but it’s the best I can do. Using
my body as an antenna (i.e. touching the antenna input) I could pick up
the strongest local AM (medium wave) station at 560 KHz, but not very
well. A small loop antenna fared no better, maybe worse.
Antenna:
From time to time I had thought of erecting some sort of all-band
listening antenna. We have trees—it
would be possible to shoot one end of a wire 60 feet or more in the
air. The
trouble is there are too many trees, without a clear run between
any otherwise suitable pair of them. Well, long waves are ground
waves so maybe a wire that is not far above ground would work. I
dismissed constructing a beverage antenna because the bearing toward
the back of the
lot would be wrong. The over-the-fence random wire shown above is 210
feet of
straight run plus another 30+ feet of lead-in. It was easy to erect,
less than two hours effort, and picks up lots of stations in the medium
and short waves. Unfortunately I am not able to quantify this
assessment.
Trying it
out: We are plagued with significant power line noise
at our location. The utility company has promised to investigate the
cause(s) and take
whatever steps are necessary to remedy or improve the situation, but
have not
said when they will do this. This line noise is strongest during
daylight hours, and especially in dry weather, and from the US
AM broadcast
band down into the long-wave spectrum. Conditions are better
at night and in damp weather.
ARM Radio picks up lower-end AM
broadcast stations
clearly (its top frequency is
900 KHz). There are no longwave broadcast stations in the United
States, only special services. In the evening I have heard very weak
voice
and music
on two of the pre-stored European longwave broadcast station
frequencies. Monte Carlo and
Radio Europe-1 both have very high-power transmitters. However, I don’t
know
whether it is even possible to receive European longwave stations in
the
southeastern US where I am located. This seems doubtful, and in any
case the signals I have heard are too weak to identify. They could be
spurious images of higher frequency US stations, although they
were heard only
on the two named
frequencies, not in-between, so maybe...5
Currently the filter amplifiers draw
power from the Discovery Kit’s power supply. In other words the same
wall wart supplies both the MCU board and the filters.
At very low frequencies ARM Radio responds to electrical
activity that originates from the MCU board, for example its LEDs. This
is not surprising, and may be unavoidable. I can identify some but not
all such artificial sources.
Demo: ARM Radio
Follow the ARM Radio link at http://www.weaksignals.com/
for impressive audio recordings (MP3 files) by Mr. Di Bene.
Footnotes:
1. Page
66 — QST
magazine is a publication of the American
Radio Relay League.
2. The lower cutoff frequency (8
KHz) corresponds to a wavelength of 37.5 km.
3. The QST article also
presents
links to software and additional documentation.
4. Eagle (free version) supports
2-layer PCB’s up to 800 mm2 in size. After
drawing a schematic and creating its corresponding circuit board
layout, there is an option to generate manufacturing files for the PCB.
5. This was wishful thinking. I coupled a hi-Q
tuned loop to the random wire antenna, which improved reception but did
not reduce unwanted noise. With this configuration it was possible to
identify one weak signal as an AM-band broadcast station located about
100 miles distant. Intense noise continues to blanket the long wave
broadcast band at my location, making genuine DX signal reception a
lost cause.
Project descriptions on this page are intended for entertainment only.
The author makes no claim as to the accuracy or completeness of the
information presented. In no event will the author be liable for any
damages, lost effort, inability to carry out a similar project, or to
reproduce a claimed result, or anything else relating to a decision to
use the information on this page.