Adjustable DC load

The Adjustable DC load is on the left, I use it to test power supply circuits such as the one on the right. The question with any power supply is always: 1) what is the internal resistance, 2) what is the ripple voltage, 3) what happens when we gradually increase the current, i.e. what part gets warm in the power supply 4) does the power supply limit the current at some point, or, will it trip a fuse, and finally, 5) how does a power supply react to a short circuit?

The adjustable load design is inspired by The idea is that you set the pot-meter, the first part of the opamp is a voltage follower, next you take half of that voltage and it goes in the second opamp which has a negative feedback of the voltage over a 1 ohm resistor at the source of a N channel power MOSFET. Effectively the both opamps will control the N channel MOSFET such that the current running from Drain to Source is proportional to the pot. meter setting.

Any IRF N channel power MOSFET will do, the used IRF840 can take up to 8 Amps  as long as you keep the junction temperature under 150C. Temperature is more you problem than Amps. With the IRF840 and the used heatsink you can continuously dissipate 50W, in that case the heatsink becomes something like 90C. If you want to you can dissipate 100W shortly, but at some point the MOSFET will give up. You should not dissipate more than 125W into a IRF840 at 25C. The alternative is to also put a separate resistor above the drain so that you can use the adjustable DC load for higher voltages. A drain resistor of 15 Ohm could be handy for voltages up to 60V, 5 Ohm would be helpful up to 30V, etc.

A separate PC fan  will increase the efficiency of the heatsink and the range for the DC load, you can put several MOSFETs and resistors and PC fans on different dummy load to even further increase the range of the adjustable load. Imagine what it will look like when you try to dissipate 1KW at 60 Volt, it should be a lot of plumbing.

Power supply

Lets build a power supply, target 50V 10A, challenge, most parts come from the scrapyard, some parts had to be purchased, other parts are from hammarkets.

  • Frame without a top plate and a backplate : scrapyard
  • Toroidal transformer 1KW which I estimated from its size because there is no documentation,  input 2 times 110V, output 2 times 43V and 18V (unused), powerswitch : scrapyard
  • A 100 Volt, 22000 micro farad capacitor : hammarket
  • Netzteil + other capacitors, rectifier, 2N3055’s, power diodes : Reichelt
  • Two 220V fans : hammarket
  • A high voltage LM317HVK in TO-3 case: Ebay (UK)
  • 10 mm Pertinax plate, scrapyard
  • Nuts and bolts, 1.5mm2 copper wire, hinges,  aluminum/plastic piping : all comes from the hardware store
  • Top / Back plate 2mm aluminum including the work to drill two 76mm diameter openings for the fans: metal workshop in the city.
  • All heat sinks come from the scrapyard or hammarkets. Just find something with a rating of about 1 to 2C / Watt.

The circuit is not that difficult, nothing fancy here, not drawn is a power switch and a 10S 385K varistor over the power plug:


The blue netzteil from Reichelt is a delay switch that you install before the transformer, it reduces the transient current caused by induction of the toroidal transformer when you turn it on. Essentially the blue block is a series resistor that is short circuited after 60 msec. The image below is my test setup for any unknown transformer that I get, it is a variac where the primary has a manual protection against run-up induction currents. In that case the resistor is a lamp in series with the primary of the variac which you short circuit with a push button automatic fuse (called a Stotz, this is the 1960 version). If you don’t use the Stotz then the transient induction current goes in the net, usually it blows the fuse on the meter case in the hallway which you want to avoid. The transient of a 1Kw toroidal transformer does the same, so this is why you need the blue netzteil from Reichelt which is a modern solution for the problem.


The 100 Ohm bleeder resistor over the 22000 micro Farad initial capacitor is on a separate heat sink (maybe it is a bit overrated), a 0.05 Ohm series resistor is mounted to the bottom plate of the case behind the first capacitor, it is there to allow reduce a transient caused by charging and discharging a large capacitor, that is, within 5 seconds it is stabilized at the required 60V (approx). Rapidly discharging any capacitor over 10 micro Farad at 60V is an issue, if you want to see sparks then start here. So the bleeder resistor is a must for safety.

The LM317HVK regulator is a TO-3 version that can the used up to 60V, don’t get them in China, buy them here (thus second hand on eBay). The LM317HVK with the rectifier go together on a separate heat sink, and the 2N3055 transistors are as well on a separate heat-sink. Both diodes are 10Amp 1kV, and all capacitors are rated at 100 Volt. The measured ripple reduction is better than 10mV with a load of 2Amp or 100W. I will still try to find a solution to test this supply under higher loads.

