Thursday, September 24, 2015

High speed, high cost: it's Comcast!

Comcast (dba Xfinity) is giving us tons of Internet speed these days, at least in our corner of Connecticut.  They gave us a new gateway that is now provides the results shown to the right.  Our current service started out at 50 Mb/s, but has more than tripled with little price increase.

That's all good, but the downside is that they are charging something like $1 per month per megabit per second. High speed is occasionally useful for downloading big files, but we could survive on a fifth of what they are giving.  I suppose a big household where 5 people are all looking at their own HD videos would need this bandwidth.  But that's not us!

The question is whether a downgrade of our "triple play" service would put us at a more reasonable price / performance point.  We'll see.

My home LAN gets used for special ham radio work, servers, and software development, so I need to set up DHCP with some assigned addresses and tailor the network in other ways.  Since Comcast has seen fit to cripple its gateway to prevent me from doing this, I've added a proper Asus RT-N66 WiFi router that runs off the Comcast unit operating in "bridge" mode.  The Asus unit is very nice, including IPv6 service, as you see above.

Tuesday, August 18, 2015

First FreeDV on Flex 6500!

I'm giving an "SDR" talk in a few weeks, and I thought I should try out some new (to me) stuff.  My Flex-6500 supports FreeDV as a built-in "waveform" app with some help from the Windows PC.

Nothing was happening on the magic frequency, 14.236 MHz, so on a lark I gave a call.  To my surprise, I got a quick answer from Walter, K5WH, in Houston TX.  The band was up and down, but he was 90% copy at least, and I seemed to make the grade myself!

