Seductive serendipity / Verleidende serendipiteit

August 2nd, 2016

Arduino Meinberg PZF5xx NTP time standard

A Meinberg PZF5xx NTP time standard is simulated with an Arduino
in conjunction with a cheap DCF77 receiver module to produce surprisingly
accurate internet independent time stamps.

A priori
In this post I elaborated on Udo’s magnificent work concerning decoding
DCF77 time stamps in noisy/suboptimal environments. Please read this first.

Last month I was in Germany /P at a camping site and decided for some JT65 on 40m.
Naively I started WSJT-X but soon discovered my laptop clock was way off time.

Believe it or not, I was in a situation with no internet access, nor 3G/4G. Now what?

Being in the process of building a DCF synced clock with large 7-segment displays
for the camper, my DCF clock had to be enriched with a reference clock option
for internet independent NTP time synchronisation. Yes, DCF not GPS.

Unfortunately most modern computers only have one type of hardware interface, USB.
This excludes e.g. connecting simple DCF77 receivers to a serial (RS232) port.
I remembered Udo published a Meinberg emulation sketch, so I digged further into this.

Reference clock
I added Udo’s Meinberg code to my sketch and after some fiddling I was able to
see the refclock in NTPD under Linux. Having experimented with DCF77 modules
a lot in the past, I was disappointed about the reported jitter.

Offset was/is not the issue, it can be tweaked with the fudge factor ‘time1′ in ntp.conf.
With DCF NTP refclocks this time1 fudge factor is normal because propagation delay
of the DCF transmitter in Mainflingen, Germany has to be compensated, as well as
latency of the hardware interface (RS232, USB).

Taking PLL options inside my clock sketch into account, I could hardly believe
the reported jitter. Did I overlook something?

Meinberg clocks output UTC epoch synced PPS with a datagram (‘describing string’).
The PPS creates NTP clock accuracy and the string clock Time (with a capital T).

Although my sketch -based on the dcf77.h library of Udo- has the option to output
a synced PPS, this PPS can’t be interfaced (directly/easily) with USB. Now what?

Reading more information on NTPD parse refclocks, it seems that Udo chose the
‘first’ option for his Meinberg emulator, i.e. ‘mode 2′.

In ‘mode 2′ there seems no relation between the (timing of the) datagram and UTC epochs.
When the datagram heeds the ‘University of Erlangen’ syntax, its burst
is assumed to be synchronised to UTC more precisely, i.e. ‘mode 0′ or ‘mode 1′ :

“The DCF77 PZF5xx variants provide higher accuracy and have a
pretty good relationship between RS232 time code and the PPS signal.”

Meinberg PZF511

Error/jitter relates to the datagram bitrate. For 9600 bits/s this amounts 1/9600 = 104 us.
This is also coded in the ntpd/refclock_parse.c source (download NTP source here) :

* Meinberg DCF PZF535/TCXO (FM/PZF) receiver
#define DCFPZF535_ROOTDELAY     0.0
#define DCFPZF535_BASEDELAY     0.001968  /* 1.968ms +- 104us (oscilloscope) – relative to start (end of STX) */
#define DCFPZF535_DESCRIPTION   “Meinberg DCF PZF 535/509 / TCXO”

In other words, fooling NTPD that my PLL locked Arduino is a Meinberg PZF5xx
should improve performance significantly?

I coded the ‘Uni Erlangen’ syntax in my sketch.
Despite lacking a ‘hard’ PPS, performance after convergence is suprisingly good.

Although I didn’t pay too much attention on timing issues inside the code,
it’s the best DCF NTP refclock I ever had!

Relevant ntp.conf entry for this refclock (Note: /dev/refclock-0 is linked to /dev/ttyUSB0) :

#PARSE clock for Meinberg , normal AM clock = mode 2, PZF5xx = mode 0 or 1
server mode 0
fudge time1 0.0277 stratum 0 refid DCFm

Note: fudge factor time1 here is 27.7 ms and I chose the TCXO version (mode 0)

[/home/user@li]> ntpq -p
remote           refid      st t when poll reach   delay   offset  jitter
*GENERIC(0)      .DCFm.      0 l    9   64  377    0.000    0.291   0.070
+aardbei         .GPS.       1 u   47   64  377    0.698   -0.211   0.183      .PPS.       1 u    7   64  377   19.924   -1.240   0.203

[/home/user]> ntpdc -nc kern
pll offset:           -1.128e-05 s
pll frequency:        21.402 ppm
maximum error:        0.000749 s
estimated error:      0.000133 s
status:               2001  pll nano
pll time constant:    6
precision:            1e-09 s
frequency tolerance:  500 ppm

Relying on the quality of the dcf77.h library there may be room for further improvement.

More experiments
From the original perspective the above information is somewhat ‘cheating’.
NTPD is configured as connected to the internet with several active remote NTP servers.

To simulate a real standalone situation, i.e. no internet connection, I rebooted my
computer and started ntpd with only one refclock entry in /etc/ntp.conf:

#PARSE clock for Arduino/fake Meinberg PZF5xx –> mode 0
server mode 0
fudge time1 0.0259  stratum 0 refid DCFp #DCFp because refclock is phase locked : -)

During the reboot process ntpd was started with ntpd -I lo -I eth0 to peek into this
‘standalone’ running ntpd from another machine to compare its performance with other NTP servers.
The ‘-I’ options are necessary because ntpd does not open e.g. the eth0 interface when no remote
(internet) time servers are configured in /etc/ntp.conf.

While (re)booting I fetched a cup of coffee, fed my cats, and returned after 15 minutes.

At my location the Arduino takes around six minutes for a DCF lock, after which it produces timestamps.

Ntpq -p delivered the following output:

[/home/user@li]> ntpq -p
remote           refid      st t when poll reach   delay   offset  jitter
*GENERIC(0)      .DCFp.      0 l   39   64  377    0.000    0.003   0.014

Although the above result may be considered Kafkaesque, it’s suspiciously good : -)

Subsequent queries gave often offsets in the usec range and jitters < 200 usec. Very good.

In order to peek into this Kafkaesque situation I queried this NTPD instance from a remote
machine on my LAN (remember, I started ntpd with the options -I lo and -I eth0):

