❌

Reading view

There are new articles available, click to refresh the page.

Remote ATU based on the ATU-100

I’ve already built some ATU-100 automatic antenna tuners in the past: One was a build for QRO and one for QRP with only 5 windings on the binocular transformer and adaptions to the original firmware. While the QRO version worked fine, I had issues with the QRP variant. After I’ve discovered the very nice alternative firmware of DG4SN I’ve decided to build an ATU-100 based phantom powered remote antenna tuner that can be mounted on the mast directly beneath my M0PLK Delta Loop. The nice thing with DG4SN’s firmware is that it allows QRP operation with the original 10 windings on each side of the transformator.

I found a nice waterproof enclusure with the perfect measurements but without any possibilities to mount it to a mast. So the first thing to do was to add four M4 brass threads that were melted into the ABS enclosure on the back:

Two 3D printed t-shaped parts were then screwed to the enclosure. With them, the enclosure can be mounted to the mast with zip ties or big hose clamps:

To be able to mount the ATU-100, the Bias-T and the display inside the enclosure, I’ve designed a simple inlay and printed it in PETG:

This is how the tuner looks like with all components mounted and wired together:

I sadly had to use hotglue because the screw head of one of the screws that hold the display broke off.

When Two become One: QubeDX v3

After I’ve built the QubeDX for the higher bands (20 to 10m) and it’s little brother, the QubeDX S for the lower bands, I’ve realized that it would make more sense to combine both cubes into one. This time I wanted it as compact as possible so I went for the footprint of the QubeDX S but added 30mm in height.

The final version now consists of:

The Result

The following pictures show the finished setup:

QubeDX S - The QubeDX's little brother

After I’ve built the QubeDX for the higher bands (20 to 10m) and therefore for the M0PLK Delta Loop antenna, I now wanted to build a second one, mostly for 40m. As my Hustler 4BTV is resonant on 40m, there was no need for a tuner. This meant that it was possible to place all necessary components into the original 10x10x10cm design of the 3D printable CubeSat.

As with the original QubeDX, the idea was to build a (decorative) QRP radio for digi mode operation that can be operated remotely via Wi-Fi by accessing the desktop via VNC. This time the costs were even more reduced, especially as I had a spare Raspberry Pi 4 lying around. This project only requires the following components:

Since all components fit into the original frame, only the modules are custom designed and can be found on printables.com.

First of all, the individual components had to be assembled:

Power Supply Module

The power supply module consists of two simple buck converters and a Powerpole connector. One buck converter is configured to put out 5V for the Raspberry Pi, the other to 7.5V for the QDX:

Transceiver Module

Now it was time to set up the QDX transceiver. Again, the unprecedentedly good assembly instructions from QRPLabs left no questions unanswered, which is why the assembly turned out to be quite simple. This time I’ve decided to place the BS170s in sockets.

Raspberry Pi Module

The Raspberry Pi was mounted in sandwich construction on the corresponding module carrier:

Assembly

Now the CubeSat frame was printed and screwed together with M3x10 stainless steel screws and the corresponding nuts. The three pre-assembled module supports were then installed in the frame one above the other using M3 nylon spacers so that they were screwed to the frame with four screws each at the top and bottom.

The cabling was then installed:

  • A short USB cable to connect the QDX to the Raspberry Pi (CAT and audio)
  • two two-core cables for the power supply, each running from the Powerpole connector to the buck converters
  • Two two-wire cables from the buck converters to the QDX (hollow plug) and the Raspberry Pi (GPIO)

The Result

The following pictures show the finished setup:

The QubeDX S in comparison to his big brother:

Updates and Modifications

I am documenting all updates and modifications here in this separate post.

Radio Operation from the Lightship "Amrumbank"

During our last holidays, we visited the β€œAmrumbank” lightship in Emden, northern Germany. The ship, which was once a lightship near the Amrumbank, now serves as a museum ship and lies in Emden harbour.

It is still seaworthy and continues to go to sea several times a year, albeit for tourist purposes. At the beginning of my visit, I noticed a few wires on the mast of the ship that looked like antennas to me.

