J-38 Madness

As I mentioned last post, the SKCC Weekend Sprintathon for October was all about keys. I heard all kinds of keys on the air during that contest, and many of them were J-38 keys. The J-38 is the quintessential, all American made, military surplus key that every ham cut his/her teeth on in his/her first station. They were cheap, plenitful, worked pretty well, and looked kinda cool with all that mysterious extra unnecessary hardware on the plastic baseplate. Everyone had one. Except me.

I was certainly aware of these keys out there, but not having been a ham in the golden age of WW II surplus (I’m the right age to have been a teenaged ham in the 1960’s, but didn’t get a license until much, much later) I didn’t come across any for a dollar at the army surplus store or anything like that. I think my first key came from MFJ, and was actually a paddle.

Even before that WES weekend, I would occasionally look for a cheap J-38 on eBay from time to time, but gone are the days when these things could be bought for a couple of bucks – I have seen them command totally out of line prices of eBay, and this fact has for the most part kept me safe. But on that fateful Saturday night of the WES, sitting up in bed with a tablet perusing my favorite eBay searches, I came across a new listing that would have serious consequences.

The listing was for a “new in box, sealed in wax, J-38 key”. New in box keys are not that unusual, you see lots of them on eBay, but they go for really high prices. Covered in wax was very unusual though. Also, the listings (there were two) had a really attractive Buy It Now price for a new key. I bit. It was a little impulsive, since the contents of the sealed box was not visible, but hey. J-38 was on the way.

Sealed in wax for freshness

Sealed in wax for freshness

The auction did have photos of another key which the seller said was the same as the sealed units. This other key was definitely not new, and was the “all white metal” variety of the J-38. I know this because I immediately started researching J-38 keys, and found a wonderful resource if you are interested in the history of these keys. Take a look at Scott Hill, N6IX’s excellent page on J-38 keys. A link from his main page promises “more than you ever wanted to know about J-38 keys“, and I found it fascinating reading.

One interesting fact was that the J-38 was manufactured by many different companies, to the same specifications under government contract. I guess this was done to avoid single-source problems during the war years. It means that there are several common varieties of J-38, all slightly different — different manufactures used different materials, and finished the keys in different ways.

A few days later my sealed box arrived. I set up to photograph it as I opened it, rather like an archeolgical dig. I had no idea what the package would reveal. The cardboard key box was wrapped in cloth tape, and covered in a thick layer of sticky wax. Thoughts of every B-movie featuring Egyptian tombs flashed through my mind. Dimly seen through the wax cover was a label that promised a J-38 key, a good sign

Wax covered label

Wax covered label

I tried to gently tease the package open, but the cloth tape was not yielding to gentle. Unfortunately, the tape was applied across the box end, obscuring a lot of the label, but if you look closely at the bottom you can see the manufacturer given as American Radio Hardware.

American Radio Hardware, seen dimly through the wax

American Radio Hardware, seen dimly through the wax

ARH keys are a common variety of J-38, found almost as often as the Lionel J-38. Yes, Lionel, the toy train company, made a boatload of J-38s during WW II. We will revisit this fact in a bit.

Anyway I was excited – I had seen pictures of the ARH keys and I like them a bit better than the more common Lionel variety. I continued to saw away at the box, a little less gently now. Finally, an end came open, and I found the key wrapped in what I would describe as butcher paper. There appeared to be oil or grease on the key, and staining the paper. Here is what it looked like unwrapped:

Finally out of the box

Finally out of the box

It didn’t look new to me, but in very good condition. There were some markings on the lever, and the gap adjustment screw was bent. Overall though, it was a pretty nice key.

It is of the variety that Scott K6IX describes as an all white metal key, containing no brass parts. The conformation is that of the ARH key, but the typical ARH key has brass parts as well as “white” metal. The interesting thing is that if it was new, the box would be evidence that ARH made at least some of the all white metal keys. However, I don’t think it was new. Perhaps whoever packed the key so carefully and sealed it in wax, maybe to bring it home as a souvenir after overseas service, grabbed a key and any box handy and paired them up. Who knows?

I sent an email to the eBay seller, asking for any information they might have about origins of the key. To my surprise, I got a reply almost immediately. The seller’s father had been in the Navy and had a number of WW II items, but beyond that nothing else was known. So whether the key is a white metal key made by ARH remains indeterminate.

I cleaned the key up using good old Brasso, and stuck 4 low profile feet on the plastic base. The base was warped slightly, (this is common with these keys) and wobbled a bit; the rubber feet cured the problem. The key has a very nice feel, and looks good, even with the bent adjustment screw. It’s a keeper

The white metal J-38 key

The white metal J-38 key

Ah, but now the fit was on me. Scott’s web page contained sage advice about how to clean up these old keys, and I decided to try for a Lionel key on the cheap. I watched for the most disgustingly dirty, but complete Lionel key I could find on eBay and bid on it, planning to transform it into a beauty with a little elbow grease. Before long, a Lionel key was on the way…

Lionel J-38 as received

Lionel J-38 as received

The key arrived in good shape, but pretty gritty.

Gritty close-up

Gritty close-up

Following Scott’s advice, and having a Saturday afternoon with nothing much else planned, I got started with my key cleaning event Friday night. Here are the steps:

  • Soak all the parts in household ammonia solution overnight. I collected the parts in groups, so I could figure out how they went back together. Also, I separated the white metal parts from the brass ones, not wanting any weird galvanic thing happening to them while soaking. I had visions of all the brass bits disappearing overnight or something like that. I have a bunch of these all-plastic ice cream jars (the family consumes a bunch of this stuff, good ice cream, great jars) that were ideal for the task. As Scott predicted, the white metal parts turned black overnight, but this is expected and not harmful.
  • Initial polish with Brasso. This removed the residue from the soaking.
  • Polish the parts again with Flitz Blue. You can find it on Amazon. This stuff is amazing. You can even use it on the painted parts, diluted.

Speaking of parts, there are many more that you would think for a simple looking key. The left side parts:

Left side bits

Left side bits

The center parts

The center bits

The center bits

The right side parts

The right side bits

The right side bits

The white metal parts

The white metal bits

The white metal bits

And the weird connective tissue parts. These are mostly insulating washers, critical to the functioning of the key.

Tiny weird bits

Tiny weird bits

Those little wire bits that look like broken ends from mechanical pencil leads are parts too. The are pins that orient the terminal posts so that the holes line up with the markings on the base. No kidding. Only the Lionel keys have them. It was a miracle that I didn’t lose any, and they made re-assembling the key an exquisite experience.

All put together, the Lionel key looked great cleaned up:

Lionel J-38 reassembled, no base

Lionel J-38 reassembled, no base

but it suffered from a pretty bad warping of the base plate and was quite wobbly. While it meant forgoing the extraneous hardware bits, I mounted the key on a block of pretty hardwood (also an eBay purchase), mounted low profile rubber feet, and am rewarded with a very nice looking final product:

Lionel J-38 - final product

Lionel J-38 – final product

Those extraneous bits? These keys were used to train new operators, by wiring the keys in series with the instructor’s key and oscillator. Headphones were wired in series with the keys, and the shorting bar allowed the trainee to listen on the headphones while not sending. The eyelet was used with a cord to tether the headphones to the key, so they wouldn’t wander off at the end of the training session.

Having refurbished two of these keys, I will definitely enjoy using them. They feel good and impart a sense of history, especially hooked up to boat anchor rig. My obsession with J-38s is starting to wane – the doctor says that in two or three weeks it will all pass, and I can have access to my eBay account back again.

73,
de N2HTT

Posted in Ham Radio | Tagged , , , , , , , , , | 7 Comments

If it ain’t fixed, don’t break it.

This past weekend saw one of my favorite operating events, the Straight Key Century Club (SKCC) Weekend Sprintathon. Just a bunch of guys sending slow to medium speed CW, exchanging SKCC numbers, and generally hanging out amidst an atmosphere of general ham radio bonhomie. I much prefer it to the monthly sprints, which are also fun but only last two hours in the middle of the week. The two hour thing generates mild anxiety on my part, I feel performance pressure. No, the WES, which lasts 24 hours, is really relaxed and totally pleasant.

Each month’s Sprintathon has a theme, usually topical in nature. The theme is used to structure bonus points in the competition and usually involves some addition to the contest exchange. The theme for the October Sprintathon was “OctoberFest” – I’ll explain in further detail what that has to do with this post in a bit.