[/home/user@he]> ntpq -p
remote           refid      st t when poll reach   delay   offset  jitter
*lithium .DCFp.      1 u   64   64  377    0.309   -0.332   0.084
+aardbei .GPS.       1 u   41   64  377    0.615    2.048   0.199      .PPS.       1 u   29   64  377   19.643   -0.123  0.362
-ntp3.vniiftri.r .MRS.       1 u   17   64  377   70.189    3.363  0.652

Aardbei‘ is my very popular Motorola Oncore GPS disciplined NTP server and has
a local accuracy and jitter of a few micro seconds:

[/home/user@li]> ntpq -p aardbei
remote           refid      st t when poll reach   delay   offset  jitter
oGPS_ONCORE(0)   .GPS.       0 l    5   16  377    0.000    0.000   0.002
+2001:610:1:80be .PPS.       1 u   12   64  377   18.528   -2.012   0.172      .PPS.       1 u   31   64  377   20.002   -2.147   0.357
*  .PPS.       1 u   93   64  376   18.475   -2.040   0.368

Lithium‘ is the ntpd instance running ‘standalone’ with the DCF disciplined Arduino/fake Meinberg PZF5xx.
Other entries are remote benchmarks.

After some monitoring I discovered that lithium (DCF locked) and aardbei (GPS locked) were
competitive stratum 1 servers (from heliums perspective) !

I reckon when the Arduino interfaced to a real RS232 interface (using DCD for the PPSAPI)
may outperform a real DCF based Meinberg !
Edit: I did some early experiments with PPS (atom driver 22) and indeed, this looks promising ; -)

Anyway, for the time being it’s fine for me. The fake Meinberg will not be used as a reference for a
NTP server but only to sync my laptop (which also has to run NTPD then) for weak signal usage.

The current active Meinberg refclock sketch can be downloaded here.


June 3rd, 2016

Es’hail2 dual band dish feed

A priori: click on images to enlarge in new tabs.

In Q1 2017 the Qatar Es’hail Satellite 2 (Es’hail2) is scheduled for launch and
will carry a 2.4 GHz receiver for amateur usage. The geostationary position is 25.5E.

My concept will be a single dish with dual band feed. Actually it will be a
2.4 GHz LHCP feed together with an X/Ku-band PLL LNB.

Standard/cheap broadcast dishes own a f/D around 0.6, so popular patch
antennas will over illuminate the dish, resulting in less overall efficiency.

The -10 dB opening angle of the feed should be around 80 degrees.

I read somewhere (don’t know where) that the amount of turns (N) should be N * 0.1 f/D.
Since my dish f/D = 0.6 I built a 6 turn 2400 MHz helix (v0.1) according to information
from the web. This helix was made with enameled 2 mm diam copper wire.

For whatever reason I couldn’t get a proper match, i.e. a match with return loss >30 dB@2400 MHz.

Time to model the helix to estimate interdependancy and weighting factors of
design parameters relative to e.g. gain, radiation pattern and axial ratio.

Information + pictures to be presented soon. For the time being: below a gif which Van Gogh should envy ; -)
It’s the calculated axial ratio of helix v0.2, i.e. the difference between RHCP and LHCP (click to enlarge).

Difference in RHCP and LHCP gain of modelled v0.2 helix.

Practical design
Below some pictures of two helices recently made for this project. The first one (v0.1) was made with
enameled 2 mm diam copper wire according to ‘helix calculators’.

Initially I attributed the non optimal match to the position of the feedpoint due to mechanical
restraints. E.g. the ‘extra’ wire (‘not part of the helix’) acts as impedance transformer.

No matter what 1/4λ stub (length, impedance) I tried, measured return loss around 2400 MHz remained
suboptimal. I.e.  in the 15 – 20 dB range, while dips occured around 2350 and 2500 MHz but not 2400 MHz.
(generally builders/designers are satisfied with 15 – 20 dB return loss . . . I’m not . . . )

Anyway, v0.1 served very well as a template for the feed mechanics.

Below some pictures of prototype v0.1 (right picture a 60cm diam test dish). (click to enlarge)

Today I made a new helix (v0.2) with ‘drilled’ 2mm diam plain copper wire according to my simulations.
I suspect the enamel around the wire of v0.1 might have significant influence on 2.4 GHz,
perhaps due to skin effects or whatever.

v0.2 diameter is somewhat larger compared to v0.1, viz. 46mm vs. 42mm, but has the same pitch (27mm).

The helix is matched to 50Ω with a delibarate too broad 1/4λ long copperfoil ‘transmission line’.
After some fiddling I obtained a perfect match (RL =48 dB !!) around 2400 MHz. That’s much better!

Radiation patterns of antennas are more predictable and ‘pure’ when they are terminated
with the proper/calculated impedance. It’s reciprocal.

Identical to a transmitter which has to be terminated with the proper impedance for maximum energy transfer,
an antenna must be terminated properly to convert inserted RF-current into the wanted radiation pattern.
In other words, life is much easier and predictable when both impedances ‘match’ ; -)

Inserting my LNB in the helix current maximum detoriorated the return loss with ca. 10 dB and
the sharp dip increased somewhat in frequency. Anyway, looks promising and it needs some
fiddling to get everything perfect on 2400 MHz in front of a dish : -)

Below some pictures of v0.2 (click to enlarge).


May 29th, 2016

Rescue the ZL1SIX floater!

A priori: click on images to enlarge in new tabs.

A while ago I seemed to be one of the few, if not the only, Europeans able
to receive 30m WSPR traces of high altitude balloons (HABs) launched in Australia
while floating in/on the southern hemisphere.

One of the avid balloon hunters was -and still is- Bob ZL1RS. At the end of last year
Bob created his own project: the 30m ocean floater. <– please read this.

Bob’s ocean floater was released around May 15th into the Pacific ocean.
Estimated lifetime of this buoy is around 6 – 9 months. The first two weeks ZL1SIX
transmitted its information every hour with accurate timing.

WSPR traces were sent at XX:46:00, followed by two JT9 transmission at XX:48:00 and XX:49:00.
The first JT9 frame contains call (ZL1SIX) and the current six digit Maidenhead locator,
the second JT9 frame contains telemetry: battery voltage and (water) temperature.