Later, my suspicions were confirmed when I discovered a radio shack through a window on the upper deck. The call sign β€œDF0MF” of the club station was also written on the door to the shack.

The responsible person for this station was identified on site and contacted by email. My wish to be able to operate on a ship was soon to be fulfilled: The responsible OM Helmut DJ6ZJ made an appointment with me while I was still on holiday to let me use the shack.

On the following Monday, the time had come and I was able to put the DF0MF station into operation. Although the conditions were poor, it was a lot of fun operating from a ship. In the end I was able to log 20 QSOs from which one was with Alex, GM5ALX on 40m.

I would like to thank Helmut, DJ6ZJ, for the opportunity to operate from this historic lightship!

bear2hugo.py - Migrating from Bear Blog to Hugo

I’ve written the following small Python script to migrate a Bear Blog to Hugo:

import csv
import os

with open('post_exports.csv') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    os.makedirs("./pages", exist_ok = True)
    os.makedirs("./posts", exist_ok = True)
    for row in csv_reader:
        dir = ""
        if row[11] == "True":
            dir = "pages/"
        else:
            dir = "posts/"
        with open(dir + row[4]+'.md', 'w') as post:
            publish = row[9]
            if publish == 'False':
                draft = "true"
            else:
                draft = "false"
            post.write("+++\n")
            post.write("slug = '" + row[4] + "'\n")
            post.write("title = '" + row[3] + "'\n")
            post.write("date = " + row[6] + "\n")
            post.write("draft = " + draft + "\n")
            post.write("tags = " + row[8] + "\n")
            post.write("+++\n")
            post.write(row[12])

It’s not really sophisticated but it does the job. Here’s all you need to know:

  • Create a new directory, e.g. ~/bear2hugo/
  • Create a new file bear2hugo.py in this directory and copy the above content into this file
  • Download the export file from Bear Blog via the menu item β€œExport all blog data”
  • Place the resulting file post_exports.csv together with bear2hugo.py in ~/bear2hugo/
  • Execute the script: # python3 bear2hugo.py
  • It will create two new directories pages and posts
  • It will parse through CSV file and create a Mardown file for each post and page inside the corresponding directories
  • You can now copy the files into your content/ and content/blog/ directory and use them with Hugo

DE-0094: A Vacation POTA by the Sea

Had a very nice and special POTA activation of DE-0094 NiedersΓ€chsisches Wattenmeer National Park:

Conditions were rough but I’ve managed to get 16 stations into my log, including two from the Azores. It was great to sit on a dyke, watch people kite and enjoy the view of the sea while talking to stations all over Europe.

My rig was the usual: Xiegu G90 and a 5.4m long telescopic vertical antenna with four 5m radials.

Zero Retries

β€œZero Retries is an independent newsletter promoting technological innovation in Amateur Radio, and Amateur Radio as (literally) a license to experiment with and learn about radio technology.” This is how Steve Stroh (N8GNJ), the editor of Zero Retries, describes his weekly newsletter.

But to call it just a newsletter does not do justice to his work. I have been reading and following this site for a long time and am always fascinated by how many high-quality articles he publishes every week. Steve doesn’t just limit himself to writing news but is obviously very interested in promoting the hobby of amateur radio and conveying its fascination. Important projects such as the M17 project are regularly pushed by him in order to help drag this valuable project out of its niche.

In the meantime, the newsletter has reached a size that would justify publishing the content as an ePub (hint hint). I would actually love to read it on an eBook reader.

My recommendation? Click here, subscribe and have a nice weekly read on inspiring amateur radio related topics.

QDX and Fldigi on Debian Linux

The following instructions describe how to configure Fldigi for operation with the QRP Labs QDX transceiver on Debian Linux 12 / Raspberry Pi OS (64bit).

In the configuration menu, click on Soundcard -> Devices and select PulseAudio:

Afterwards, click on Rig Control -> Hamlib and configure it as follows:

With these few settings it almost worked for me - but only almost. The QDX switched to transmit mode, but no signal was emitted and the red LED flashed twice continuously. This indicated that the audio signal was too low.