I was excited to realize that this month’s WES would coincide with my being a the upstate QTH, where I have been setting up a vintage, tube based station. What better way to shake out those tubes than to participate in a low key (no pun intended) CW contest? Since my last post (The QRP Blowtorch) on the upstate QTH, some things have changed…

Over the summer, in the midst of my preocupation with the Drake 2-B, I spent a lot of time looking at boat anchors on eBay. I think what got me started was seeing an auction for an Eico 723, which looked really good. Didn’t win it though.

I kinda got fixated on the idea of one of these small “novice” transmitters. They are not huge in size, mostly crystal controlled, and typically put out about 40 watts for the novice maximum input power of 75 watts. After much looking around, I found an auction for a nicely refurbished Knight T-60. This rig is typical of the breed; the one I found had already been re-capped and was described as working. It had a minor blemish on the cabinet, which is probably why I got it for as little as I did. When I tested it, it was in fine working order, and the blemish did not seem to have any impact on its transmitting abilities. It pulls about 60 watts input, and can put out more than 30 watts when tuned for “maximum smoke”.

Knight T-60 Transmitter

Knight T-60 Transmitter

I brought the T-60 to the upstate QTH, and carefully installed it at the operating position occupied by the QRP Blowtorch. The Blowtorch is now occupying a place of honor in our living room bookshelves, ready to spring back into action in a moment’s notice.

On the shelf, ready...

On the shelf, ready…

But the lure of those 30+ watts, given the limitations of being rockbound and the general lousiness of band conditions of late, was irresistable. I am a QRP guy through and through, but occasionally one needs 30 watts. It’s good for the soul.

The T-60 uses cathod keying. Typically cathode keying runs about 100 vdc on the key, and you need to be very careful where you put your fingers. For that reason, I have certain keys that I prefer to use with the tube rigs. One of which is my Soviet Military Key (SMK). These keys can still be easily found on eBay – they date from the 1970’s and were surplussed out in large numbers. From what I have seen on eBay these days, they are a bit more expensive than when I bought mine about ten years ago. They are still a great value though: easily adjustable, pretty good feel, and best of all totally isolated from the keying circuit. The key arm and contacts are protected by a plastic shroud, and the exposed portion of the key arm is completely made of (or covered in, I’m not sure) heavy plastic. Unless you deliberately place your fingers across the screw terminals at the back of the key, there is no way to get into any trouble. Safety first, I say.

Soviet Military Key

Soviet Military Key

Soviet Military Key with the hood open

Soviet Military Key with the hood open

So imagine my surprise when I hooked up my Soviet Military key to the T-60, and it wouldn’t key! One of the nice features of the T-60 is that is makes use of modified cathode keying, that only puts a few volts across the key. It turns out that the Soviet Military key, with the key closed, presents a resistive load of about 40 ohms across the contacts. Apparently that was just too much for the tubes to key. Closing the key was going from “very open” to “still pretty open” and it just wasn’t cutting it. So for WES this month, I used a different key (who doesn’t have a selection handy?) and proceeded to operate very successfully with the T-60. (I also did a bunch of QRP contacts with the KX3. Couldn’t help it.)

After WES ended, I decided to have a look at the innards of the SMK to see where that 40 ohms is coming from. I was vaguely aware that there was some kind of filtering or key shaping circuitry inside the key, obviously designed for use with high voltage rigs. (The SMK has worked very well with the W1TS Simple Transmitter, and an HW-16, the 40 ohms not causing any issues with these rigs.)

Removing the base plate exposes the filter board, with a collection of caps, large inductors, and a couple of 20 ohm resistors. Hmm…

SMK filter circuit board

SMK filter circuit board

Lifting the filter board revealed four wires, from the four contacts topside to filter board. It was a fairly simple matter to unsolder the board from the terminals, the wires from the board, and solder the contacts directly to the terminals.

Filter board removed, contacts wired directly to terminals.

Filter board removed, contacts wired directly to terminals.

In looking at the connections, I discovered an interesting fact: The metallic arm of the key is completely electrically isolated from the keying circuits. It is connected to the ground terminal, but the keying circuits float isolated from this terminal. This is a really safe key.

SMK contact details

SMK contact details

The three terminals on the rear of the key, marked “a”, “b”, and “c” make up the keying connections. The way I wired mine, “a” — “c” are the keying terminals. “a” — “b” are normally closed, and open when the key is pressed. This could be used for muting your receiver, kind of manual QSK.

After everything was buttoned up, the key works beautifully with the T-60. The station looks very nice all put together.

The whole 30 watt enchilada

The whole 30 watt enchilada

The OctoberFest theme? Every exchange had to contain the manufacturer of the key you were using, and you get bonus points for each unique key manufactured you worked in the contest. I used my Palm Radio PPK key for WES. I heard (but did not work) at least one “SOVIETMILITARYKEY” in an exchange, so there is at least one other out there.
WES is over for this month, but I’m looking forward to making some more contacts with my rock crushing 30 watts, and a very safe key.
73
de N2HTT

Posted in Ham Radio | Tagged , , , , , , , , , , | Leave a comment

2B Redux

My infatuation with boat anchors has begun to reassert itself this summer, with the sudden acquisition of a Drake-2B receiver. I like working with separates: a tube transmitter like the W1TS Simple Transmitter or the QRP Blowtorch, and a vintage receiver as a companion. The Drake 2B has an excellent reputation, it is readily available, and most importantly, it is relatively compact for a tube rig.

During the month of August I started looking at the classified ads for a 2B, and of course, found several excellent deals which I had just missed. Now I know lots of folks find great buys at local ham fests, but for some reason the timing is always off for me. I manage to get to maybe two ham fests a year, and never in midst of summer. eBay is my constant, 24/7, exorbitantly priced personal ham fest. Rather than being patient, my immediate gratification gene kicked in, and I turned to eBay.

I found a 2B auction for a nice looking unit, not too expensive, whose owner described as “working”. After many years of buying used equipment on eBay, I have figured out the meaning of “working” with respect to eBay:

working, adj.
1. Not totally moribund; will light up if plugged in.
2. We don’t know how to test it, but didn’t find anything wrong.
3. It was working perfectly when we put it away 18 years ago.

This auction was accompanied by many encouraging photos of the rig all lit up, and the assurance that it was in good condition. There certainly wasn’t any doubt that the panel lights worked.

Drake 2B, working.

Drake 2B, working.

When the rig arrived, it did look good, and lit up most emphatically. My initial assessment of the received audio though was only so-so:

  • there was a ferocious AC hum on the audio
  • the audio levels were very low – full AF gain was barely driving an 8 ohm speaker
  • the diode detector didn’t seem to work – I couldn’t find any AM signals.

I had pretty much expected that I would have to replace the electrolytic caps – this would most likely fix the hum. I ordered a re-cap kit from Hayseed Hamfest. These folks make up multiple caps in pin-compatible metal cans that will exactly replace the originals. The kit for the 2B consists of a replacement can containing four caps, and a single, stand-alone electrolytic. They also thoughtfully include a length of solder wicking braid for use unsoldering the old components.

While I waited for my re-cap kit to come, I started hunting down replacement tubes for the 2B on eBay. In general I like to have spare tubes on hand for any of the boat anchors in active use, and I suspected that a few tubes might need changing in my ailing 2B. The 2B uses ten tubes, seven different varieties; happily all of these tubes are easy to find and not too expensive. With judicious bidding, over the course of several weeks, I was able to come up with at least two replacements for each tube in the rig, at an average price of about $2 a tube.

Perhaps an obsesssive quantity of spare tubes.

Perhaps an obsesssive quantity of spare tubes.

The end of summer, and beginning of the school year are hectic times in our family, so it wasn’t until the end of September that I found a weekend with sufficient time to tackle the rig. Coincidentally, W2AEW, Alan, had just produced a series of four excellent YouTube videos documenting his refurbishment of a Drake 2B. Alan’s instructional videos on electronics and ham radio topics are superb, I highly recommend them.

After printing off a copy of the 2B manual I found online, I put the rig the bench and opened it up. No obvious damage was apparent, a good sign. Using the resistance chart in the manual, I checked the resistances to ground from each pin of each tube. This is a useful exercise, because it takes you on a tour of the major functional blocks in the radio. For the most part, the resistances were in the ballpark, so I pushed on.

2B resistance checks.

2B resistance checks.