However . . . despite extensive testing ashore, as of May 29th it seems that Bob’s PICAXE power saving
software inside the buoy contains a timing bug. ZL1SIX (now) transmits its packets around 10 seconds too early!

The result is ‘normal’ WSPR setups are not able to decode its WSPR & JT9 traces, leaving Bob ZL1RS
and Joe VK5EI the only ones able to receive the floater because they fiddled with their computer timings.

To help Bob receiving his buoy (if succesfull) I built up my WSPR & JT9
30m receiving station with Beverage in the quiet nearby woods. The buoy has ca. 100 mW output and
floats in warm salt water, a perfect take off! I reckon it must be possible to receive it in Europe.

However . . . the issue is (read: was) the timing!
As WSPR time client I use rsNTP from Wolf DL4YHF, well known from his Spectrum Lab software.
His NTP client has a feature to deliberately add or substract a timing offset.

This afternoon I mailed Wolf with an unusual rsNTP software request because I also want to compete
in the WSPR Challenge. My request was: rsNTP adds 10 seconds to ‘time’ in the 45th minute of
the hour and eliminates this addition at the end of the 49th minute, to be able to get the ‘normal’ 50th
WSPR time frame properly.

Wolf responded quickly to my mail and was willing to add my weird feature.
Within a few hours Wolf mailed me to download his modified client.

Wolf rewarded my request with an ‘Options’ button and the latest version of his
rsNTP client can be downloaded here.

Before (re)installing this version of rsNTP, please read this first! (please do)

I was the first to download his amended client and it seems to work, see below.

My suggested time offset values are already entered in the defaults.

After the last (current) ZL1SIX JT9 cycle rsNTP corrects ‘time’, as can be seen below in the
time stamps in the WSPR waterfall.

Everybody with a (Windows) WSPR setup now may be able
to receive ZL1SIX properly as far as timing is concerned.

Note: between XX:45:00 and XX:49:55 (-10 sec ; -) you won’t be able to
decode ‘normal’ WSPR / JT9 traces.

But what the heck, it’s for a good cause!

A big thank you to Wolf DL4YHF, true HAM spirit!

And for now . . . fingers crossed if more people are able to decode ZL1SIX . . .

Update (see below):
Bob ZL1RS managed to decode his floater with the modified rsNTP @2246 UTC : -)

April 26th, 2016

FYMAS, MAS QRP contest

A priori: click on images to enlarge in new tabs.

This month I arrived at the QRPcc website by accident.
FYM and QRP?? Well, QRP is not my main thing but this QRP club
organizes contests on Ascension Day since 2000.

Charm and challenge of this contest is to use self built QRP equipment with
minimal components. The less components you have, the more points per QSO you get.

In other words, less is more ; -)

Because I attend the Jutberg, enjoy home brewing and contesting this
MAS contest seems a nice exercise at the end of this years Ascension Day.

Plan is to participate in ‘Class B’, only 40m with a FCP vertical,
using N1MM with my Arduino keyer.

Note: nowhere is stated that ‘QRP’ has to be done with a straight key!

Here you can see some pictures and circuit diagrams of equipment from
participants over the last years.

The MAS contest seems ‘hauptsächlich eine Deutsche Sache’.

So, my aim is to change this a little bit ; -)

Googling on various circuit diagrams for QRP equipment I felt that my entry
had to deliver something new. So . . . I started drawing some circuit diagrams
of minimalistic 40m transmitters -made of junk parts- in my mind.

I excluded tubes, so my 40m transmitter had to be made of transistors and/or FETs.

Circuit diagram.
A Hartley oscillator is one of the most minimalistic designs, it reduces to two components.
I built a Hartley with a small FET. It works, but the frequency stability is horrible.
Peter PA3EXL was so kind to lend me a 7030 kHz crystal, which I used to discipline the Hartley.

My initial idea was to build a Hartley power oscillator with an IRF510 or something.
However, these FETs need biasing to oscillate, which means extra components.
I considered a Pierce oscillator as alternative. Also in this case the IRF needs biasing.

So, I went back to my original idea: crystal disciplined Hartley with amplifier.

After some fiddling, trying to minimize the amount of components, the following
circuit diagram crystallized, named FYMAS (see figure 1 below).

Figure 1. FYMAS, 40m QRP transmitter for 2016 MAS contest.

The oscillator coil (2) is wound around a wooden 28mm diam rod. A hole is drilled in the
centre of this rod to accomodate an adjustable ferrite rod to tweak the frequency a little.
According to the MAS rules such ferrite rod is part of the coil, so it eliminates a capacitor : -)

Unloaded output is a beautiful sine wave with 4Vpp, measured on my oscilloscope.

Unfortunately I got bad results interfacing the oscillator electrically to the gate of the IRF510 (7) .
It was my intention to ‘auto bias’ the FET. It worked a little but revealed low output.

Therefore two additional components (5 and 6) were inevitable to achieve around
2W output @13.8V after some tweaking with 4 and 6.
The IRF510 simply doesn’t receive enough drive to switch ‘firmly’.

More output is possible by raising the power voltage, but I’ll bring only one power supply
at the Jutberg. So, considering the circumstances 2W has to be enough.

Matching circuit.
MAS rules (2016) state (quote):

“Any selective network in the TX output stage will be assumed and counted as a
3 parts PI filter. For a better suppression of harmonics you are free to use
more components – they will not be counted.”

The key word here is ‘any’. Read on . . .

Below my matching circuit is depicted.
Match from RL = 15 + j0 Ω (assuming ca. 5W output) to 50 + j0 Ω @ 7 MHz.

Of course a good match can be obtained by halving the ‘last’ parallel capacitor.
Interpreting the MAS contest rules I deliberately chose NOT to do this.
The last capacitor is intentionally too big. By adding a parallel coil (ca 1.2 uH)
you go ‘back’ in the Smith chart, making this coil part of my selective network.

‘Cold’ side of the coil is connected to +13.8V, requiring a capacitor to make this side low Z.
The capacitor is not included in the above picture but . . .  is a mandatory part of the matching circuit !

So . . . my parts to power the IRF510 don’t count! If they will, the MAS rules have to be changed.