The weight of this supply is mostly caused by the transformer, the top plate has two hinges and is closed with six Parker screws. Also, you need air circulation because of the heat dissipated in the power supply. All wiring is 1.5 mm2 copper, clamp screws on 10mm pertinax slightly elevating above the base plate. Also the transformer has a 8 mm isolation from the case to reduce stray volatage on the case, it is mounted with two screw threads to the base plate. Pertinax is not used in modern designs because it is hygroscopic, epoxy resin is the preferred solution. But this is the reason why you find pertinax on scrapyards.
The blue block is the Netzteil from Reichelt, Toroidal transformer with two 43V secondaries in parallel, the high amp regulator,  a steel LM317HVK on the same heatsink, top center is the 22000 micro Farad capacitor, to the right the bleeder resistor on a separate heat sink, on the third heat sink, the largest, you find both 2N3055 transistors, it is a current amplifier.
The way it looks when the case is closed.

The ripple voltage to current ratio for this circuit follows from the equation:

du = I / C * dt;  Vrms = du/2*0.7

where dt is 10 msec for a 50 Hz powergrid, Vrms to be measured at the input pin of the LM317 and the common collector of the 2N3055, it will become 0.8 Volt at a load of 5 Amp and it scales linearly. The power dissipated by the 2N3055’s is the difference between 60V and 50V times the current used, so at 10Amp a total of 100Watt is dissipated while 500W is provided to the load. The measured ripple at the output of the transformer is a lot less than Vrms because of the LM317 regulator.

Open points to be improved or tested in this experimental design are:

  • What is the temperature doing at high loads, for this I need to build (or find) a regulated load to test it up to higher currents. Without the fans in a open case the heat sink of the bleeder resistor goes up to 90C which is still acceptable although it is too hot to touch, the bleeder resistor can handle up to 50 Watt and it is dissipating 36W. With the fans in a closed case the measured temperature at the backside of the heatsink stays under 40C at a room temperature of 18C. The other heat sinks don’t really get warm at a 2Amp load.
  • Don’t try to short circuit this power supply, even with a fuse it will kill both 2N3055’s. PH0BAS (Bas) has a solution for me and this will be the next improvement.


Performance specs of this power supply:

  • V1 measured after the 0.05 Ohm resistor is depending on the power provided by the supply, the relation is V1 = -0.925 A + 57.5 Volt, at 10 Amperes we end up at approximately 48 Volt.
  • The ripple measured at 55V after the 0.05 Ohm resistor is 0.5 V rms at 3 Ampere
  • The ripple measured after the 2N3055’s is 10 mVolt at 50 Volt and at 3 Amperes, so the regulator is doing what it is supposed to do.
  • The thermal resistance of the small heat sink on the north east side is 1.88 C/w, probably 1 C/W is the thermal resistance of the large heat sink. More than 100 W dissipation in the 2n3055’s looks like a no go.

This looks like a 500W lab power supply, don’t think this transformer can handle a lot more. Added a fuse holder before the 0.05 Ohm resistor, so this is what we currently have:


Still to do

  • add a current limiter
  • add a pot meter / and or selector to the front panel

Last update: 17-Nov-2019 6:45

Trap dipole for 40 and 80 meter

A dipole is resonant on one frequency (and all odd harmonics), with a trap you can design it for more frequencies. Here is the trap dipole for 40 and 80m:

Trap circuit in the dipole

This is how you make it:

The capacitor fits in the tube

Next you go in the field to adjust the length of the arms to make it resonant at the right frequencies:

Field test, made a handful of QSOs on both bands.

Construction details: You start with the 40m wire, that is simple, next you do the 80m extension, this is what I found:

  • Arm 1: 9.67 meter from the balun to the trap
  • Trap takes 14 cm of length, so 9.81 meter from the balun to the start of arm 2
  • Arm 2: 16.45 – 9.81 = 6.44 meter from the end of the trap to the isolator

These dimensions make the antenna resonant over the entire 40m band, you don’t need a tuner there, for the 80m band the antenne is resonant in the lower part of the band, but you need a tuner to get it to work over the entire 80m band.

The trap is a parallel inductor-coil circuit wound around a PVC tube, use a dip meter or a VNA to construct it. I used 0.83 mm enamelled copper wire, roughly 20 turns on a 32mm PVC tube, inside the tube you place a 47 pf high voltage (10 kV Russian) capacitor. Use the dip meter and/or the transmission program on your VNA to check the resonance frequency of the trap. I found approximately 7050 kHz with the VNA transmission program. The dip meter ends up somewhat lower, more like 7000 kHz, the Q is around 100.