Examining the underside of the chassis in the area of the canned caps revealed a surprise. It seemed like there were some components in the rig that did not belong there! Oh no, a mod! Just to be sure, I reviewed Alan’s video where he showed the same area of his radio – stopping the motion to freeze the frame on the screen. No doubt about it – there was an alien invasion in my rig.

Alien invasion!

Alien invasion!

Identifying the connecting parts, I was able to localize where these caps had been added on the schematic to try to guess their function. First, I searched the web to locate common mods for the 2B, to see if any of these matched what I had found. No luck. There are a few widely reported 2B mods, these were not they. The best I could guess their function was:

  • the cap in series with one pin of can might have been an attempt tame the hum?
Extra 150uF cap attached to can.

Extra 150uF cap attached to can.

  • the other two caps were both at points between the detectors and the audio preamp, going to ground. More hum suppression? Maybe trying to shape the audio?
Two other 25 uF caps at points between detectors and audio stage.

Two other 25 uF caps at points between detectors and audio stage.

If anyone has any thoughts about why these might have been added  I’d love to hear from you.

Anyway, I took a deep breath, and ripped them out. Now everything looked as expected. Before making any changes, I took a number of detailed closeup photos of the area where the work was to be done. This is invaluable for getting all the wires and components that connect to the caps back where they belong.

Base of the can caps, before replacement

Base of the can caps, before replacement

The other electrolytic to be replaced.

The other electrolytic to be replaced.

The re-capping itself went fairly smoothly. I use a Hakko 808 desoldering tool (I highly recommend this tool, especially if you do a lot of repair work, or just make a lot of mistakes) which worked splendidly to unsolder all the lugs. However, the two of the tabs that hold the cap-can to the chassis were soldered most enthusiastically, and the 808, which has a rather delicate tip, was struggling to melt the solder blobs.

The Behemoth

The Behemoth

I used a 250 watt iron in one hand, and the 808 in the other to melt and vacuum up the solder. Even at that I had a bit of a struggle prying those tabs off the chassis. Eventually the can worked free. The new caps went in without a hitch, and I was left with a very nice piece of leftover solder wicking braid as a backup.

Once the recapping was done, it was time to pay attention to the tubes.

I have a very nice tube checker, a Hickok 6000A, which I got at the annual PCARA Bring & Buy Auction two years ago. It’s in good shape, and every once in a while I pull it out and check a tube, just for the heck of it. It’s also good for checking all those NIB/NOS* tubes from eBay. *[New in Box/New Old Stock]

I didn’t want to change out all of the tubes in the 2B blindly – instead I wanted to check each tube in turn, and only replace one if it seemed the replacement would improve matters. I tested each tube in turn, using the following rules:

  • check for shorts. Shorted? out it goes.
  • check for leakage. Excessive leakage – discard.
  • emissions check. Here some judgement came into play: If the tube tested good on the test, keep it. If not, apply the same test to one or two of the replacement tubes, and only swap the tubes if the replacement fared better in the test.

The reasoning behind this last rule is simple: I have never tested the tube checker with known good tubes, or had it calibrated or refurbished. For that reason, a “low” emission reading for a particular tube is just a likely an indication of a problem with the tester as it is with the tube. The emission test values are kind of a qualitative measure, not like a short, which is a pretty deterministic game-ender.

Anyway, using this protocol I found four tubes I felt needed replacing.

The rogues gallery.

The rogues gallery.

  • the 6X4 showed several shorts. The replacement tube did not.
  • the 6U8 had next to no emission reading. The replacement read “good”.
  • two of the 6BE6 tubes had low emission readings, but the replacements read “good”.

There were a few of the other tubes that had low emission readings, but were consistent with readings from a sampling of replacements. I didn’t replace these. Most notable among this group was the 8BN8. This tube runs at a higher filament voltage, 7.5v, and I wonder if my tube checker is having problems maintaining the higher filament voltage.

With tubes updated, and re-capped, the rig sounds great. The audio is way up from before, in fact about 20% of the AF gain setting is a comfortable listening level with the same speaker. The diode detector now works – I can now find AM on 80 meters no problem. (Lots has been written about listening to AM on the 2B being somewhat sub-optimal, because the widest filter, 3.6 kHz, is rather narrow for AM. I don’t think I will be using the rig a lot for AM, but it’s nice to know it’s working.)

And the 40 meter CW subband is alive again! Lots of signals, and pretty good selectivity with the 500 Hz filter. It now sounds like a radio.

Photo of beautiful CW audio coming out of the refurbished 2B.

Photo of beautiful CW audio coming out of the refurbished 2B.

There is probably more work to be done on the 2B. I’m sure it could benefit from an alignment, and I’m looking into how best to accomplish that. The alignment procedures are simple, you just need an RF signal generator. I have a old analog tube model; I need to see if I can control its output levels well enough to use it for the task. That may be the subject of a future post.

I also have the matching speaker and Q-multiplier for the radio. The speaker works FB, the Q multiplier doesn’t do much of anything, but you can get it go into oscillation if you overdrive it. This piece of gear will probably be the subject of some future poking.

The weather is getting colder and wetter, making bench time look ever more attractive. There are lots of projects waiting in the wings, I’m looking forward to lots of chilly evenings spent snug in my workroom, tinkering.

73,
de N2HTT

 

Posted in Ham Radio | Tagged , , , , , , , , , , , , , , , , | 2 Comments

The QRP Blowtorch Rides Again

Summer in the Northeast is the perfect embodiment of the 80 / 20 rule: we get 80 percent of our outdoor activities in during the 20 percent of the year when the weather is nice. We really are having a lovely summer so far in New York, and as a consequence I am not spending a lot of time at the bench, or writing blog posts for that matter.

The emphasis has shifted to operating for me this summer, preferably out doors, portable QRP. My first efforts along these lines was a shot at sea side QRP CW from Cape May New Jersey early in July. Using a 20 foot crappie pole as a support, I put up a 20 meter end fed half wave antenna in a sloper configuration, and launched a mighty signal (about 2 watts) skyward using my FT-817 and a slew of NiMH batteries. I got curious inquiries, and actually some encouragement from passers by on the beach, but my signal was so puny I wasn’t even picked up on RBN. Also, there was S9+40 noise from some source near the beach, so I probably wouldn’t have heard a reply if there had been any.

QRP on the beach

QRP on the beach

And yet, it was really enjoyable to try. I view portable QRP efforts like fishing: sometimes you get a nibble, sometimes not, but the trip is always worth it.

The main story that has been unfolding this summer is that of setting up a new QRP station. It is something of an involved tale, so let’s go to the beginning and follow it along.

Back in April of last year, I was selling my HW-16 station via the PCARA club table at the OCARC hamfest. It was a complete station, including a VFO and a matching Heathkit speaker. A photo of the event appeared in our club newsletter, and my fellow club member and good friend Karl Zuk N2KZ had noticed the HW-16, and specifically the speaker, in the photo.

PCARA Table at 2014 OCARC Hamfest

The photo that started it all (by Malcolm Pritchard, courtesy of PCARA Update)

This April Karl sent me an email, asking whether I still had the speaker. As it turns out, by the time Karl has asked, the station was gone, but I had another similar speaker that was paired with an HR-1680 Heathkit receiver. Since I was intending to part with the HR-1680 anyway (the Heathkit gear is cool, but mostly too large for the spaces I have available) I offered the speaker to Karl gratis.

Karl countered with another offer: he had a homebrew, tube QRP transmitter that had been given to him, and would I be interested in a trade? Absolutely! Tubes, homebrew, QRP, potentially dangerous voltages, what’s not to like? So we agreed to a swap. Karl and I exchanged a few emails trying to set up a date to meet, but it wasn’t until the middle of May that we were able to post up.

Shortly after of Karl’s first email, I decided to re-arrange my QRP stack to use the HR-1680 receiver (but not the speaker) instead of the FT-817 with my tube transmitter. I was not having any success selling the HR-1680 anyway, might as well use it as part of the station. It just fit in one of the cubbies of my operating desk — and that was better than letting it take up space on the floor. Hooked up to the Magic Box (t-r switch), it played nicely with the 2-tube transmitter.

HR-1680 in the QRP stack

HR-1680 in the QRP stack

The month of April and part of May sped by, and finally Karl drove by my place one Saturday and dropped off a bankers box containing the rig and some documentation from the original builder. It was bigger than I expected, and two pieces: a 250v power supply, and the actual transmitter itself. It was impressive – not the least because it sported a prominent label, in large red letters, reading “DANGER HIGH VOLTAGE” right in front. This was a serious rig.