Note: the consequence of my reasoning is also losing a DC blocking capacitor at the output.
This capacitor is not part of a ‘selective network’. Because I will use an ‘open’ antenna, this isn’t an issue.

FYMAS keying.
Initially I wanted to key the transmitter by shortening the oscillator coil tap to ground
to (try to) prevent chirps.

This works with a screw driver, in a sense that the Hartley stops oscillating.
However, it seemed that the IRF510 (7) (see fig. 1 above) in my design was VERY willing to
oscillate around 1 MHz and on its turn was disciplined by the Hartley ; -)

Connecting the (open collector) key output of my keyer to the coil tap stopped the Hartley,
no matter if I keyed or not. Experiments using an ‘intermediate’ BS170 also failed.

Another method of keying the transmitter is to shortcut the IRF510 gate to ground.
This works, but doesn’t stop the Hartley from oscillating, which is unwanted during reception.

(Tip! For those who want to build a transceiver according to my design can benefit from
this by using the Hartley as local oscillator for e.g. a direct conversion receiver)

Also, keying has to be done in an inverted sense, i.e. ‘key open’ = TX.
Luckily my Arduino keyer owns an open collector inverted keying output : -)

Disconnecting the GND side of the coil (2, see fig. 1 above) with a relay (of course) stops the Hartley.
The other part of the DPDT relay is used as RX/TX antenna switch.
Btw, relays do NOT count as parts in the MAS contest.

How does it sound?
Pretty well, showing only a small ‘start up glitch’.

A recording of my signal received ca. 5km away can be heard in MP3 or OGG. Not bad eh ?

Finally, below a picture of the FYMAS, as used in MAS 2016, is depicted. (click to enlarge)


April 4th, 2016

Icom IC-402 repaired

A priori: Click on images in this post to enlarge in new tabs.

“Going back in time on the sound of the nation it’s a flash back back back … ”
Listen here to this popular jingle from the 70′s .

For whatever reason I’m in a repair mood lately. I got fed up looking at equipment
‘to be repaired’ but never did. Sometimes hobby is similar to work. You’ve to do
things which are dreadful. But these dreadful things have to be done by someone (me).

What is the issue. I own two IC-402′s of which one became defect around 7 years ago.

Say what? IC-402? Are you nuts? Well . . . yes and no. However, bear in mind these
old fashioned IC-402′s deliver our VHF/UHF/SHF contest team victories since >30 years.

First, let me post some pictures. Below left is a picture taken during the March 2008 contest.
IUD (Icom Under Discussion) is located on the right, at that time apparently working.
The left IC-402 is owned by my friend Ron PA3BPC / DL3BPC.

Below right is a picture I took around one hour ago, trying to win the RigPix contest ; -)

Left: 2x IC-402 active during a 70cm contest, right: IUD on my workbench.

Our contest team won innumerous 70cm contests with IC-402′s as driver and receivers.
This neat little rig sounds immaculate due to its remarkable low LO phase noise.
Yes, we tried other transceivers but everytime we went back to the good old IC-402′s.

And yes, these rigs are over 40 years of age. But . . . still outperform modern transceivers.
Our ‘last resort’ argument over the last 30 years towards sceptic persons is:

“If your transceiver is better than our IC-402, why don’t you win contests?”

100% of the time the sceptic remains silent (because he didn’t win nor does he own IC-402′s ; -).
Therefore, the proof of the pudding is in the eating. IC-402′s taste very well!

Oh yes, one secret is revealed now.
I modified the MF strip of my IC-402′s according to this document.

The issue.
I could hear noise, but that was all. Both RX and TX didn’t work.

Now . . . where to start. Look (and click!) on the images below.

Have you studied the enlarged pictures above? If yes . . . it’s a mess (which rhymes ; -)
But, this is ‘how it was done’ in the 70′s. At that time state of the art. In 2016 we frown our eyebrows.

Again, where to ‘start’? Well, first thing -after a ‘non power up failure’- is to
ascertain if all ‘frequencies’ inside a transceiver are present. After connecting a counter to CP2
it appeared the ‘band’ (crystal) LO worked fine (Google on the IC-402 manual to find out).

Next IUI (Item Under Investigation) was the VXO. My counter had some difficulties measuring the
VXO frequency. Tentative outcome was around 47 MHz, so it seemed to work fine.

Sometimes you need a little luck. My efforts to measure the VXO frequency caused suspicion.

Using an Ohm-meter the resistance across the VXO terminals appeared to be (close to) 0Ω.

Looking at the IC-402 circuit diagram this was weird. Could there be a shortcut? If yes, where?

Lets look at the relevant part of the circuit diagram below.

It appeared that the thin coax cable from the VXO to the 2nd mixer was shortcutted indeed.
However, in order to ascertain where, or to replace the cable would be a horrendous job!

With lots of fast movements I was able to dismount the thin coax from the mixer module.
Because the D1 and D2 cathodes connect AND face upwards it would be relatively simple to
connect a (new) VXO cable. Measuring these cathodes (D1, D2) revealed no shortcut towards GND.

I also disconnected the connector at the VXO side.
When I tried to pull out the small thin cable for inspection it was ‘firmly’ stuck.

Like I said, sometimes you need some luck when repairing equipment.
It seemed the VXO cable was squeezed between a nut washer and the chassis!
Now . . . what is this for a defect ? This fault must have been inside this IC-402 ever since !

Below a close up picture of the solved issue.

After releasing the cable from its nut washer I fiddled a little and the shortcut disappeared.
Inspecting the cable damage with a magnifying glass revealed the cable could be rescued.

Quickly the VXO cable was resoldered and a 432 MHz signal was applied to the antenna input. Presto!

I spent some time to trim the receiver. The result was a ‘non’ Minimum Discernible Signal (MDS).
In other words, I could easily hear the lowest signal generator level (-140 dBm) from the speaker
and didn’t bother to insert an attenuator in order to measure the full Monty.

Long story short, this IC-402 works flawlessly and is ready to be used in 70cm contests : -)

April 3rd, 2016

Yaesu FT-780R revitalisation

Work in progress… read on …

A priori: As always, click on images to enlarge in new tabs.

I worked at the Dutch Radio Communications Agency and periodically
administrative obsolete equipment was offered to staff members before it was destroyed.