To fix this, open the PulseAudio Volume Control tool and set the volume under Output Devices to 11dB:

If PulseAudio Volume Control is not installed on the system, this can be done using the following command:

# sudo apt install pavucontrol

Notes on the QRP Labs QDX

On this page I am continuously recording all the findings that I have been able to collect in connection with the QDX Transceiver Rev 6 from QRP Labs. What I am writing here might seem negative since it’s mostly about issues and how to fix them but I am actually a big fan of this device and have already ordered a second kit.

A post on my QDX build can be found here.

Low output power on 15m

After I’ve finished building my QDX (high bands version), I measured the output power of all bands and got these results:

  • 20m: 4.6W
  • 17m: 4.9W
  • 15m: 2.4W
  • 12m: 3.5W
  • 10m: 3.5W

After reading https://qrp-labs.com/qdx/qdxtrouble.html I was confused why there is significantly less power on 15m than on 17m as they share an LPF. VA3RR gave me the excellent hint to check if the power output on 15m decreases when I compress the windings on L3 - which actually was the case. I followed his advice and reduced the windings of L3 from 12 to 11 and furthermore prettified the spacing between the windings of L2, L3 and L4 which resulted in the following:

  • 20m: 4.7W
  • 17m: 4.6W
  • 15m: 3.4W
  • 12m: 3.9W
  • 10m: 3.9W

No High SWR Protection

As the QDX does not have an SWR measuring bridge, it does not have a protective circuit to protect the device from high SWR. I was warned against using the QDX together with an automatic tuner, as even the short spikes during the tuning process can lead to the destruction of the four BS170 transistors.

As an alternative to not using an ATU, I was given the following options:

Reducing the Output Power

One recommendation is to temporarily or permanently reduce the supply voltage to reduce the output power. This should help to protect the PA transistors, especially during the tuning process. I have carried out experiments on this, to determine which voltage is needed for a specific level of output power.

The following table shows the output power in Watt per band in dependency of the supply voltage. This refers to a 9V build of the QDX Rev 6.

9.0V 8.5V 8.0V 7.5V 7.0V 6.5V
20m 4.7 4.3 3.9 3.4 3.0 2.5
17m 4.6 4.2 3.9 3.4 2.9 2.4
15m 3.4 3.0 2.8 2.5 2.2 1.8
12m 3.9 3.5 3.3 2.9 2.7 2.1
10m 3.9 3.5 3.1 2.8 2.5 2.0

At 6.0V the QDX would only boot into its flash drive mode.

I’ve decided to settle with a supply voltage of 7.5V.

Replacing the Transistors

On groups.io/g/QRPLabs I have so far been able to find the following attempts to replace the BS170 transistors, which are installed as standard and are considered to be quite sensitive:

Replacement with TN0110 transistors. These are supposed to be more robust, but have the disadvantage that their polarity is reversed. As a result, the round and not the flat side of the transistors rest on the circuit board. As I operate the QDX without a housing, this would even be an advantage if I use a heat sink instead of the washer.

(Note: This picture shows the heat sink with the four BS170)

Exchange for two FDT86256 mosfets. This procedure developed by WB2CBA is described in more detail here: https://github.com/WB2CBA/QDX-PA-MODIFICATION. The whole thing is now even available as a kit: https://www.tindie.com/products/jasonkits_qrp/qdx-mosfet-pa-mod-kit/. However, it is recommended to drive it with 6V instead of the original 5V. More information here: https://groups.io/g/QRPLabs/topic/qdx_pa_upgrade/103093403

Attenuated RX on 20m

Problem

The RF filter sweep for the 20m band resulted in the following graph:

This is the result of the image rejection sweep for the 20m band:

(Partial) Solution

I fixed this issue by rearranging the windings on L12 and resoldering all solder joints of L12. Turned out I didn’t burn all of the wire’s coating the first time:

This looks much better but not really fixed - until you read this thread on groups.io.

Looks like 20m is a compromise band of the high band version as the 80m band is on the low band version. The issue is that I primarily work on 20m but there seems no better solution that to build a low band or even a mid band QDX.

Socketed Transistors