The QRP Blowtorch

The QRP Blowtorch

The rig had a name: The QRP Blowtorch. The documentation, written by the builder of the rig, Stan WB2LQF, was detailed, including copies of the original articles that inspired the rig, and a journal entry from Stan with his thoughts about it, including observations about what needed improvement.

The rig is an implementation of design from an article in the January 2003 QST, entitled “The Two Tube Tuna Tin Transmitter (T5)” by Steve Johnston WD8DAS.

It was a classic MOPA design, using the same two tubes as my 2-tuber: a 6C4 oscillator, and a 5763 final amplifier. In fact, the guts of the two circuits are almost identical. It came with a clever power supply made from two filament transformers back-to-back, using a diode voltage doubler to produce a B+ voltage of 250v. The article claimed an output of 5 – 8 watts. I’d be thrilled with five.

I figured I might do some checkout on it, and maybe the two mods Stan mentioned in his notes, and then take the rig up. Putting it on the bench for checkout revealed a very competent point to point wiring job, and no surprises. Everything looked ship shape, I would have no qualms about firing it up.

Stan had mentioned in his notes that he intended to add some more filter capacitance to the power supply, and possibly to the output tank as well. I ordered a couple of caps from Mouser and added them to the PS, but I wound up not do in anything to the tank. It seemed to be to be loading up just fine on 40 meters, so I let it be for now.

Additional filter caps strapped on

Additional filter caps strapped on

My immediate impression was that the rig was too big to try to incorporate into the QRP stack, with the two bulky boxes and interconnecting cables. We are fortunate enough to have a vacation home in central New York state, where presently I have no station set up. The QRPBT seemed a likely candidate to become a permanent second station at the up-state QTH.

Upstate QTH - Flamingo garden

Upstate QTH – Flamingo garden

To set up a permanent station, I would need three additional items:

  • a receiver,
  • some kind of T-R switch,
  • and an antenna tuner.

The T-R switch was easy: MFJ makes a simple unit with RF-sensing, the MFJ-1708, that got good reviews on eHam. Looked like just the thing, and I ordered one forthwith.

MFJ-1708 T-R Switch

MFJ-1708 T-R Switch

The receiver was another matter. Having just committed the HR-1680 to use on the QRP stack, I needed to figure out something else. I was fresh out of receivers. So taking this as a cue to go shopping, I started to look around on the classified ads and eBay, deciding that a vintage tube receiver would be just the ticket. There are lots of boat anchor receivers out there to be had, but the one that kept floating to the the top of the searches was the Drake 2B. (Or 2A, I’m not picky.)

This receiver seemed to offer many plusses:

  • It is relatively compact for a tube rig.
    (The typical Hallicrafters receiver takes up a standard parking space, including the matching speaker.)
  • They are very highly regarded, positive reviews abound.
  • They are plentiful. If you can’t find one on eBay, wait 5 minutes.

I started looking.

I didn’t have to look long. Several classified ads and eBay auctions later, I found my new (old) receiver. In nice cosmetic condition, and good operating order, a working Drake 2B arrived soon. What a lovely receiver. I set it up, hooked up antenna and plugged it in, and began to explore 40 meter CW with it. I was sold.

My 2B was made around the mid-sixties, about the same time as the original QST article that described my 2 tube transmitter came out. They are a good pair, and I decided to keep the 2B in the QRP stack, and move the HR-1680 upstate. I expected to have to do major surgery to the operating desk, but it turned out that simply popping out one shelf did it.

Drake 2B in the QRP stack

Drake 2B in the QRP stack

Okay, so transmitter, check; receiver, check; t-r switch, check; the only remaining item was an antenna tuner I could leave upstate. Back to the ads.

This time, I found the field on eBay to be a tad expensive for my tastes, but a nice MFJ-941c turned up in the classifieds for cheap and I jumped on it. The 941c is not without its faults, but it serves perfectly in the new station.

The QRP Blowtorch in its new home

The QRP Blowtorch in its new home

So finally, in mid-July, the QRP Blowtorch made its debut. On Sunday 7/26, after hanging around on 7.054 for a while, I called WO1W, Gene in Rhode Island, and we had a brief but solid QSO lasting about 10 minutes. Gene gave me a 589, which pleased me greatly, and the QRP Blowtorch had indeed ridden again.

There are several weeks left to the summer, and I am looking forward to making a several more QSOs as the warm breezes waft in through the shack window, illuminated by the glow of those tubes.

The glow.

The glow.

73, de
N2HTT

Posted in Ham Radio | Tagged , , , , , , , , , , , | 6 Comments

The other display.

Back in March, around the time I had received my SI5351 breakout board kit from EtherKit, I ordered a new Arduino board to use with it. I knew I would need some kind of display, but to date had not experimented with any of the common displays used with these micro controller boards. I did a bit of Internet shopping, and finally settled on two: a tiny but attractive looking OLED display, and a more traditional 20 character by 4 line backlit LCD. All this stuff arrived before I had gotten around to building the SI5351 board, so I had a chance to play with it in advance.

I was originally more interested in the 20×4 LCD. It was big and bright, and it was easy to get going using a sample LCD sketch I found on the web. The only drawback was the number of pins — the parallel interface to the display uses 7 (!!) pins to write to the LCD, and a small potentiometer to control the contrast. That’s a lot of pins, and there were wires all over the place.

20x4 LCD display as they are found in nature

20×4 LCD display as they are found in nature

The little OLED display seemed less straightforward, but I was lucky in that the model I bought on Amazon was very similar to one sold by Adafruit, and there was a display library and sample sketches readily available. My display was on a different serial address than  the normal default, but there was lots of documentation and it was fairly easy to get the example sketch working.

128x64 OLED display

128×64 OLED display

And, the OLED only needed 2 pins plus power and ground to work. It was a huge improvement over the LCD, and once the test sketch worked, I put the big blue LCD aside and worked on my VFO sketch using the OLED display.

Of course, the magic that allows the OLED display to use so few pins is the serial bus standard called I2C. It is very popular and well supported, and many devices (like the SI5351 board) use it. It is widely available on micro controllers like the Arduinos, and can even be found on the Raspberry Pi’s, Being a bus, those two wires can support many devices simultaneously in the same sketch as long as the devices are set to different I2C addresses; this is exactly the situation in my 3 Band VFO sketch, where those two pins, (called SDA and SCL) talk to both the display and the SI5351 board.

Well after several weeks of working on the 3 Band VFO sketch (see the last few posts for details), I was pretty much done with it, but I kept wondering what I would do with that nice big blue display. Since the start of this project I have learned a great deal more about displays than when I originally purchased my two. I know now that many of the large LCD displays sold come with an I2C adapter board attached, which allows I2C serial communication (2 wires) from the microcontroller to the adapter. In turn, the adapter fans the signal out to the correct parallel pins to drive the display. These little adapter boards are referred to as “I2C backpacks”, and there are two or three types commonly used.

From my casual shopping, I found that there isn’t much difference in price between an LCD with/with out backpack, which made me kinda wish I had known about this when I made my purchase. It occurred to me that it might be possible to buy the backpack board separately, and retro fit it to my LCD display. Checking on Amazon, I found one backpack board for sale, but at around $12 it didn’t seem worth it — that was more than I had paid for the display. eBay to the rescue; I found a seller who had the backpack boards for about $2 a piece. True you had to by five, but hey, they’ll probably come in handy again some day. I couldn’t pass up the deal.

My backpack board(s) arrived surprisingly quickly. There was some simple assembly required: a 4 pin, 90 degree header gets soldered to the input pins of the backpack (Vcc, GND, SDA, SCL), then the backpack slips over the 16 pin header on the LCD display and is soldered in place. There is a tiny pot built into the board for a set and forget contrast setting. Quick, sturdy, and foolproof.

"Backpack" I2C adapter  board installed on my 20x4 LCD display

“Backpack” I2C adapter board installed on my 20×4 LCD display

Finding software to drive the my new serial LCD display was easy as well. Some quick Google searching lead me to this excellent wiki site with complete details on interfacing the I2C backpack to the LCD display. It was here that I learned about the three types of backpack board. I identified mine, and got all the details on how to configure the display library.