Nowadays, due to governance issues this seems impossible … anyway …

The procedure was co-workers could subscribe to a list. After a while
you were informed whether you wanted to buy the item for a scrap price.

Around 1998 I got my Yaesu FT-780R for around 10 Hfl (ca. 5 Euro nowadays).

This FT-780R was used in our monitoring station (NERA) ‘to enforce amateur satellites’
(I was told). I was also told this FT-780R was ‘custom modified’ so that it was not able
to transmit, in order not to damage other sensitive monitoring/receiving equipment.

After all, NERA was a monitoring station, not a transmitter site ! ; -)

When I got this FT-780R the receiver worked okay, but when you pressed PTT
the processor crashed, resulting in ’8888888 88′ on the display.

For whatever reason I left this FT-780R in a box for more than 15 years . . . until recently.

Below the bottom cover of my FT-780R is depicted.
I think not many radio amateurs use equipment used and owned by their enforcement agencies ; -)


A few months ago some friends in my neighbourhood decided to build a linear transponder using
2320.7 MHz in and 432.7 MHz out, BW = 15 kHz. I own two IC-402′s but these lack crystals for 432.7 MHz.
Despite I have a FT-857 I thought it would be a nice idea to have a dedicated rig for this transponder
in conjunction with a 2320 <–> 432 MHz transverter.

So… I fetched the old FT-780R from my storage box and decided to ‘remodify’ it.

First I looked up the circuit diagrams on the internet in order to investigate these ‘secret
non transmit’ modifications. I found a ‘user manual’ PDF, but circuit diagrams were split.

I ‘reassembled’ the circuit diagrams into one piece with a pair of scissors and took
pictures of the results as depicted below.

‘Remodification = repairment’

My assumption this FT-780R was modified in order NOT to transmit seemed valid at first glance.
My connotation of the word ‘modification’ involves (some degree of) reversibility.

Along the PTT line an ‘extra wire’ was hooked up to the processor board.
Removing this wire eliminated crashing after PTT.

RF output was absent but . . .  I could hear myself on a nearby receiver.  Promising!

Optimistically I started to inspect the final stage, consisting of a Mitsubishi M57716 module.
The relevant part of the circuit diagram is depicted below.

In/nearby the final amplifier stage I noticed three ‘issues’ (refer to right picture above):

1. The antenna relay did not switch per PTT because the ‘RL’ wire was dismantled.
2. Power supply leads of the last amplifier stage were removed both inside and outside.
3. Q2 (2SD235Y) was missing (??) and bridged so PO CONT is forced to 13.8V (??)

Issues #1 and #2 were solved as depicted below.

Issues #1 (left) and                                  #2 (right) solved.

Issue #3 is not a real issue concerning output. It  eliminates the function of the LO/HI power
button on the front. Of course I hadn’t a 2SD325Y but inserted a BD139 in the small pertinax board
next to the 7808 (Q1).

Anyway,  issue #3 is a very queer ‘modification’ in order NOT to transmit . . . (?)

After solving these ‘issues’ I pressed PTT in FM mode . . . .  NO output.
Perhaps the RF module was damaged or received no drive?

Indeed, I measured no drive, so . . .  further investigation was necessary.

The driver for the M57716 resides inside the PLL unit.
Relevant part of the circuit diagram is depicted belowt.

.                                           FT-780R M57716 driver stage.

First inspection of the driver stage didn’t reveal something strange.
Relevant power supply voltages (13.8V and TX 8 Volt) were there, but no drive output.

After careful inspection I couldn’t believe my eyes . . . .  Q05 (2SC2026) was ‘missing’ !! ?

Remember my connotation for the word ‘modification’ ?
For me a ‘modification’ owns a certain degree of reversibility.
In my perspective one of my ex colleagues from the technical department stripped
Q05 from the PCB, and very likely landed in the waste bin !!

I know lots of ex colleagues read and enjoy this blog.
So. . . when you read this and it was you, or you know who it was, contact me?

Being ‘in full swing’ I dismounted the PLL unit for inspection and insert a new Q05.

Below pictures of the ‘missing’ Q05 and dismantling of the PLL unit are presented.

I could have soldered a new Q05 on the top side of the PCB but I wanted a ‘clean repair’.
Of course I hadn’t a 2SC2026 so I chose a good old BFR90 instead. And old it is, 41 years !
Below pictures of the bottom side of the PLL unit are presented. I reckon very few people have seen this side ; -)

After reassembling the PLL unit I measured 5.5Vpp RF @432 MHz over 46.4Ω with a decoupled OA91 germanium diode.
This means corrected around 5.8Vpp, resulting in (5.8/√2)² / 46.4 = 362 mW drive (which is too much btw).