The trap will work as a stopper for 40m, for this band arm 1 is only used because the LC circuit will start to resonate absorbing any energy going into arm 2. On 80m the trap is mostly a resistor, or better a lengthening (or loading) coil so that you can shorten arm 2 until the SWR of the antenna becomes acceptable for 80m. Start with 11m for each arm and adjust with a pair of pliers until the antenna analyser says that it is ok.

Last update: 16-Sep-2019 11:36

QRV on 23cm

I got the 23cm transverter from SG LAB last year, but did not find the time yet to get it to work, that is, it produces a 2W signal on a spectrum analyser and you can control it with a handheld radio, the next thing are the antenna and the mast.


In Friederichshafen I found a biquad antenna for the 23cm band, the maker provided unfortunately no mounting options, so I constructed a frame from PVC tubing to support it, drilled a few holes in the reflector (you can easily do this, it does not really hurt the SWR) and attach it with tie-wraps to the PVC frame. A single bracket mounts it to the mast, currently I apply Plasti-Dip (TM) everywhere where I suspect water can enter the cable or the antenna, it is by far the easiest method to make things somewhat weatherproof.


The mast can’t support a rotor (probably), one lightweight antenna and a long-wire for HF can do the job, if that needs to be changed then I probably need to move the antenna to the roof on a shorter steel mast etc.


The transverter itself is rather simple to operate, put it in VOX mode, set the jumpers for the correct repeater shift and off you go. Both input and output LEDs should turn green, the input LED indicates the input power and the output LED the reflected power from the antenna. If the second LED is not correct then start debugging the cable, connectors and antenna with a VNA. You can oftentimes tune the SWR (assuming that the second LED is orange but you want to have it green) by adding a short cable segment. Otherwise find a directional coupler and divert the reflected power to a dummy load.

Future for amateur use

For many years there is the claim of 1278.750 MHz for the E6 precise positioning service of Galileo. For this they need a wide bandwidth but it is a spread spectrum technique. So it remains to be seen what happens when Galileo (the European GPS) goes into full operational mode, and how the amateur band can be maintained. Also it is good to watch announcements on temporal frequency restrictions for higher frequency bands. Occasionally there are events in Rotterdam during which you can not use certain frequency segments above 1 GHz.

Last update: 15-Aug-2019 15:10

WSJT-x mobile set-up

Some people think that WSJT-x is not about hamradio, because it is internet related while hamradio is supposed to be independent radio for amateur use on designated frequencies. This article will show that they are wrong, you don’t need the internet, we just need GNSS (thus GPS and the rest) which is always there and free to receive.

The second misunderstanding is that you have to carry a windows laptop in the field to be able to do this easily. Also this is wrong, we are not depending on Microsoft Windows, instead we only use Raspberry Pi’s for controlling the radio and timekeeping. Access to the RPi’s is what you do with VNC, this is free software that runs everywhere, Ubuntu, Windows, Mac OS or even your tablet.

A Raspberry Pi (3B+) is fast enough to run FT4, the figure below is the evidence, it shows a FT4 session with the latest version WSJT-x 2.1.0 GA:


The radio that I use was designed 16 years ago (I found an introduction article in QST in 2004 mentioning that the reviewer got it in 2003); the FT857 is still sold today while we know that there are more modern transceivers with SDR technology, DSP and more of that:


The RPi that controls the FT-857 is also running the WSJT-x software, two radio dependent cables are required, an audio cable and a cat cable. I used the MFJ-1234:


FT8 and in particular FT4 require time synchronization, you can do this by hand if there is no internet (one of our requirements) but why can’t it be done by GNSS? So this is a task for a second RPi with a GPS hat which needs a GPS antenna currently mounted on a can of chewing gum on the window sill.



Everything that you carry with you in the field has to talk to one another, for this we have an unused netgear switch (if could also go via local wifi). I replaced this switch a few years ago when CAT6 gigabit lan was installed, for field LANs we can still use it, 100 MBps is fast enough.


For packet routing you could carry the router you have at home into the field, chances are that your wife and children don’t like you too much when you return home, so, either build your own router (I gave up), or find a mobile WiFi router, also called a travel router or a MiFi device, the one below is really good enough to do the job.


Two projects [here] and [here] came together for this article. Can it be done easier? Probably yes but this is what I ended up with for mobile WSJT-x.

Last update: 30-Jul-2019 17:46 (Fixed a few typos).

Time keeper and router