The display library was recommended by the wiki site is the LiquidCrystal_I2C library written and maintained by F Malpartida. I have come across many references on the net to this library, it is apparently the one to use. The code is distributed under a Creative Commons license, and is available from BitBucket.

The test sketch worked immediately, and I was talking to my new big blue display over only 2 wires. The next step was to integrate it into the 3BVFO sketch. My class design for the 3BVFO is intended to allow easy expansion to new displays or libraries as I come across them. This is accomplished by using a base class which defines the high level methods needed to talk to the display. The main sketch uses these methods only, and is unaware of how they are implemented. The first version of 3BVFO had one child class to run the OLED display using the U8glib library. To add LCD support, I derived a new child class for the LCD and LiquidCrystal_I2C library. The fact that this code handles the display in a completely different fashion than the OLED class is hidden from the main sketch, which could care less. The beauties of object oriented programming, and encapsulation!

VFODisplay class hierarchy

VFODisplay class hierarchy

There is a difference however, in programming a microcontroller as compared to a full size computer. In an Arduino sketch, memory is limited, and every byte counts. So an object oriented program intended for a full sized computer would contain code to handle all display implementations, and your program would create the display object you needed and ignore the rest. In a micro controller, we don’t want all that unnecessary code laying about, for the display we’re not using. The solution to this problem is a programming feature that is familiar to anyone who has coded in the C or C++ languages: compiler pre-processor directives.

Pre-processor directives are instructions to the C++ compiler, which inform it on how to manipulate the source code before it is compiled. The one pre-processor directive that everyone has seen is the #include command. This command instructs the compiler to find the file named after the #include, open it, and insert the text from that file, byte for byte, at that spot in the program. This is a huge advantage — imagine having to cut and paste code from all the #include files manually into your sketch before it would compile.

There are a large number of pre-processor commands, and I’m not going to delve into all of them here. But there are just four that I use to enable easy switching between the display types in the sketch. They are #define, #ifdef, #else, and #endif. With these commands it is easy to create blocks of code that are conditionally compiled – that is, only added to the sketch if the pre-processor settings require it.

The general structure of conditionally compiled code looks like this:

#define SOME_SYMBOL

. . .

#ifdef SOME_SYMBOL
    do_this();
    . . .
#else
    do_that();
    . . .
#endif

In the example above, because the symbol SOME_SYMBOL is defined earlier in the code, the block of lines starting with do_this(); will be compiled and the lines between #else and #endif will be discarded. If the #define was commented out (or removed):

// #define SOME_SYMBOL

Then the lines starting with do_that(); will be compiled, and everything between #ifdef and #else is discarded. Note that it is not that the lines not chosen are skipped – they are actually removed from the program. And any flash or RAM memory that might have been used by them is not used.

In the main file of the 3BVFO, right at the beginning, you will now find two sets of #defines

One set compiles the OLED display code, the other set compiles the LCD display code. Choose the display you want by commenting out or deleting the #defines for the unwanted display. Of course, only two defines, one or the othe pair, should be defined. Any other combination will result in compile errors, or at very least confusion.

Here’s what is looks like when we are using the OLED display (the default setup):

#defines set to compile OLED display code

#defines set to compile OLED display code

and here is what it looks like if we want to build it for the 20×4 LCD:

#defines set up to compile LCD display

#defines set up to compile LCD display

One additional benefit of the new LCD display support: with the LCD, the sketch will now run on an Arduino Leonardo or clone. These tiny boards have 32 kb flash memory, but 4 kb is used for a special flash loader programming, leaving not enough flash for the OLED display version. But the LCD code is much smaller, and it fits the Leonardo just fine.

3BVFO on 20x4 LCD Display

3BVFO on 20×4 LCD Display

The latest 3BVFO sketch can be found on github here.

This may be it for the Arduino part of this project. I’ll have to start building some circuits around the 3BVFO and turn it into a real radio.

73
de N2HTT

Posted in Arduino, Ham Radio | Tagged , , , , , , , , , , | 3 Comments

More software, less radio.

My recent foray into the world of software defined radio, the SI5351 based 3 Band VFO (3BVFO), has been a fun project so far, but I have to observe that since it is mostly software, it is mostly acting like a software project. That is, every time I think I’m finished, something new comes up, or I think of a better way to implement it, and we’re off to the races again. So although I have some hardware projects waiting on the bench, this last week I found myself once again wrestling with Arduino and teensy, little displays.

This iteration started with comments from Joel, KB6QVI and Jason NT7S, who both graciously tried out my sketch and offered feedback. The behavior they reported caught me by surprise, because I absolutely did not see it on either the Arduino Mega 2560 or Uno boards with my little SSD 1306 OLED display.
(My incognizance was not at all unusual; I have worked in the software business for quite a while, and experience has made it painfully clear that the developer of a piece of code is the person least qualified to find problems with it.)

Anyway, both Joel and Jason reported that the display appeared to flicker, especially if moved, and in photos only a portion the display showed up. I tried to see this effect – waving the display around, moving my head while changing the frequency with the encoder. Nada. Rock solid. I had even photographed the display and got the whole thing, but that was using my phone, where I have no control over the shutter speed.

0.96" OLED display, not showing problem

0.96″ OLED display, not showing problem

In any event, I was pretty sure that even though I couldn’t see it, there really was a problem. Since the reports of flickering seemed to start after I had replaced the Adafruit display library with Google’s U8glib, it seemed like the U8glib documentation was a good place to start looking.

As I mentioned last time, the Google library uses a somewhat different approach to painting the display, a loop instead of single display function. And, the Google library takes up much less SRAM (and much more flash) than the Adafruit code. Something different was going on under the hood, I wanted to find out just what it was.

I went back to the U8glib wiki page, and started to poke about. I found a promising looking page entitled “Details on the Picture Loop”. Since it was this looping call mechanism that seemed most different to me, that seemed a good place to start. It turns out that this page succinctly explains all the observed behavior. And it suggested a possible, immediate solution. I’ll summarize my take-away here.

Some display devices do not allow reading of data back from the device memory. For that reason, a buffer must be maintained in the micro-controller’s RAM holding the contents to be displayed. But RAM is a scarce resource on many micro-controllers. U8Glib is designed to accommodate both of these constraints.

U8glib requires the developer to create a single function that displays the entire screen. This function contains all the commands needed to paint the screen, and it has to produce exactly the same image every time it is called. Here is the display function that paints the frequency increment screen:

Example of display function used with U8glib

Example of display function used with U8glib

Using such a function, it is possible to divide the display into regions, and paint one region at a time. Repeated calls to the display function, once for each region, creates the entire image in a sequence of frames. You can see a nice graphical example of this at the wiki page linked above.

This approach allows the use of much smaller RAM buffers, but necessitates multiple passes to display the entire screen. It relies on the persistence of each successive image blending together to create the complete screen.

While this is very resource efficient, it has some drawbacks:

  • The content displayed on the screen cannot change while the screen is being displayed. Changes can only occur between screen paints, e.g. outside the picture loop. This means any global variables referenced in the display function must not change while the picture loop is running.
  • It makes true animation nearly impossible
  • It can cause visible flickering, as in the case of the displays that Joel and Jason were using.

As a result of multiple passes, the effective frame rate is the frame rate of the display is divided by the number of passes to complete the image. It explains why photographs of the display showed only a portion – the camera shutter speed was faster than the display.

The solution to the problem is also built into U8glib. As mentioned in the prior post, the library comes with a dizzying array of constructors, supporting a wide variety of displays. Looking back over the include file, I now noticed several different constructors for each display type, varying the size of the SRAM buffer and the number of display passes. This places the SRAM vs. frame rate choice in the developer’s hands. You decide the critical factor, and pick the constructor accordingly.

In my first implementation I chose the constructor U8GLIB_SSD1306_128X64, that uses the smallest buffer, and the most number of passes to paint the screen. But there also is a constructor called U8GLIB_SSD1306_128X64_2X. This constructor increases the buffer by 128 bytes SRAM, and halves the number of display passes. Even with the additional SRAM, the sketch still loads on my Uno. A quick check with Joel confirmed that the flickering was much improved with the new code.

I have set up the code to default to the 2X constructor, but you can uncomment a define at the top of the main sketch file to revert to the old one.

Uncomment define to use smaller display buffer

Uncomment define to use smaller display buffer

This latest version of the code is currently available on github here.

