Wednesday, August 9, 2017

The Hendricks DC30B Resurrection

Recently I found a partially completed Hendricks DC30B 30M transceiver kit on eBay. It is small - a bit larger than a pack of playing cards.  The transceiver is direct conversion, crystal-locked and CW only.  Below is the eBay posting image:

The partial kit was advertised as “incomplete, not working and/or for parts”. The image reveals some of the missing parts, Q1 (the final), a toroidal transformer, one capacitor, the case top, etc. For some reason the 78L05 voltage regulator had been removed and replaced but not soldered. I ordered about $5 worth of parts (including the suspect 78L05).

While waiting on the parts, I very carefully went over the construction and found one electrolytic installed backwards. Otherwise, I thought the build quality good.

I wonder why it was abandoned...

Once the missing parts arrived, I followed the extensive assembly instructions available on the web and – to my pleasant surprise, it fired right up. Here's the testing lash-up.

I found a fine resource in the Yahoo DC40Kits email group. I got good advice and welcome encouragement both on and off-list.

After testing, I completed the installation in the supplied clamshell chassis half. Unfortunately I could not locate the top – and have yet to find a suitable replacement.

Output was right at 1 Watt with a nice 12.6V supply. I called CQ a lot until I made my first QSO with NK8O in Kansas (image to the left). The antenna was a 30M sloper and Chas gave me a 579. I have since had better luck when 30M was in good shape, usually at night.  (Note:  The K3 was on - but not in use)

Some thoughts:

This was a lot of fun for the price of a couple of fancy coffees for the better half and me. My biggest mistake was to limit myself to the supplied case. I have since learned of several mods which I could have applied easily. My second mistake was to not mount a socket for the crystal. The supplied Xtal (10.120KHz) is nowhere near the usual QRP frequencies.  Personally, I consider the keyer IC WB5BKL-unfriendly.  I have also read of a few design deficiencies – which have not bothered me.

All in all, a fun project.

cln – Nick

Sunday, August 6, 2017

Importing N1MM ADIF export files into XLog

I like the N1MM Contest Logger program for Amateur Radio contesting.

N1MM is quite amazing for free software and is very well maintained. It is aimed just at contesting and covers most of the major contests worldwide. It is easy to install and – though there is a steep learning curve – once set up, solid.

It supports exports to Cabrillo (.log) for contest log submissions and to the ADIF (.adi) format for import into other logging programs.

I prefer to use Linux on my computers. My 'Amateur Radio computer' is a dual-boot machine just so that I have access to the N1MM Contest Logger and an antenna modeling program – both available only on Windows. To the best of my knowledge there is no Linux equal for N1MM.

My everyday logging program is XLog – a Linux program. After each contest, I move the results into XLog. Unfortunately a direct import of the N1MM .adi file into XLog leaves a lot to be desired for me.

N1MM exports only the start time – to 6 places (hhmmss). I like both the QSO start and end times to be entered and 4 places (hhmm) is more common. I note that QSO start and end times in a contest are almost always identical.

N1MM exports the frequency to the nearest 0.1KHz. XLog's default is to the nearest Khz.

N1MM exports both a sent and a received signal report. In the weekly CWT contests I enjoy, neither report is exchanged but N1MM defaults to reports of 599 for both. I prefer that those false reports not be entered into XLog.

N1MM does export the contest exchange, but I like to include the name of the contest following the exchange in XLog.  XLog has a different name for this field.

Here is an example of one record from the N1MM exported .adi file. Note that this is all one line:


And here is what I would like the same line to look like for import into XLog:


I have highlighted the areas that have been modified.

I did this with a little Bash script and the sed (Streaming EDitor) command. Below is the operational part of the sed command for one of the little contests I enjoy, the CWT at 1900Z each Wednesday:

# CWT1900.sed
s/\(<TIME_ON:6>\)\([0-9]*\)/<TIME_ON:4>\2 <TIME_OFF:4>\2/
s/ <RST_RCVD:3>599 <RST_SENT:3>599 / /
s/\(<APP_N1MM_EXCHANGE1\)\(:[0-9]*\)>\([A-Z0-9]*\)/<COMMENT:15>\3 CWT-1900/