I followed the advice of G7VKQ and built my second QDX with socketed transistors. This is how I’ve bent the transistors:

All BS170 installed:

The result:

The QubeDX - a modular CubeSat style QRP Transceiver

(the frame is actually dead straight, the distortion comes from the camera)

This article is about the implementation of the idea of building a (decorative) QRP radio for digi mode operation that can be operated remotely via Wi-Fi. One possible use would be to place the device together with a simple vertical antenna and a small battery, e.g. temporarily in the garden, so that it can then be operated from the computer from inside the house. The basic idea is to be able to conveniently control the device remotely via VNC.

I had set myself the following conditions:

  • The transceiver should be inexpensive and easy to set up
  • The setup should include an automatic antenna tuner that does not require any manual interaction
  • A Wi-Fi-capable single-board computer should be integrated, on which the required software (WSJT-X, JS8Call, Fldigi) can be executed
  • The entire system should be able to be operated with 13.8V and only require one power supply line
  • The costs should not exceed 250€, ideally around 200€
  • It should be cool looking / decorative (from a techie’s perspective)

I then decided in favor of the following components

Before the implementation began, I first had to come up with an idea for a suitable enclosure. After seeing a CubeSat at Hamradio 2024 in Friedrichshafen, I had the idea of making the entire setup look like a CubeSat and building it on a modular, skeleton-like structure. I finally found inspiration in the following design on Thingiverse: https://www.thingiverse.com/thing:4096437

Unfortunately, I had to realize that a 10x10x10cm cube didn’t offer enough space for my project, so I created a 14x14x14cm version based on the previously linked project. I enlarged the side panel and the base plate accordingly and designed 3 new modules for the following components (from bottom to top):

  • ATU, OLED display and Powerpole connector
  • QDX transceiver and buck converter (7V, please see my notes on the QDX)
  • Raspberry Pi 5 and buck converter (5V)

All 3D printable parts used in this project can be found on Printables.

First of all, the individual components had to be assembled:

Antenna Tuner Module

The kit for an ATU-100 to N7DDC can now be obtained for just 35€ including shipping. Apart from the binocular transformer, I built it according to the instructions. The transformer only needs 5 instead of 10 windings on both sides to be able to use it for QRP operation. After the kit was finished, I downloaded the original firmware and flashed it to the micro controller with a PICKit3 programmer. I made the following two modifications:

  • QRP operation by setting cell 05 to the value 01
  • Fully automatic tuning based on the measured SWR by setting cell 02 to the value 01

You can find more details in the ATU-100 manual on Github

For more information on the QDX in combination with an ATU, please see my notes on the QDX.

The tuner was then installed together with the display and a Powerpole connector on the specially designed and printed module carrier:

Transceiver Module

Now it was time to set up the QDX transceiver. The unprecedentedly good assembly instructions from QRPLabs left no questions unanswered, which is why the assembly turned out to be quite simple.

The finished QDX was then inserted into its module carrier. In addition to the QDX, a buck converter was installed on the carrier, which regulates the 13.8V for the QDX down to 9V.

Raspberry Pi Module

The Raspberry Pi was mounted together with the NVMe module in sandwich construction on the corresponding module carrier. There was still space next to it to accommodate a buck converter, which regulates the 13.8V down to 5V for the single board computer.

Assembly

Now the CubeSat frame was printed and screwed together with M3x10 stainless steel screws and the corresponding nuts. The three pre-assembled module supports were then installed in the frame one above the other using M3 nylon spacers so that they were screwed to the frame with four screws each at the top and bottom.

The cabling was then installed:

  • A 30cm SMA to SMA coaxial cable with angled connectors to connect the ATU to the QDX
  • A short USB cable to connect the QDX to the Raspberry Pi (CAT and audio)
  • Three two-core cables for the power supply, each running from the Powerpole connector to the ATU and the buck converters
  • Two two-wire cables from the buck converters to the QDX (hollow plug) and the Raspberry Pi (USB-C)

The Result

The following pictures show the finished setup:

Updates and Modifications

I am documenting all updates and modifications here in this separate post.

❌