When the sketch finally settles down and stabilizes, I’ll have to decide what I’m going to use this thing for. My initial thought was a 3-band QRP CW transmitter, and I think it would work very well for that purpose. But then, I have quite a few nice little transmitters that I have gotten working now, maybe a 3 band receiver would be more useful. I’ve been working on ideas for a regen, but I think maybe a direct conversion receiver based on the SI5351 would be a good application. The receiver would be a bit more complex than a transmitter, and my understanding of the receiver circuits is less crisp. Both these factors might make for a more interesting project.

Integration of the VFO into a complete project will also likely require switching between clock sources, and possibly filters. While this could be done mechanically, it seems silly to use a computer to switch frequencies but have to manually route circuits. The easy alternative would be to use relays controlled by the sketch to do the switching under software control, but this would add more code to an already tight sketch – unless I commit to using the Mega. Then there’s space for switching, and even more features. Maybe that makes sense in a more elaborate project. There are a lot of questions to answer.

I’ll be building some of the discrete circuitry that will surround the 3BVFO on and off in the coming weeks, we’ll see how it shapes up. And there still are some tube experiments hanging out to get back to…

73,
de N2HTT

Posted in Arduino, Ham Radio | Tagged , , , , , , | Leave a comment

Not a tube project, version 1.1

This is just a brief update to last week’s post about the 3 band VFO sketch for the Si5351 breakout board and Arduino. Software never stands still….

Working with Joel Caulkins, KB6QVI, who generously expressed an interest in the sketch last week, we discovered that although it sure looked like it would run on an Uno, it didn’t.

I did all my testing on an Arduino Mega 2560, the 800 pound gorilla of Arduinos, which has significantly more flash memory and SRAM than the gold standard, the Uno R3. Although compilation reported that there would still 300 bytes or so of SRAM available on the Uno (with 2kb SRAM), it probably wasn’t enough to support the stack needed to run. The sketch just hung on the Uno.

A little investigation revealed the culprit: the Adafruit display libraries I was using consume rather a lot of SRAM. Really a lot. Lots. The clear choice was to switch over to the popular Google U8glib display libraries for 8bit processors.

The Google code seemed a little daunting at first, but only because it supports every display ever built (and possibly some that are only being thought of at this time), so the most difficult step is choosing the correct constructor for the display you are using. Luckily for me, the little 0.96″ OLED display I chose is very popular, and I quickly found several tutorials which cleared up the matter of the constructor and initialization quickly.

The structure of the Google code is a little different that that of the Adafruit – a little less linear in that the actual displaying of the screen runs in its own loop. At first I thought you needed to do this once per Arduino processing loop – that is not correct at all. Actually, instead of calling a “show” method once, you just implement the little display loop at the point where you want the display to change.  A little refactoring of the classes I had written for the Adafruit library, and U8glib slid neatly into place.

Another difference is that U8glib is more pixel oriented. There is a drawStr() method to allow printing text to the display, but it didn’t seem to support a newline. Instead I had to explicitly position each line of text using the setPrintPos(x,y) method. Not a big deal once I got used to the idea, just different. The library also supports the familiar print() and write() methods, similar to those of the Serial object, but I suspect these are just wrappers around drawStr().

In addition to being much more economical in its use of SRAM, U8glib offers a staggering number of fonts, sizes and styles of print to choose from. Check the font wiki page for more information on this – I am quite pleased with the resulting print which looks much better than the Adafruit display in my opinion.

To verify the new sketch, I slapped an Uno on my breadboard, disconnecting the Mega

Now with Uno R3 support!

Now with Uno R3 support!

A little messy, but effective.

Code for the new is uploaded to github, and can be found here.

The Google U8glib, in all its glory, resides here.

And I am going outside to build a wire antenna for 17 meters, it’s a beautiful day.
Enough software for now.

73,
de N2HTT

 

 

 

 

Posted in Arduino, Ham Radio | Tagged , , , , , , , | 1 Comment

Definitely not a tube project.

Lately I have been having lots of fun working on a variety of different bench projects, all involving very different technologies, switching between them as parts arrive and time allows. I have been experimenting with space charge tubes, with the goal of building a low voltage regen receiver. Also in progress is a classic VXO controlled CW transmitter, using standard through-hole components. I have had a copy of W1FB’s “QRP Notebook” for two decades, but it is only in the last year or so that I have felt capable enough of trying some of these classic projects. It would be really cool to build a CW transmitter capable of operating on more than one crystal controlled frequency. This might evolve into an actual transceiver some day, who knows?