I reconnected the drive cable to the M57716 unit and gave PTT in FM mode . . . . NO output : -(

Thus, very likely also the M57716 module is defect! See pictures below.

At this moment a decision had to be made to replace the M57716 module. In conjunction with
a 2320 MHz transverter replacement is not really necessary. I can route the drive signal from the
input (pin1, right) to the output (pin5, left) of the module with a small coax.

On the other hand, it is elegant to restore the FT-780R for standalone work. So, I ordered a M57716 from Ebay.

Awaiting its delivery . . . more to come, stay tuned!



January 8th, 2016

PS-57 balloon tracking

My homebrew WSPR receiver is placed at a (for The Netherlands) quiet location
in a nearby forrest and connected to a ca. 100m long open ‘bent’ Beverage.

The performance of the setup is quite remarkable and processes every electron ‘passing by’.
It delivered me a first place in the world wide WSPR challenge one day.

In the forrest I received WSPR traces from VK3YT and first thought his data was
somewhat mangled. His locators were in the middle of the Indian Ocean (?)

Bob ZL1RS noticed I was one of the few EU stations receiving VK3YT’s traces
and sometimes the only station in the northern hemisphere copying ‘him’.

It appeared that ‘VK3YT’ was/is a balloon (!!?) with designator PS-57 and
transmits WSPR and JT9 packets at least twice every hour at xx.00 and xx.30.

The output power of the balloon is only 25 mW,
making his traces almost 460000 km/Watt (!)

During an email conversation Bob seduced me to try to receive PS-57
with JT9 too. Balloon telemetry is embedded inside these JT9 packets.

I needed to install a special version of WSJT-X, modified to
upload JT9 telemetry packets to the site.

Yesterday afternoon I went to the reception site and installed the
necessary software to process PS-57 JT9 balloon packets.

After 72 minutes I received my first PS-57 JT9 packet (!)
This was the first JT9 decode in my life! One hour later
the receiver decoded another one. See below (click to enlarge in new tabs).

Investigation revealed I also received one PS-58 WSPR trace.

Although this southern hemisphere balloon hunting from the northern hemisphere is
considered to be ‘notoriously difficult’, for me it is ‘by-catch’.

However, I let the contraption also capture balloon JT9 packets
hoping it may be of use to the world wide HF balloon tracking community.

December 14th, 2015

SSB phase method 30m WSPR receiver

In order to improve the SNR performance of my previous WSPR receivers/grabbers
I decided not to reinvent the wheel and used Onno’s PA2OHH design with some tweaks.

By Onno’s knowledge I was the first to use his SSB design. Why …. ?

It’s a direct conversion (DC) receiver with LO at half frequency using subharmonic or Polyakov
mixers. The unwanted lower sideband (LSB) is suppressed using the phase shift method.
Theoretically this should increase SNR with +3dB (<– a difference between a ‘yes’ or ‘no’ WSPR decode!)

Of course you also need +3dB more components in the detector ; -)
Fortunately this design uses common junkbox components.

To improve the audio response (read: selectivity) I deployed some filtering
after the ‘adder’ <– the two transistors adding the ‘I & Q signals’.

Although it is stated that additional filtering is not necessary for WSPR, I adhere the credo
rubbish in = rubbish out. Furthermore, the receiver is also used for QRSS reception.

Filtering is done by a band pass filter with Q = 10, Fc = 1500 Hz and G = 100 (at Fc),
followed by a gyrator also with Fc around 1500 Hz.

Why a gyrator? Well, it’s cool to say that you’ve a receiver with a gyrator ; -)

Seriously, the gyrator was also inserted with another feature in mind: it is designed as
emitter follower, having a low output impedance (Z). Low Z out reduces hum and/or noise.

A gyrator simulates a parallel LC circuit with f = 1 / (2π√LC) as depicted below.

Capacitance multiplier
Lots of (home brew) power supplies provide stable and accurate output voltages.
However, there is something very important to consider, namely noise.

E.g. very popular 78XX voltage regulators are not bad, but they are noisy.
A very simple and effective trick to reduce power supply noise and hum is to insert a
capacitance multiplier, consisting of only three components (see below).

Capacitance multiplier.

The transistor ‘isolates’ the receiver from the power supply and its base
capacitor value (CFilter) is multiplied by its current amplification factor (hfe or β).
In this way very large capacitors can be created, resulting in effective noise damping.

Receiver circuit diagram
The circuit diagram of my receiver is shown below (left), as well as the ‘finished’ prototype (right).
(click on images to enlarge in a new tab. Big pictures! ; -)

Note: lots component tolerance is allowed, except for the phase networks.
E.g. 511Ω also may be 560 or 470Ω, 442K may be 390 or 470K, etc.
It depends how diverse and large your junkbox is : -)

Initially I used a NE5532 low noise dual opamp as adder, but for whatever reason it kept oscillating.
To save time I went back to the original design with two transistors.

Some measurements
Injecting -47 dBm (1mV) 10.140200 MHz into the receiver delivers a ca. 3 Vpp
beautiful non distorted 1500 Hz sine wave on the oscilloscope.

So, overall gain of the receiver @10.140200 MHz is 20*log(3/0.001) = ca. 70 dB
(assuming 50Ω RF in and 50Ω audio out).

Note: 10.140200 – 10.138700 = 1500 Hz and 10.140200 MHz is the middle of the WSPR band.

Injecting -47 dBm 10.137200 MHz (thus ‘-1500 Hz’, i.e. the lower sideband) after adjustment revealed a
noisy (estimated) 15 mVpp, making the overall lower side band suppression 20*log(3000/15) = ca. 46 dB (!)

Receiver circuit simplicity considered (and ‘standard’ junkbox components) this performance is remarkable !

Audio response / selectivity
With Audacity frequency response was recorded during night (left picture below).
In the spectrogram below (right), recorded around 2230 utc, sensitivity around 10140200 Hz is clearly visible.
(click on images to enlarge in new tabs)

Audio response SSB 30m WSPR receiver.     (Noise) spectrogram of 10.138700 – 10.144500 MHz

As can be derived from the left picture, ‘audio power’ is around -6dB @1000 Hz and @2200 Hz.
I tried to find out whether the Audacity shows ‘voltage’ or ‘power’ dB units … with no success.

Anyway, the audio response is quite sharp and centered around 1500 Hz, the middle of the WSPR band.

Despite its simplicity, this receiver performs very well and competes easy with more complex
and expensive colleagues.

November 4th, 2015

Experimental 30m QRSS grabber (2)

A priori: when operational, my 30m grabber can be seen here (<- click to open in a new tab)

I decided to write a new post, otherwise the previous posts become too long,
knowing that the average reader is too impatient and wants his information quick! ; -)

For the context of this post, please read this and this post first.

During the last days I tried to improve my 30m QRSS receiving contraption in
several stages. The estimated overall SNR improvement from the first setup
is around +32 dB, consisting of the following measures:

1. changed 5m of wire to 7.5m wire + central heating system as counter poise (+12 dB)

2. changed laptop power supply + isolated antenna coupling loop + RFC’s  (+14 dB)

3. isolated audio + DCTL antenna (+6 dB)

More modifications.
Yesterday Peter PA3EXL gifted me a 10.140 MHz crystal from an old (1978) CB-radio.
I changed the input circuit of the receiver by replacing the air wound coil + trimmer
with a modified small adjustable inductor.

I found this inductor at my radio club. It was rated 4 – 8 uH. The metal can was temporarily
removed. Using a magnifier the 22 original windings were reduced to 16 windings with
a tap at 3 windings. With the remaining wire I wound a 2 windings isolated input coupling
loop at the ‘cold’ side of the primary coil.