For digital modes on a field day you have to assume the worst, no internet, no local Ethernet, and therefore no time information. We need time with some accuracy, so a GPS (more accurately GNSS) hat on  a Raspberry Pi that controls a local NTP server and a travel router should be able to do the job.

Figure 1: Upper right is the GPS status window, below that is an existing NTP window, and on the left is a (pulse per second) PPS output window
Figure 2: The Raspberry Pi with the Dragino LORA/GPS hat.

The GPS hat comes from dragino, it also does LORA (the white stick) which I’m probably not going to use, the only hardware modification is a (blue) patch wire between the output of the GPS chip and a free gpio port on the Raspberry Pi. I used gpio 19 for this purpose (earlier I wrote 29 and this was pin 26 which is a software defined gpio pin while 19 is a hardware PWM pin, there is no difference for the RPi)

Setting up your gpsd server 

GPSD is a daemon, a process running in the background doing all the work for you, such as making the GPS information available on a port on the system. Step 1 is that the GPS has to show positions are time, and, PPS data which we need for the NTP server. The dragino board can be handled in the same way as the Adafruit Ultimate GPS hat for the Raspberry Pi, it is described here. The first time you run the dragino board (the LORA/GPS hat) on a Raspberry Pi no GPS data is shown on a serial port (it should be /dev/serial0), reason is that the console already claimed it, the adafruit article explains how to get the gpsd to work. If cgps -s -u m does not show you anything you then this part needs to be fixed. Debugging the gpsd daemon is explained here although it can quickly become rather technical.

Setting up your ntp server

You could in principle get the time directly from the NMEA strings of the GPS chip, but that procedure can introduce 1 second timing errors because of the baud rate at which the NMEA information is displayed. (see also what I described for the DIY GPS tracker, the article is: here) So there are better ways to do it, namely by using a separate pulse per second (PPS) line from the GPS chip which is unfortunately not wired on the dragino board to any Raspberry Pi gpio pin. So this is what you do yourself, good old-fashioned soldering solves this problem. Once ppstest works you can proceed, for the rest I did not have to do a lot, the procedure is described here. The result is that NTP on lorapi mostly listens to the GPS receiver, and that some internet infomation is used, but not too much.

Some clock and frequency offset results on my LAN

There are several things you can do to see how well time and frequency are now defined, ntp comes with various tools to generate loopstats and peerstats. The loopstats refer to the time and frequency definition of your own clock, and likewise, peerstats are the definitions of all other clocks that NTP synchronizes to while running.

NTP is presently running on rwo Raspberry Pi’s and a PC on my LAN. Lorapi is the RPi equipped with the GPS hat and the wired PPS line,  Adsbpi is its neighbor listening all day to aircraft ADSB data, and the PC is a windows 7 system using the Meinberg ntp implementation. Here are some time and frequency offset estimates for all RPi systems:

Figure 3: Red orange line refers to lorapi, and the blue line is adsbpi. The clock offset is shown in milliseconds and the time runs in hours (its offset is not too relevant)

Figure 4: modelling results of the clock frequency. This is what NTP extracts for your system. Color coding is the same, red is lorapi and blue is adsbpi.

So what do you learn? Adding a GPS time synchronization improves the definition of time considerably, better than 50 microseconds is easily achieved unless there are a lot of antenna changes and temperature changes of your RPi. Without the GPS time synchronization we see that the time offset can easily reach +/-200 microseconds  in steady state but this depends on the quality of the internet and the availability of stratum 2 NTP servers in your neighborhood. If they are not there then things become rapidly more troublesome, a few milliseconds (up to 10) is what my PC shows, my PC does not listen to any stratum 2 server. The relaxation time to reach steady state can be as much as 1 or 2 hours for the tested systems, except when you carry your own GPS, in that case the steady state is reached in less than 30 minutes. The frequency plots show that we are dealing with non stabilized (no voltage or temperature stabilization) oscillators. So this is what quartz does for you. At night the temperature does not change too much and the oscillator frequency variations are small, during the day this is a different story. For the intended digital modes application any definition of time is good enough (100 milliseconds would already be satisfactory). If there is no internet to synchronize to during a field day then the GPS solution should work. For time of arrival applications the reported 50 microseconds would result in 1.5 km type of ranging errors.


This is something I tried on lorapi, but it is too complicated, so what I will do is to carry a travel router with me in the field, a travel router is able to create its own LAN and from there you connect to any internet if needed, if you not matter if the internet is not there, if we ran WSJT-x on a field day.

Last update 28-Jul-2019 11:34