But very recently I became intrigued when I heard of NT7S, Jason Milldrum`s Indiegogo campaign to crowd fund a breakout board for the SI5351 clock generator chip. This chip has been getting a lot of ham radio press lately. It is capable of generating up to three simultaneous, high precision RF signals, in a range of 1 – 160 MHz. It is easily controlled by any microcontroller or computer which can communicate using the I2C bus standard.

I2C is widely supported, and in particular by the Arduino family of microcontroller boards, and the Raspberry Pi among others. This makes building a DDS VFO totally a snap, and the range of other projects possible is pretty vast.

I jumped in with a contribution for a kit. The campaign exceeded its goals by a wide margin, and soon (beginning of March I think) my board kit arrived. At the time, I was working on some of those other projects, and my only Arduino board was permanently embedded in a completed project (The DFR), so I put the kit aside until I could get my hands on another Arduino to start experimenting.

I decided to commit this new Arduino to permanent, breadboard duty. I will use it for development, and then transfer any code and hardware to a permanent installation with another Arduino, preferably the smallest, cheapest board that will run the code. So, for my breadboard I went all out and bought a Mega 2560. This bad boy has 256kb flash memory, and 4kb SRAM, not likely I will run out of room in my sketches like I did with DFR on the Uno. However, for the SI5351 project I am definitely going to stay to the small-resource end of the line; hopefully the code I wind up with will run on an inexpensive Nano.
(Update: now that the code is done, I got it small enough to run on any Arduino with 32kb flash memory. This includes most of the ATmega328 based boards, but regrettably not the Nano.)

My breadboard is built on an eco-sensitive, sustainable, bamboo cutting board that cost about $5 at our local supermarket. I didn’t know it at the time, but it turns out that bamboo drills very nicely, and is very rigid for its thickness. It makes a very stable platform for the Arduino and surrounding lash-up. On of the things that was a bit annoying working on the DFR project was having the Uno with a tangle of wires going to a separate breadboard – the slightest jostling caused jumpers to fall off, and I dragged the whole thing off the desk more than once by snagging a wire. No, having all the bits anchored to one solid platform makes things much easier.

I recently came across, quite by accident, an article in the December 2013 QST, “Modern Breadboarding Tools and Techniques”  by Richard Barnett, N9NP, where he talks about various breadboarding techniques. I have always thought those plug-in plastic breadboard blocks were basically unusable at RF frequencies, because of all the stray capacitances, but Richard suggests mounting the blocks on copper clad PCB board to provide a good ground plane, and ground the dickens out of it. Also, keep the components connections separated by two or three rows to minimize capacitance from the connectors.

Sounded good to me, so my bamboo breadboard sports two breadboard blocks mounted on PCB. The two sections are well grounded and interconnected by a bridge of PCB which runs under the Arduino. At the time of this writing, I haven’t tried any RF circuits on the breadboard blocks yet, so all the returns are not in. It looks cool, though.

My goal for the SI5351 was to set up a 3-band VFO, with a user interface that would allow selecting the band, and using an encoder to adjust the frequency. This would give a kind of 3 register “memory” effect – each channel on the SI5351 would retain the last frequency setting and jumping between frequencies would just be a matter of pressing a button to select the channel.

One of the really cool things about software defined radio, is that you can write the software without actually having the hardware for the radio. So, even though I hadn’t built the SI5351 breakout board yet, I started right in on the UI with the Arduino breadboard. The user interface would consist of one button to cycle through the three channels, a rotary encoder to adjust the frequency of the current channel up or down, and using the built-in switch on the rotary encoder, a selection of how fast the frequency changes per pulse on the encoder. This would allow easy large excursions, and precise small ones. Nothing is more tedious than moving from 7.0 MHz to 7.2 MHz in at 24 Hz per revolution.

The UI would also have to include some kind of display. I found two inexpensive candidates on Amazon – a 2 line x 20 character LCD, and a tiny but very legible, graphics-capable  OLED display (128×64 pixels), which also uses the I2C bus. I wound up going with the OLED display – it only takes 4 wires to interconnect, as compared to 10 for the LCD (a  parallel rather than serial interface.) Here you can see the entire lash-up including the SI5351 board:

Arduino prototyping board in action.

Arduino prototyping board in action.

Code for the UI came from several sources. I decided to manage the switches by polling them in the Arduino code loop. There is not too much going on in the Arduino in this application, so the code loop doesn’t have to operate too fast. A 50 millisecond loop time was more than sufficiently responsive for the button presses. An additional reason for polling the buttons is that I have some library code developed for the DFR that wraps all the debouncing and polling logic. This code can also distinguish between a short press and a long press on each button – initially I did not plan to make use of this feature, but later decided to add two functions – classic feature creep.

Rather than poll the encoder, I decided to use hardware interrupts to read it. This gives much better resolution and allows handling the encoder at a faster rate than the main code loop. The code I wrote for it was a distillation of several example sketches I found online – it seems to work well in this context with no dropped counts. The encoder I used came from Mouser; it cost less than $2 per piece, and seems to work well. I found a reference to it in another project: N6QW Pete Juliano’s “Belthorn III QRP SSB Transceiver”, (video here) and decided to give it a try. It works very well.

Code for driving the ssd1306  OLED display comes from two Adafruit open source libraries. These libraries also support a wide variety of graphical effects, which I did not take advantage of in this sketch. The only caveat using these libraries is that the code initializes the display with the Adafruit logo – you have to explicitly clear the device before writing anything to display. It was easy to figure out the display calls, looking at the example sketch which pretty much exercises everything in the library.

A note for you programmers out there: interestingly the Adafruit library code does not include the guard macros commonly found at the beginning of the .h include files. These macros prevent redefinition errors if the include file is included in the source code more than once. If you inadvertently do include the Adafruit headers more than once, you will get compile errors that look something like this:

Error when Adafruit ssd1306 includes appear more than once in a sketch

Error when Adafruit ssd1306 includes appear more than once in a sketch

The simple fix is to find and remove all but one set of Adafruit includes.

One other note on the Arduino sketch: I structured this code to make it easy to replace the libraries for driving the display and the SI5351, if you wish to try something else. Reference to all of the third-party code is accomplished via an abstract base class, and an implementation class. For example, the main sketch points to a class called VFODisplay, which defines all of the display functions, but the actual calls to the Adafruit library are in a class derived from VFODisplay called ssd1306_VFODisplay. So, if you if you wanted to use a different display library, or a different type of display altogether, all you need to do is derive a new class from VFODisplay with the appropriate code for your setup defined for each display function.

Okay, if you are not an Arduino programmer, and that last paragraph didn’t make any sense, just ignore it. If you use the same hardware and libraries I used, all will be well.

You can purchase the SI5351 breakout board kit from Jason’s company, etherkit.com. Documentation, and links to the library code for the board kit can be found on this page. Code for the SI5351 chip comes from Jason. It is well documented and it is clear how to drive the chip. Integration into my UI was easy, and the entire set up is working nicely as breadboarded.

Here is a Youtube video with a short demonstration of the “rig”

The code for my sketch hosted on github You can download it here. The easiest way to install it is to download the zip file. Extract the zip file on your computer, and copy the sketch and library folders to your Arduino sketchbook. My code is released under a GPL 2.0 license, you are free to use it and modify it as you like, but anything you do with it must remain open source.

My github repository does not include the other libraries you will need to run the sketch. You can find the device libraries at their respective download locations:

Si5351Arduino from etherkit.com
Adafruit_SSD1306

This really is amazing technology. The path from parts to a very sophisticated VFO has never been shorter.

73,
de N2HTT

Posted in Arduino, Ham Radio | Tagged , , , , , , , , , , , , , , , , | 12 Comments

Is there a pentode in the house?

I’ve had a little ham radio down time, as this relentless winter rewarded me with a late winter virus that laid me low for a few days. But, back on my feet and at the bench again, with some new experiments for the low voltage tube regen (LVTR) and other projects.

As I described in the last post, the original LVTR plan of using half of a 12SN7 dual triode as an initial RF amp stage is a non-starter, because the inter-electrode capacitances of the triode become a problem at RF frequencies. Hollow State Design shows instead several examples of RF stages using pentodes, which exhibit less of the capacitance problem. I decided to try one of those, and set off to eBay to go shopping.

The 12EZ6 “space charge” tube seems like the ideal candidate for this task. Designed to run both the plate and the filament from 12 volts, my requirements fall smack in the middle of the tube’s design parameters. This makes it much easier to estimate the component values needed in the circuit. I quickly found several sources for the tubes, and purchased a couple for about $4 each, shipped. When they arrived, they tested strong on my Hickok 6000a tube tester.

12ez6 data sheet

12ez6 data sheet

I decided to try an impedance coupled, common cathode broadband RF amp with the 12EZ6. The use of a choke to provide the load impedance is really rather clever: as the frequency increases, the impedance of the choke goes up, resulting in higher stage gain. This compensates for higher losses in the tube at higher frequencies. The low DC resistance of the choke allows the operation of the plate at close to the source voltage, Pretty cool for no moving parts, no?

The RF amp design worked up like this:

Common cathode RF amp with 12EZ6

Common cathode RF amp with 12EZ6

Based on the calculations, the stage gain should vary from about 1 at 0.5 MHz to 102 at 30 MHz, Sounded promising, although value of 102 is not realistic; the stage gain at higher frequencies actually drops below 1 because of losses. I chose to use a 200uH choke, because I have a bunch of them. I also have some 2.5mH which I tried as well, but increasing the load impedance did not seem to make much difference in the output signal level, so I stayed with the 200uH part.

Since the 12EZ6 is a compact 7-pin tube, I had to put together another “breakout” board with a 7-pin socket. These things make it very easy to lash up tube circuits for prototyping. Here`s what the circuit looked like when done:

12EZ6 on the 7-pin breakout board

12EZ6 on the 7-pin breakout board

Overall it performed much better than the triode, the output waveform looks very good. Output from triode at RF looked pretty distorted. Also, the impedance coupled pentode did work better at RF frequencies than the triode did. But… still not where I would like it to be. In the following photos, the image on the right shows the input from my trusty, rusty signal generator. The one on the left shows the output from the 12EZ6 plate. Since the signal generator amplitude varies inversely and considerably with frequency, it’s necessary to compare input and output images side by side. In all of these images the settings on the scope are unchanged.

At 500kHz, some positive gain as predicted by the calculated values.

12EZ6 input/output at 0.5 MHz

12EZ6 input/output at 0.5 MHz

At 1.0MHz, we have lost about half the signal.

12EZ6 input/output at 1.0 MHz

12EZ6 input/output at 1.0 MHz

At 3.5MHz we have lost about 3/4 of the signal

12EZ6 input/output at 3.5 MHz

12EZ6 input/output at 3.5 MHz

At 7.0MHz we have lost about 7/8 of the signal

12EZ6 input/output at 7.0 MHz

12EZ6 input/output at 7.0 MHz

At 14MHz, what signal?

12EZ6 input/output at 14.0 MHz

12EZ6 input/output at 14.0 MHz

It doesn’t look like this configuration is a candidate for the final design of the LVTR.