Measured inductance of the primary coil was ca. 3.4 uH. With 82 pF parallel ca. 3 Vpp
was obtained with -47 dBm 10.140200 MHz injection (see also previous post).
More than 1 Vpp improvement! Of course this is due to the higher Q of the new input circuit.
The previous input circuit needed around 200 pF for resonance at 10 MHz.

Subsequently the 10.140 MHz crystal was mounted and with a series trimmer trimmed
tuned tothe desired pass band. The resonance peak looked sharp and the optimal series
capacitance  was measured 21.7 pF. The trimmer was replaced by a fixed 22 pF capacitor.
With -47 dBm reference signal I measured ca. 2 Vpp. A loss of 1 Vpp, due to the crystal and series cap.

A picture of the current setup is depicted below (click to enlarge in a new tab).

Microphonics (?)
The receiver audio timbre was totally different. Different in a sense it was more quiet
(i.e. less noise) but also sharp high tones were audible. Just like in my young days when building my
first crystal receiver. So, could it be possible that I may have some AM detection?

Perhaps it’s still a good idea to add the balance potmeter in the Polyakov mixer?
Well, I added a 100 Ω potmeter and it makes no (measurable) difference.

While trimming the balance potmeter and listening to the receiver audio I initially couldn’t believe my ears.
With the antenna connected and tapping with the screwdriver on the PCB board I could hear ticks!

I went to the kitchen, got the kitchen towel roll and shouted almost my lungs out
(which is VERY loud! ; -), through the roll over the receiver.

The recording (somewhat filtered and amplified) can be downloaded here.

Besides shouting ‘testing 1,2,3′ and ticking you hear two bursts, but also IK3NWX/B on 10.1373 MHz.
I believed attenuating that significantly with the 10.140 MHz crystal?

Apparently not enough . . .

Perhaps the overall SNR performance is too good and the receiver is therefore susceptible
to microphonics? The only ‘mechanical part’ in the receiver is the crystal in the oscillator block.

Btw, if you read this and use a 5.0688 MHz oscillator block or crystal too, try if you detect microphonics?

After a while I was able to identify GM4GKH’s traces with the 7.5m wire + central heating counterpoise.

With the DCTL antenna these traces became more clear, however I also had around 6 dB less audio
and got the feeling that other signals were weaker. With crystal modification and DCTL antenna MIC
volume settings now have to be MIC boost = 20 dB and slider around 60 to have around 3dB ‘WSPR noise’.
If I may believe the dB scale in Windows, the overall noise reduction is also confirmed by audio volume settings.

The current result is depicted below left, judge for yourself.
Below right is a LA5GOA ‘benchmark lopshot’ in the same time frame.
Warning: The more you watch these pictures the more you see which may not be there! ; -)

That evening I copied several US stations and saw my amount of unique 30m WSPR spots/24hr increasing
even more. Two days ago I was on par with LA5GOA/RX2, yesterday before the crystal mod around +10.
At this moment of writing (1200 UTC 5 Nov 2015) the difference is around +20 uniques (!)
With this number I seem on par with LA9JO.

My next goal is PI4THT, ON7KB or ON7KO , at this moment of writing I have averaged -15 uniques.
Other benchmarks are GM4SFW or DK6UG having +40 uniques. I reckon for this result I have to
move the receiving setup into a more quiet environment.

My overall conclusion after a few days of experimenting and measuring: this super simple receiver,
together with all noise reducing measures, in a suburban environment with lots of noise sources,
is a good performer and is competing in the EU top of 30m WSPR receivers.




October 31st, 2015

Experimental 30m QRSS grabber

A priori.
When operational, my experimental 30m QRSS grabber can be seen here. (<– click to open in new tab)

The receiver from my previous post can be used for other weak signal modes like QRSS.
QRSS is transmitting information at very low speeds. At the receiver side this information
can be integrated for long periods, increasing (weak) signal to noise ratio (SNR) significantly.

It’s a public secret that QRO (high power) guys use low power (QRP) techniques
to optimise their top (contest) stations. Besides having sufficient output power it is VERY
important you’re also able to receive low power.

The quest therefore is to improve the RX SNR of your (contest) station.
This is where WSPRP/QRSS comes in.

QRSS grabber?
In order to experiment with the super simple DSB subharmonic receiver I installed
a grabber. A grabber is a piece of software analyzing the audiospectrum using Fourier
transform techniques (FFT).
This allows you to visualize the weak signals because you can’t hear them.

Onno PA2OHH wrote LOPORA (LOw POwer RAdio) grabber software in Python.
After installing python 2.7 and some fiddling I managed to get it running.

First results.
While eagerly awaiting the first ‘lopshot’, results were disappointing. Besides some weak
WSPR signals I hardly couldn’t see anything with my ‘quick & dirty’ 30m antenna
consisting of 5m wire running through a window into the garden around 2m above ground.

Because I live in a very noisy environment, my first action was to minimise noise from
the receiving contraption itself. The receiver is connected to a SMPS (I know, not ideal)
and a computer. All their (ground!) connections were fed through 6 hole RFC’s.

Subsequently I decided to lengthen the antenna wire to around 7.5m (1/4λ on 30m)
and use my central heating system as counterpoise.

These simple actions resulted in a dramatic SNR improvement!

It almost resembled my first experience listening to Beverages on 160m. At first
glance you think your receiver is broke because you think you don’t hear anything.

Below is the difference between the 5m wire and the temporary 7.5m wire + counterpoise.
(click on image to enlarge in a new tab)

Believing the SNR algorithms of WSPR, SNR improvements were around +12 dB (!!)
Although the receiver now sounds very quiet (I still here my antenna btw), my amount of WSPR
spots increased flabbergastingly and am now spotting a new league of WSPRers.

I also had to fiddle with the audio level, FFT settings, contrast and brightness levels in LOPORA.
The result was opening of a new 30m QRSS world. When a (WSPR) signal appears very bright,
its SNR is mostly around -6 dB. Most signals are between -20 – 25 dB SNR, or even lower.

Future improvements.
My benchmark is the 30m grabber of Steen Erik LA5GOA. Click on this link and see why (of course it depends
on the time of the day, try between 11 – 18 UTC).