FreeDV ( is an open-source digital voice system, designed especially for minimal bandwidth communications on the HF bands.  Voice fidelity isn't perfect, depending a little on current signal levels, but it's remarkably good for ~1.5 kHz (less than normal analog SSB).

Monday, June 29, 2015

Morse Motivation!

I've been amiss not contributing to the blogosphere for some time -- busy with some writing assignments.

But this article from 7 years ago came into my inbox today.  It reminds me that there's a lot of room for improvement when it comes to Morse communications.  It needs old-fashioned wetware effort.  (No computer CW for me!)

We won't all achieve 140 wpm or anything like it, but I, for one, have been stuck on a plateau around 20 wpm for many years.

A while back I was inspired by a FISTS article IIRC about the guy who made the simple resolution to have at least one Morse QSO every day.  It seems like such an easy thing -- but he had been doing it for many many years. 

I don't know what goal I should set, but I do need one.

Wednesday, June 03, 2015

Flex 6500: 11 M band opening

I thought I had seen band openings before, but this is what I saw with the new Flex 6500 this morning:

Wednesday, January 14, 2015

FlexControl for Linux+ #hamr

Lately I've been on the air with a FLEX-6700 from FlexRadio Systems.  It's a great rig, but that's a story for another day.

Today's subject is the beautiful FlexControl, which is a "USB Knob" ($99.99).  It is designed as an adjunct input device for the Flex software defined radios, for users who need something more traditional than mouse-based pointing and clicking for tuning and managing a radio.

The product is provided for SmartSDR for Windows, the principal interface program for the Flex 6000 series.  It has a great feel, and it has 3 nice buttons and status lights. SmartSDR provides a Windows driver to work with the FlexControl.

So that's fine, but I'm mainly a Linux guy.  For unfortunate but understandable reasons, Flex only provides Windows control software.  What does the FlexControl look like when plugged into a Linux system?  I could not find any documentation.

With help from Wireshark and VirtualBox, we can do some reverse engineering.

The FlexControl is recognized by Linux (Ubuntu 14.04, but probably most other versions, too).  It appears as /dev/ttyACM0 on my machine. "ACM" signifies that this is a CDC_ACM device.  That category is loosely based on ancient Hayes modem interfaces, but don't worry about that!  Really, it just emulates an old-fashioned serial I/O connection at 115 Kbps.

You can set up minicom or any other Linux program to talk to this device.  The only remaining question is the protocol.  It turns out to be simple.  No surprise, this is a simple device.  The scoop:

Sending from FlexControl to host:
All commands terminate with ';' (no returns or line feeds)
U; - knob CW (single tick) -- U02; U03; U04; etc - multiticks
D; - knob CCW (single tick) -- D02; D03; D04; etc - multiticks
S; - short press, main knob
L; - long press, main knob
C; - fast double click, main knob

The fast knob codes reflect multiple encoder ticks between USB polling times, so the knob should be able to keep track of fast spinning.  (Alas, SmartSDR will not always keep up so well.)

XnS; - normal press, key n=1,2,3
XnL; - long press
XnC; - fast double click

   U; (frequency up one tick)
   X2S; (normal press, button 2)

Sending from host to FlexControl:

Ixyz;  where x,y,z = 1 or 0 for LED 0, 1, 2 on or off
   I001; set right hand LED on
   I000; set all LEDs off

   I111; set all LEDs on

Note that SmartSDR for Windows only uses a fraction of the FlexControl's button capability.

See a simple Python program to illustrate how to communicate at

The FlexControl should be very useful for all kinds of DIY software projects.  Connect it to your Raspberry Pi, your Arduino, your Linux PC for any kind of control project! (There are cheaper USB based controllers available -- for games, etc., but few have the right "ham" esthetics IMO.)

Maybe FlexRadio or one of the designers (K6TD or K6TU) would have divulged the same data if they were asked nicely, but it was more fun to work it out on my bench.

Monday, September 29, 2014

More SteppIR Excitement

Matt and Andrew from XX Towers stopped by to repair the latest problem with my 3-element SteppIR beam antenna.

After a recent storm, I discovered high-ish (2.2) SWR on the lower bands and approximately 0 dB Front-to-Back ratio.  Effectively, I had a so-so rotatable dipole.  (Still, it was fine for many contacts with JT65.  Sometimes directivity is over-rated!)

The XX guys found that the inner tapes for one half of the director and one half of the reflector were broken.  As a precaution, I had ordered a complete spare EHU (central steppin motor and tape unit). Matt and Andrew were able to cobble together the two good half units into one full element. So we were able to put up a net of two new passive elements, restoring us to normal SWR and F/B performance, saving us having to order another new EHU and scheduling another service day.  Amazing!

We hope this fix will hold us for some years to come.  Crossing fingers.

Friday, August 15, 2014

Radio Warmup Issues

The WSJT-X software has various uses.  One neat one is to measure frequencies and drifts accurately.

This is the warmup curve for the TenTec Orion 575AT.  Ambient temperature is 75F, and we're starting from that temperature and watching the drift in the apparent frequency of the 15 MHz WWV signal.  The receiver is tuned to 14.999700 USB, so the "correct" response would be a WWV carrier appearing at 300 Hz on the spectrogram.  The WWV carrier (strong red trace) had a starting point (ambient) at about 280 Hz, but this plot begins a little after warmup has started. (The other, blue/yellow traces are modulation sidebands that can be ignored.)

You can see that the initial warmup (fast drift) is over after about 6-8 minutes.  A slow drift continues for another 10-15 minutes, with the apparent frequency stabilizing around 302 Hz.  But after 30-50 minutes, an even slower downward drift comes in that brings the reading down to ~298 Hz. (This is getting into the weeds of ambient temperature stability, etc.  For real statistics, you'd have to repeat all this under various conditions.)

Is this result good or bad?  The initial 20 Hz offset is about 1.3 ppm, while 2 Hz is 0.13 ppm, relative to the 15 MHz signal. The TenTec specification for this radio is +/- 3 ppm over the operating temperature range. The Orion uses a temperature compensated crystal oscillator - TCXO. The oscillator has a screwdriver adjustment for frequency, which I carefully tweaked in 2005.

Clearly, we are in spec at this particular operating temperature, but in fact the specification does not really tell us what to expect in terms of accuracy or stability at any particular ambient temperature. 

I may be in the minority, but I like to be able to use my gear for precise frequency measurement.  (And not as an expensive thermometer!) Some newer rigs are better.  For example, the Flex 6300 and 6500 offer a "0.5ppm TCXO", while the 6700 has a "0.02ppm OCXO" (oven stabilized crystal oscillator.) Flex offers an expensive add-in GPSTCXO option (GPS stabilized TCXO) that claims 5 x 10**-12 stability over 24 hours.

These numbers are helpful, but if you really want to compare time and frequency standards, you need to consider the Allan Variance, which is a measurement of stability on different timescales.  (See informative PowerPoint by H. Fruehauf, or comprehensive Wikipedia article.) What we usually need for precise amateur communications (say using advanced WSJT-style modulation at microwave frequencies) is stability over tens of minutes.  The vendors' specs really don't tell you that. 

Monday, July 21, 2014

Fun with WSJT-X

Since this weekend's ARRL 100th Convention, I've been trying out WSJT-X, the latest from Joe Taylor K1JT in his series of "Weak Signal" programs.  It supports the JT65 and JT9 digital modes, mainly for HF communications (1.8 - 30 MHz).  It's a more modern and user-friendly program than the original WSJT.

The JT65 mode, shown here as a waterfall spectrogram in the 17 M band, is Joe's classic mode.  It uses 64 tones plus a pilot to convey the digital message in a ~200 Hz band.  This selection is interesting, because the weak WSJT-X signal (JA1VGV) is hidden behind a strong RTTY station -- the two big vertical bars.  The JA station is -17 dB relative to the SSB noise level, while the RTTY signal is probably > 0 dB. 

A contact goes in 1 minute "chunks": sending for one minute (actually, 48 sec.) and receiving for one minute.  The divisions of transmit/receive are shown as red horizontal lines. (The waterfall is stopped for 48 sec during transmit.)

I use two power levels for JT65. Normal is 5 Watts.  When conditions are tough, I can ramp up to "QRO" -- 20 Watts.  To go higher than that is considered unsporting, I think!

JT65 is nice, but JT9 is better.  It uses the same message structure, but with only 9 tones that are spaced more closely.  JT9 is much more efficient in terms of spectrum utilization (by a factor of ~10), so it is clearly a better solution for crowded HF bands.  Unfortunately, most of the JT65 software now in use does not support JT9.  WSJT-X supports both.