Of course, I’m wondering if it is possible to do better. I haven`t tried a grounded grid circuit yet with the 12EZ6 – I don’t know if there is any reason to avoid these using a pentode. I haven’t found any examples of this circuit yet.

Another possibility would be to used tuned coupling. These circuits use a tank for the load impedance, tuned to the frequency you wish to pass. The tube capacitances become part of the tank capacitance, and so are tuned out. Could this explain the popularity of TRF (tuned radio frequency) receiver designs in the 20’s and 30’s?

Originally I had thought I wanted to avoid this approach, wanting a broadband, un-tuned first stage. But, thinking about it, I expect to need to have changeable, plug-in coils for selecting the band of operation, Why then not have a tuned “pre-selector” circuit in the RF stage? Maybe a bandswitch that selects inductances for the tank of the RF amp, along with an adjustable cap?

More research is needed along these lines, so experimentation with the 12EZ6s will continue. In the mean time I have some other projects in progress, and I just heard from Dave AA7EE about a single tube LVTR based on the 12AL8 space charge tube. Lot’s of good stuff to think about!

73,
de N2HTT

Posted in Ham Radio | Tagged , , , , , , , , , , , , | Leave a comment

Mysteries of the Triode Revealed.

Update:

My understanding of inter-electrode capacitances was incorrect as described originally in this post, and I wanted to set the matter straight before I confuse someone else: The small inter-electrode capacitances in the tube present less and less reactance as the signal frequency increases. At RF frequencies, this reactance becomes small compared to the plate resistance, and provides a parallel path for the signal to bypass the plate resistance and head straight for the exit. So less and less of the signal is actually amplified as frequency increases.

Although triodes do suffer strongly from this effect, it can also be a factor in other tube types. Using a choke instead of a resistor for the load tends to offset this effect: as frequency increases the choke’s reactance increases, which increases the gain of the stage. This offsets the loss of signal to the lower reactance path provided by the i-e capacitance. More on this in the next post about a pentode RF amp.

Having said that, I know I feel better. Now back to the original post. Ignore any nonsense about shorting to ground.


 

After finishing the Cubic Incher, I have returned to working on the first stage of the Low Voltage Tube Regen (LVTR).  I have been using Grayson Evans book, Hollow State Design, and trying to nail down the computations for the grounded grid amplifier. I’ve alluded to the fact that the results so far have been less than spectacular, and I will return to that in moment. First I want to tell you about how these calculations have re-acquainted me with an old friend, and caused me to view it with new respect.

The computations needed to determine the components of the grounded grid amp involve repeated use of of several familiar formulas: Ohms law, the reactance of a capacitor or inductor, parallel impedances, etc. as well as some new unfamiliar ones, like the stage gain of a tube amplifier as a function of the load and plate resistance. All of these require correct units as well, engineering notation is a must (where all values are expressed as a mantissa and power of 10 that is divisible by three, you know milli, centi, kilo, mega etc.). This is especially important for capacitors. Picofarads are 10-to-the-minus-12 Farads, converting to nanofarads and microfarads continues to confuse me and I always have to check my work with some online conversion page.

Anyway, back in the day (before smart phones) I have had a series of programmable scientific calculators. I always preferred the HP line of calculators, particularly because the sported an advanced feature called Solver. Solver was great – you entered an equation, which the calculator would parse for you and display all the variables as soft entry keys. You’d enter all of the known values, and press the soft key to compute the unknown. If the equation was not deterministic, Solver would use some iterative numerical method to approximate a solution. How slick is that?

Well my HP calculators are now all gone. And I can hear the welling chorus (mostly my kids) saying: there’s an app for that. And there are; you can emulate the old programmable calculators of yore, or find purpose-made apps for doing most of the calculations I need. But it just isn’t the same on a phone. One real problem is that my phone is almost always low on charge, maybe I need a new battery. There is something comforting about a calculating device that will run on 4 penlight batteries indefinitely.

Although I have no HP calculators kicking about, I do happen to have a couple of TI graphing calculators: a TI 83Plus, and a TI 82. The newer one was my son’s in high school – required for a math course and abandoned when the course was over. The 82 I picked up at yard sale for $5. I never cared much for the TI calculators – thinking that the user interface was clunky compared to that of the HP’s. However, it’s what I have available, so I spent a week programming the functions I needed on the TI 83.

My respect for this calculator has soared. Once you get the hang of the UI (reading the manual at least once is a requirement), it really is a very well thought out and capable calculating machine. I wrote several small programs that allow selection of what you want to calculate, and then prompt for the dependent variables. Homebrew Solver. It took some effort, but I am very pleased with the result.

First menu of TOROIDS program: pick your core.

First menu of TOROIDS program: pick your core.

Second menu of TOROIDS program: what do you want to calculate?

Second menu of TOROIDS program: what do you want to calculate?

It also turns out that the TI 83 has a Solver function that works very similarly to that of the HP calculators, but only allows storing one equation at a time. It’s in the MATH menu, on the second page, where no one is likely to stumble across it.  Who knew?

TI-83+ Solver function, working on T= RC (time constant calculation)

TI-83+ Solver function, working on T= RC (time constant calculation)

Armed with my new computing friend (which handles engineering notation, and complex impedances transparently by the way) I proceeded to munge through the triode design examples in “Hollow State”, until I felt I had gotten everything figured out, and all the components for a grounded grid amplifier picked out. My design parameters are:

  • Class A operation, near unity gain
  • 12 volts on the plate
  • broad band operation over a range of 0.5 – 30 MHz
My schematic for the triode grounded grid amplifier.

My schematic for the triode grounded grid amplifier.

In going through the calculations, and looking at the characteristic curves supplied from the data sheet of the 12SN7, it was clear that I was going to be operating the tube in the fringes of its design domain, but it looked like it could be possible.

Plate characteristics of the 12SN7. Notice my design lurking in the lower right corner.

Plate characteristics of the 12SN7. Notice my design lurking in the lower right corner.

Detail of plate curves, showing my design in the weeds.

Detail of plate curves, showing my design in the weeds.

In order to test this circuit, I built a “breakout box” test bed for an octal tube base. This fixture allows me to make all of the connections by screw terminal, no soldering required. Also, I can separate the + voltage to the heater and plate, to allow trying higher plate voltages.

Octal tube base test bed.

Octal tube base test bed.

I hooked it up, and….. Not so good.

Originally I was using a little signal generator (an Elecraft kit Note: they no longer make the single band version I have, now it does 20, 40 and 80.) intended as an S-meter calibration tool, outputting 50 microvolts at 7.040Mhz as a calibration point for an S-9 signal. It was just disappearing in the output. Okay, maybe a bigger input signal would let me see what was happening a little better.

Vintage RCA signal generator.

Vintage RCA signal generator.

I have a vintage RCA signal generator that I picked up at the Bring & Buy club auction a few years ago. Perfect for this application. I set it up for around 7 Mhz, and a 5 mv signal (about 40 over S-9, a really loud station) and tried again. You could barely see a little signal in the output, again way down. Despair began to creep in. What was I doing wrong?

I thought maybe you can’t get any output with 12 volts on the plate.  I connected 4 9-volt batteries in series, giving me 36 volts, recomputed the load and cathode resistors, and tried again. Pretty much the same result. Going back to “Hollow State”, I re-read not only the triode examples, but some of the earlier material on tube characteristics, and this time through I caught it.

Triodes have a few pF of inter-electrode capacitance, in the case of the 12SN7 I think the total is about 5 pF. At audio frequencies this has a really large reactance, and very little signal leaks to ground through that path bypasses the plate resistance. However, at RF frequencies, that reactance drops to about 1 k ohm or less, and a lot of the signal is lost. To paraphrase “Hollow State”, that’s why triodes may lousy RF amplifiers, and you should use a pentode instead. I missed that on the first go through. Okay then, I should be able to test that hypothesis – I put the plate back to 12 volts, and set my signal generator to its lowest output frequency, around 85 kHz. Wow, output abounds.  I replaced my load resistor with a 10k pot, and dialed it in to get unity gain – you can see the result here:

Input from signal generator at about 85kHz

Input from signal generator at about 85kHz

Output from grounded grid amp at 85 kHz, with 12 volts on the plate.

Output from grounded grid amp at 85 kHz, with 12 volts on the plate.

My calculated value of the load resistance was low – I got 560 ohms, but the value on the pot was 2k. I guess the calculated values are really just a starting point, and you have to experiment a bit to get them right.

So, if the problem was the tube response in the RF, I should be able to see the good result disappear by shifting back to an RF signal input. I changed the generator to output the 7 MHz signal again. I had to adjust the timebase of the scope, and the gain of the signal generator because the signal was a bit smaller at 7 MHz, but everything else was left the same as the 85kHz trial. But this is what I now saw, before and after, with 12 volts on the plate:

Input to the grounded grid amp at 7 MHz

Input to the grounded grid amp at 7 MHz

Output from grounded grid amp at 7 MHz, 12 volts on the plate.

Output from grounded grid amp at 7 MHz, 12 volts on the plate.

The triode was eating my signal. It is not the right tube for the job.

I have found a space change pentode, a 12EZ6, that is made for use with 12 volts on the plate. Looking at the curves and data for the tube, I will be working smack in the middle of the design domain instead of on the fringe. I found a couple on eBay for about $3 each, and while I am waiting for them I can try to figure out the circuit for a pentode. It’s a bit more complex, and I may try to use a choke instead of a resistor to couple the output, since that reputedly works better for broad-band RF stages.

And in the meantime, I may just build something solid state, to keep my confidence up.

73,
de N2HTT

Posted in Ham Radio | Tagged , , , , , , , , , , , , | Leave a comment