Apparently Steen Erik lives in a very quiet environment and must have a good take off, also due to the
nearby sea (salt water!). It’s almost incredible what he’s able to receive with his PA2OHH style
DC receiver (I reckon also with a subharmonic mixer) with ‘own adjustments’.
I mailed him and learned he uses the same setup as Joachim, or vice versa.
LA5GOA’s antenna is a dipole directed E/W.
Below is a picture of Steen Eriks receiver (click to enlarge in new tab).

Less receiver noise.
One of the first things I’ve to do is decreasing the intrinsic receiver noise. Thus, like Onno did,
surpress the unwanted lower sideband. Theoretically this results in +3dB SNR improvement.

Secondly, increase the selectivity using a 10.140 MHz crystal as band pass filter.
Onno measured 800 Hz crystal filter band width. Bandwidth of the usable audio now is around 7 kHz.
Narrowing this to 800 Hz theoretically increases SNR with 10log(7000/800) = ca. +9 dB.
Btw, my WSPR/QRSS audio is around 4.5 kHz due to the LO frequency of my receiver.

In other words, if these two measures are carried out another +10 – 12 dB SNR improvement is possible!

Increasing frequency stability.
The receiver now lies open on the living room table without measures to stabilize it.
E.g. it’s not temperature compensated and I notice around 2-3 Hz/°C frequency drift.

When one of my cats lies next to the receiver (for whatever reason she wants to) LO frequency goes up,
and when she leaves LO frequency goes down ; -)

Antenna improvement.
At this moment of writing 7.5m wire with the central heating system counterpoise is used.
I did not measure the antenna impedance, but from 40m I know that such antennas are noisy.
Also the radiation pattern is lousy due to its low height above ground. It’s looking up to the clouds (NVIS).

Building a (vertical) deltaloop introduces two assets: a) the antenna is a closed loop <– less noise,
b) the take off angle is relatively low <– less interference from (strong) nearby signals and good for DX.

This may result in at least additional +3dB, but more likely +6 dB SNR improvement.

Receiver QTH.
Last, but not least, try to look for a nearby quiet place to install the receiver. I live in a busy city
with lots of interference like Power Line Communications (PLC), LED-lights, plasma screens, etc.

When the receiver is installed in a quiet environment +15 dB SNR improvement will be a (very)
conservative estimation. It might be an idea to use Beverages (or BOGs) there, but a preamplifier
is inevitable then.

Let’s wait and see . . .?

Update: I made a DCTL antenna for 30m but it initially seemed no success.
That is, no SNR improvement was visible, only lower signal levels.

I discovered that the power supply of my sampling laptop generated some noise.
Replacing the power supply with another one resulted in less noise (around -6 ‘WSPR’ dB).

Antenna input coupling was changed to an isolated coupling loop, just like Onno did.
I still could discern antenna noise and had to increase the ‘audio input slider’ in Windows.

The microphone audio input is used and is now 100% (without ‘MIC boost’ or AGC),
resulting in around 4 dB ‘WSPR noise’.

Below the temporary input coupling loop is depicted. I experienced less audible noise when
the ‘hot side’ of the antenna (yellow clamp, green clamp is GND) is connected to the
‘cold side’ of  the coupling loop, i.e. that side which is more near to the cold side of the input coil.

The other way around more noise was audible. With my temporary antenna I tend to believe:
“Less audible noise = better SNR” ;  -)

Before these two modifications (power supply & coupling loop) I had +16 – 20 ‘WSPR’ dB noise with
100% MIC volume. Above on the right a ‘lopshot’ showing more and more signals.

If I may believe the WSPR SNR algorithm my SNR further improved with 12 – 16 dB so the
(sub) total SNR improvement since the grabber is up amounts 24 – 28 dB (!?)

That evening I was one of the few EU stations copying ‘early’ US stations and was ‘competing’
with some EU WSPR ‘big guns’ on receiving several US and Asian 30m stations.

Promising? Yes and no. For example, I discovered PI4THT (Twente WebSDR using a Miniwhip
antenna) was able to receive the same stations with sometimes 20 dB higher SNR’s (!!)

The next day I took some additional  measures:

1. Tried the experimental DCTL again.

2a. Connect both L + R channel of the soundcard to the receiver as I am not sure whether WSPR
and LOPORA sample ‘in stereo’. If this is the case, then on one channel only (audio) noise is present
which adds to the so called quantization noise of the soundcard.

2b. Isolate the audio path with a 1:1 audio transformer.

The results are visualized below (click on images to enlarge in new tabs).

Measure 1. Switch between wire and DCTL.  Measure 2. Audio -> mono and isolate audio with xfmr.

In the above left picture Hell Schreiber traces of GM4GKH IO77WL become visible with the DCTL.
Apparently the overall SNR of my receiving contraption was not good enough when I tried the DCTL
the first time?

Reconnecting the 7.5m wire with counterpoise delivers more signal but results in lower SNR,
to such an extend that GM4GKH’s Hell traces disappear.  These are the ‘highlighted’ parts in the spectrum,
in which the signal of my GPS locked signal generator @10.140000 MHz are also visible.
In this snapshot the reference signal may look wobbly,  however this is the receiver LO, not my signal generator!

The influence of 2a + 2b may be seen at first glance. The right picture above looks darker (click to enlarge).
Audio settings between the left and right picture were equal.

Judge for yourself, but I reckon the overall SNR improvement of 1. and 2. combined is at least around 6 dB.
I.e. from seeing nothing (no GM4GKH with 7.5m wire) into seeing something (+ 3dB)
and being able to identify it (another 3dB) = 6 dB.

It could be that the difference in radiation patterns of the wire + counterpoise vs. the DCTL are
responsible or perhaps propagation. However, after these two measures I’m able to see GW4GKH’s traces
and other signals still look ok.

Therefore I estimate the total SNR improvement since the grabber is up to 6 + 24 – 28 = +30 – 32 dB !!

Bear in mind this is still the DSB receiver, i.e. no 10.14 MHz filter crystal and no Weaver SSB demodulator.

Another interesting fact is that at this moment of writing I am six unique WSPR spots
ahead of my benchmark (LA5GOA/RX2) in the last 24 hours.