This sed file makes the four changes I listed above. Now I can run the .adi output files from N1MM through my little bash script and import them into XLog with no editing needed!

If you would like copies of my bash script for the three CWT contests, with the accompanying sed files and some informal notes, email me at my address.

cln - Nick

Saturday, June 24, 2017

Adventures with a 'Thin Client' – a HP t5740

Recently I got interested in 'thin clients'. Small PCs with no moving parts. Here is a really good resource:

I like having a spare small profile computer to do my Amateur Radio logging function. The only real requirement (besides a little storage space) was an RS-232 port (the logging program receives data from my transceiver via RS-232).

I found a HP t5740W on eBay for $24 shipped, with power supply, 4G of ram and 4G of flash memory.

The thin client arrived (as expected) with no OS. I looked online for advice about the best small footprint Linux and found that my personal choice, Debian, was one of the top ten. I loaded a Debian Jessie “Net Install” iso on a USB stick and gave it a try just to see what would happen with the 4G flash memory. It fit!

But just barely - there was very little space left, maybe 11% or so after installing the logging program, XLog. That's a little tight, even for my tiny ham radio app.  I decided to attempt the installation of a disc drive, as mentioned in the “Mods” section of the 'Thin Clients' website above.  Here's the SATA connector on the motherboard.
That's an odd connector.  I am very lucky to have a Goodwill Computer Store fairly close. The knowledgeable folks there helped me pick out some potential 'donor' cables and the smallest 2.5” SATA drive they had (160Gb). Another $10 invested. Cheap works for me.

I followed the guide in the mods section for the HP t5740 (drill down: Home – Details – HP, etc). The big gotcha is the SATA data and power cables. Both must be modified to fit the connector on the mother board. Here is an image of a before and after mod for the data cable. The power cable will need a similar mod.
Click to enlarge the image.  All the Xacto wounds have now healed.  Note:  Band-Aids are remarkably difficult to apply if the cut is on your thumb...

Photos in the mods section mentioned above show the installation of the drive better than I can.  I did move the RAM memory as suggested.  

Success!  I now have two installations of Debian Jessie on the t5740, one on the 160Gb hard drive and one on the 4Gb flash memory. Via Grub, I can boot to either. 

Had fun.

cln – Nick

Saturday, October 24, 2015

Linux: Finding Hams from a particular state in a list of Callsigns

Recently I wanted to extract the Texas hams from a long list of callsigns. As there were over several hundred calls in the list (and I am lazy), some automation was needed. I did it with a little Bash script and the Callsign Server at the University of Arkansas:

The callsign server at UALR can report the address the FCC has for hams in its database.

[Note: This script assumes you are familiar with Linux at the command line level and are running the Bash shell or similar]

First place the list of callsigns you need to search into a file with each call on a single line. Here is an example (add a few calls if you like):


The list can be quite long. Save this as a file called:


Here is the Bash call-list.cmd script:

# call-list.cmd by cln – WB5BKL 10/2015
for CALL in `cat ./call-list`
echo -e "\n"
echo "\$CALL="$CALL
echo -e "\n"
sleep 1
wget -O $CALL.htm$CALL

Copy and save this script as call-list.cmd. Make the script executable:

chmod +x call-list.cmd

Then place it in the same directory as the call-list file. I would strongly suggest an directory empty except for these two files.

Then execute the call-list.cmd:


You should find a series of files have been created in the directory with the suffix: .htm  For example:


Then execute the following command (assuming you want only the calls that were in Texas:

grep -l "TX" *.htm

and you will see a list of the calls that have TX as part of their address field.

Or you could do this:

grep -l "TX" *.htm > TXcalls.txt

and the file TXcalls.txt will contain a list of the files that had TX as a part of the address. This list could then easily be edited to remover the “.htm” extension – and you have your list of hams in Texas.

Of course, you could use this to look for other states, or even calls that had “Extra” or “CT” or “John” as a part of their listing. Lots of possibilities here.

cln - Nick

Saturday, August 22, 2015

Airhead Ignition Switch Repair

Last week, my 1974 BMW R90/6 developed a new electrical malady – in the ignition switch.

This switch has four positions: off, park, run, run+lights.  It would start and run just fine, but when I switched from 'run' to 'run+lights' (required in TX), everything would die.  No lights, no ignition, no horn – nothing, zip, nada.

I opened up the headlamp shell and tried some tests.  Tried high-beam only – same failure.  Tried low-beam only – same failure.  Unplugged the headlamp assembly – same failure.  Hmmm.

Time to look at the switch:

I think this switch is unique to early /6 models – so what you see here may be different than on later /6 years (YMMV). I took this image to document the wiring. I could have seen the problem if I had looked closely. Look at the areas near “A” and “B”. No gap at all between the metal case and the insulator at “A” - but look closely at “B”. See the gap? (Note: the images expand if you click on them).

I disconnected the battery. This is not my first rodeo. 

To remove the ignition switch, you must remove the outer nut and spacers then remove the 13mm bolt (with its spacers) on the opposite side of the headlamp assembly. Then you can gently tilt and drop it down slightly. Removing the ignition switch is then straightforward.

When I had the switch in my hand, I noticed that the insulator was being forced outward by the internal springs and was not flush with the metal case. I told myself to fix that when I put the switch back together – not knowing that I was looking at the root cause of the problem.

I very cautiously took the switch apart – being very, very careful to look for small springs and contacts that might try to escape to the workshop floor. Note the missing metal at the 2 o'clock position on the metal case.

I took the switch contacts and the associated three tiny springs out and and cleaned everything with alcohol. I could see no electrical problem or broken bits.

This switch has a series of four detents and a ball bearing/spring mechanism to locate the rotor in one of four positions. You can just barely see the detents near the 5 o'clock position on the right, above.  As I was cleaning (and re-lubing) that part of the switch, I noticed that the ball wanted badly to escape its channel – making the switch miss the 'run+lights' position. Aha! The missing peened section was allowing the ball to leave its channel just enough for the switch to over-rotate, bypassing the 'run+lights' electrical connection.

I completed cleaning and lubing the switch and put it back together – held in place with a temporary clamp. I re-peened the two good sections and then did my very best to re-peen the area with the missing metal. Here are side-by-side images, the restored peen and the problem area:


Looking at the very end, it should be easy to pick out the two normal peens and the repaired area (near the “K” mark). 

Note: 30 refers to both terminals near the center (+12V), terminal 58 (park/running lights) is at the top, 15 (ignition) at the left and terminal 56 (headlamp) is at the bottom.


Fixed – at least for now. The ideal repair would be a new switch, but as of this writing, they seem to be NLA and difficult to find used. If I have to go back into the switch, I think I will use a drill press to make a couple of very tiny radial holes through the metal case into the insulator near the failed area and tap in some tiny pins. That might be the best I can do until a switch turns up.

Other ideas?

cln – Nick


Sunday, August 16, 2015

2015 Skeeter Hunt

The New Jersey QRP Club's Skeeter Hunt will be the last QRP field event for me this summer.  Here's a photo at my favorite spot in Longhorn Cavern State Park:

My score this year was not as good as in previous outings (I will blame it on propagation), but I did have a good time - as usual.  Also, temperatures were not as hot as in previous years - it only reached around 104F - but there was a breeze most of the time and I had nice shade from two cedar trees.
This year - just for fun - I tried my first video:  Click here.

Since I run Linux, I used 'Openshot'.  After a couple of tutorials on the web and a couple of misfires, I got the basic concepts and I had a lot of fun working on it.  

This year had a couple of other firsts - I visited with my first park ranger/employee (this location is quite a ways from the main park area) and explained how I managed the antennas (a fishing pole, 7-pound-test line and a brightly colored sinker along with nylon twine).  And, yes, they went up and down each visit.

Also, I found this, which was interesting.  This area is moderately popular for its view of the Colorado River, Kingsland (the closest town) and Packsaddle Mountain (SOTA:  W5T/EF-003).  Not too bad a location for that purpose, I guess.  Not exactly my first choice, but as my old friend Murel used to say, "That's why there are red cars and green cars and blue cars..."

My thanks to the NJQRP Club and to W2LJ (the organizer - who I actually worked!).

Had fun.

WB5BKL - Nick

Tuesday, July 21, 2015

Airhead Instrument Cluster Repair

I've had more problems with the instrument cluster lights on my 1974 BMW R90/6 sidecar rig.  This model has several idiot lights including Brake, Neutral, Charge,  Oil, turn signal activation and high beam.

Symptoms:  Turn signal indicator would only work with the ignition switch in the 'run' position (that is, not in the 'run+lights' position).  High beam indicator action was reversed – illuminated on low beam.  Neither the speedo or tach illumination bulbs worked.  All the other indicator lamps worked normally.

As the rig was still technically “legal”, I continued to use it – until the turn signal indicator completely failed – even in the 'run' position.  Time for a little TLC for the 41+ year-old bike. 

I will note here that BMW's '74 /6 models were unique in a lot of ways – and your Airhead might be quite different.  As always, YMMV.

First, I worked on the no-turn-signal-indicator-at-all problem.  With the cluster off the bike and disassembled on the bench, I found that the ground-side tab (nearest pin 7) for that bulb had finally fallen off. 

Side note:
I think this is a common failure mode for these clusters.  My bike has signs that the cluster held water at some time – lots of corrosion at the bottom.  Since the turn-signal indicator lamp is the lowest, it was doomed to eventual failure.  You might assume that the best repair would be to replace the entire bulb holder - and you would be right.  Sadly this part is NLA new from any source I could find.   These BMWs are getting old, and some parts are now getting scarce.

In my junk box, I found a piece of sheet copper and cut it to a tab plus a bit to attach to the remaining copper strip.  I then very carefully cleaned the original copper strip to bright shiny metal and tinned both the strip and the new tab.  Here's an image:

The forceps hold the new 'tab'.  The screwdriver is to hold the plastic away from the copper strip while soldering.  The razor blade was the handiest thing nearby that would protect the plastic holder from melting – a popsicle stick might have done just fine.  Tinning both surfaces made it relatively easy to make the connection:

I then connected just the bulb holder to the bike and the turn-signal indicator flashed properly when the ignition switch was in the 'run' position – one problem solved.

Nest, the other problem – no turn-signal indicator with the ignition switch in the 'run+lights' position.  By this time I had convinced myself that it was a missing ground problem – always a suspect when electrical circuits begin acting really funky...  Also, studying the wiring diagram told me that the bulbs I was having problems with only had one thing in common – a ground.

First, I carefully traced the repaired circuitry on the bulb holder and convinced myself that it was now OK.  Then, just to be sure, I substituted a known-good turn-signal relay from another bike.  The problem stayed with the '74.

After a careful check of the wiring diagram, I looked for continuity from pin 7 on the connector to the brown wire at the brake fluid reservoir (ground).  No connection.  I then re-connected the bulb holder, leaving the pins exposed and very, very carefully connected a clip-lead from pin 7 to ground.

The turn-signal indicator (along with the instrument illumination lights and the high-beam indicator) worked!  Properly!  Aha!

I spent quite a bit of time trying to locate the break in the ground wire without any luck at all.  As this plug and cable assembly is part of the main wiring harness and is usually listed as NLA (or as a several hundred dollar NOS item) I decided to give the instrument cluster a new ground.

Here's how I did it.  It might not be the best way, but it is a way...

First I removed the cluster mounting plate and soldered a piece of copper braid (with roughly the cross-section of the original ground wire) to the back.  I also removed a nicely sized female connector pin from an old Molex connector from the junk box.  I found a lot of pins that would do – the Molex connector was just on top...  I clipped the connector to size and attached it, with some sleeving, to the copper braid as shown:

I then put the jumper in place as shown below.  This solution appealed to me (as opposed to soldering a wire to pin 7) as it is easily reversed.

I assembled the instrument cluster and installed it on the bike.

The cluster is shock mounted.  This means that although I had the ground to the 'outside' of the cluster, the metal mount that supports it was 'floating' electrically due to rubber bushings.  So I ran a new ground wire from one of the three instrument cluster attachment bolts to a handy/logical chassis bolt as shown:

I then tested my work:

It blinks!  Yea!

I humbly acknowledge the technical contributions to my project (some direct, some indirect) by several on the AirList, notably Tom Cutter, Matt Parkhouse and Brooks Reams.  My sincere thanks for sharing your knowledge and experience. 

I hope this helps someone else to keep 'em on the road.

cln – Nick