Softrock Lite 6.2
Adventures in Electronics and Radio
Elecraft K2 and K3 Transceivers
March 2007 Archive
30 March 2007
I've been working with a Z90 owner experiencing problems
finding the Z90.INI file on his computer after installing Z90-Control version 2.
I've added a discussion to the Software page
addressing this issue. In short, Windows XP, by default, hides certain files and
folders, including INI files in the location in which Z90 Control installs this
file. The software page now explains how to set the file search display options
to cure this problem.
28 March 2007
I've put up Z90-Control release 2.01 and accompanying
Z90/91 firmware 609 at the Software page today. Also, an
updated PDF manual is posted for the new control release.
The changes to the firmware and Z90-Control software
relate to "Turbo Mode." The Z91 and Z90 have always shared common firmware,
because the customer base is just too small to make it reasonable to keep track
of separate firmware versions and also to provide an upgrade path should a user
decide to add the LCD and other parts to convert a Z91 to a Z90.
Although these are logical reasons, my decision meant that
Z91 owners were presented with slower sweep speeds than necessary, as screen
clearing and writing consume significant firmware resources . At the request of
W1BNC, I developed an experimental Z91 firmware release that bypassed LCD
writing, approximately doubling the sweep speed. After mentioning this, several
Z90 owners asked if they could also run the firmware release. Although possible,
it would be burdensome to say the least to have to reflash the Z90 firmware
every time one wanted to run in turbo mode or return to normal operation.
To shorten this story, I've returned to a single firmware
release for both the Z90 and Z91, but with LCD bypass code. Hence, regardless of
whether you have a Z90 or Z91, you will be able to run turbo mode. Of course, if
you have a Z90, during turbo mode operation the LCD will not update and you must
rely upon the computer display.
I recommend that all Z91 owners download and install the
new firmware and operate in Turbo Mode and Z90-Control version 2.01. Z90 owners
may wish to install the new firmware as well, whether they use it or not. It is
not, however, mandatory for either Z90 or Z91 owners.
Z90-Control 2.01 is supplied as an installer program. If
you have modified the Z90-Color file, it should remain intact. Likewise, your
Z90.INI file should also remain intact.
Turbo mode is not a "sticky" option, and must be selected
every time Z90-Control is started. This is an intentional safety measure to
prevent inadvertently leaving it engaged and causing the Z90 display to freeze
without the operator understanding why. Hence, Z91 users will need to remember
to engage Turbo Mode when starting Z90-Control, every time.
25 March 2007
I have a test version of "turbo scan" firmware running in
a Z90, but I'm tracking down a problem that causes the vertical reference
position to change under some presently undefined conditions. I think it is
related to dropped inbound data when the computer is running other higher
priority tasks, but it happens so infrequently that reproducing the problem is
Over the weekend, I breadboarded up the next project.
Here's a view of it.
23 March 2007
I've had two requests to modify the Z90 firmware to give
users the option of disabling the LCD display to operate in "turbo scan" mode
with the new Z90-Control software.
I'll make this change over the next day or two and post it
on the software page when finished. To make it easy to use, I'll also add a
control or menu item to Z90-Control version 2, so a new release of that will
also be required.
As a safety measure, the Z90 firmware will always come up
in normal scan mode and an affirmative command will be required to enter the
"turbo scan" mode.
23 March 2007
I have released for general downloading Z90-Control
version 2.0. You may download the installation program at the Software page, or
by clicking here.
I have also released a new firmware version 1607 for
Z91's only, available at the same place. Firmware release 1607 speeds up
Z91 operation by removing all code related to LCD writing. The result is at some
sweeps are made twice as fast as in the current release. Of course, since all
LCD writing code is removed, release 1607 should not be installed in a
I've tested the code here, and also two volunteer testers have found the new
program works for them. However, please do not delete your Z90-Control version
1.0 program until after you have verified that release 2 works for you.
I would appreciate comments (working, not working) on your
experience with release 2.0. In particular, K2 owners should find the new
integration links of some interest and I would like to know how useful you find
the new features.
23 March 2007
Chuck, K7VRE, has provided detailed documentation showing
how he added a Z10000-U buffer amplifier board to his FT-920. I've added a page
for his notes, reachable by clicking here
or via the navigation bar at the top of this page.
19 March 2007
I hope that I've finished adding tweaks and features to
the new Z90 Control release. Today's change is an option for a bar graph type
display in addition to the line type display currently available. Other, more
interesting options were added over the weekend.
New display mode - bar graph style
Depending on the span and modulation mode, it can be difficult to use the Jump
to Frequency option and wind up exactly on frequency. With the almost universal
use of digital frequency controlled transceivers, SSB operation tends to take
place on even KHz frequencies. I've therefore added an option check box that
will force the jumped to frequency to be an even integer KHz. Rounding to the
nearest KHz is employed when the option is selected.
Optional force to 1 KHz
I've mentioned before�and it is covered in detail at my FAQ
page under the topic "Why Does the K2's BFO Shift Frequency?"�that
Elecraft's K2 has a variety of frequency shifts and offsets built into it and
that these are essentially invisible to users. Invisible, that is, until the
user attaches a Z90 or other spectrum analyzer to the IF port. When this
happens, these shifts become obvious. Here's an example from my K2. The K2's
dial is set to 10 MHz, and I sequentially selected LSB, USB and CW mode. Note
the shift in the apparent frequency, with a spread of about 2.5 KHz.
IF shift resulting from mode selection
If you can tolerate loss of all three "Custom IF"
frequencies, you can take advantage of a new feature added to the Z90-Control
software. In essence, we define three custom IF frequencies, one for CW mode,
one for USB mode and one for LSB mode, such that there is no frequency offset
when you switch modes in the K2, providing you select the appropriate custom IF.
Manually selecting a different IF every time you switch
modes in the K2 is an inconvenience, at best, so I've added an automatic linking
feature to the software. If you properly set up the three custom IF frequencies
and if your K2 is connected to your computer and linked into the Z90 Control
software, the appropriate custom IF frequency will be automatically selected as
you change frequencies and bands.
As the plot below shows, it's quite effective.
With automatic IF shift operating
I've also added an option to display an alpha tag associated
with each IF frequency. You can edit the tags to add a meaningful message to
Sample IF frequency list with alpha tags
16 March 2007
I've spent the last three days working on the new
Z90 control software, mostly adding error detecting and also finishing up a few
loose ends. I made one change to the waterfall display, giving users an option
of erasing the display when filled or overwriting the old data. After using it
this evening, I prefer the overwrite mode.
Waterfall display in overwrite mode. The black line shows
the new data insertion point�old data is above the black line; new data is
below the line.
Note the downward frequency sweep
in this sample. You can see it the most clearly to the right of center.
Horizontal lines are static crashes, but diagonal lines are swept frequency
signals. Lines sloped \ are sweeping down with time; lines shaped / sweep up
in frequency with time.
Either ionosphere sounders, or our fellow amateurs
playing with their VFO controls ...
The waterfall display shows interesting band occupancy. There is little
occupancy between 3600 and 3650, with the CW and data modes showing extensive
usage between 3530 and 3600 KHz.
I've sent one
additional experimental copy out, and I'll again remind Z90/91 customers to drop
me a message if you wish to receive an experimental version of the new release.
13 March 2007
Z90 Control version 2 is at the point where I have added
all the new features that I intend to, and all are functioning, although error
checking and trapping is marginal.
If you are a Z90 or Z91 user and wish to experiment
with release 2.0, drop me an E-mail message and I'll send you a copy. At the
moment, however, the only documentation is that available from reading this
Updates page. And, the software is still on the experimental side, although I
believe it is usable if you don't mind an occasional crash caused by odd data
values or key sequences.
The major improvement over the last couple days is
interaction with the K2 transceiver's serial port.
If you look at the center top of the display, you see the
actual center frequency to which your K2 is tuned, assuming, of course, that
your K2 has the serial interface option and that it is connected to your
The Jump To Frequency is also working
The Jump to Frequency is also working. It has two modes. First, you can simply
type the frequency into the yellow box in MHz format. Then click on the Jump To
Frequency button, and your K2 will be tuned to that frequency.
The second mode is more interesting -- click on either the
normal trace display or the waterfall display and the actual frequency of the
signal upon which you have clicked is placed in the yellow Jump box. You can
then tune to that frequency by clicking the Jump To Frequency button.
You will then be tuned to that frequency, regardless of
whether you use VFO A or B and whether the RIT is on or off. The tuning
preserves your VFO selection and also your RIT setting--if you were on VFO A
with +500 Hz of RIT, the new frequency will be with VFO A and with +500 Hz RIT.
The new receiver setup box.
Enable RX polling turns on polling -- once a second, the software queries the K2
for the current frequency information. If polling is turned off, the frequency
display will not be updated.
Frequency inversion has two manual modes and the automatic
mode, where inversion is set based upon the frequency to which the K2 is tuned.
If you have a K2 connected, automatic mode will normally be used. (More
information on why the K2 inverts the frequency sense on some bands can be found
If you do not have inversion set automatically (or
correctly via manual setting) then clicking on the display will not necessarily
present the correct frequency for jump tuning.
I've also modified the waterfall display, so that each color step represents 3
dB change in signal level and added an indexed color scale.
As with all Z90 modes, the steps are accurate within the
instrument's rated accuracy, but the absolute levels are arbitrary. In other
words, 0 dB is not 0 dBm, or -17.3 dBm or any other particular value.
However, two signals that differ by three color bands are 9 dB different in
signal strength, +/- two color band steps. (One signal might be at the very top
of one band and the other signal at the bottom of its band. This sort of
quantization error is inherent in any contouring scheme.)
Frequency jump operates in waterfall as well.
Editing the waterfall color scheme and display
I've added a waterfall setup as well, permitting you to edit the color scale,
enable/disable the grid and select the grid colors.
At the moment, only the K2 is supported and it is likely that support for other
equipment will not be forthcoming, as 90% of my customers use K2 equipment.
10 March 2007
Z90 Control, Version 2 is steadily making progress. All
functionality in the current edition is present, plus several new features:
- Much faster screen painting and refresh
- Single EXE file, without DLLs
- Windows VISTA compabile
- Waterfall or standard display
- User-editable colors, line thickness and fonts in
- User-editable colors in waterfall display
- Reworked some of the menu interface dialogs for
improved user experience (for example, in signal generator mode, you have a
choice of entering the desired frequency in Hz, KHz or MHz.)
The image below show the new edit menu for graph
selection. The background color, grid color, trace color, trace thickness and
caption font parameters are saved between program runs.
There's still a lot of work left to do, but I can
09 March 2007
I ended the HP8752B temperature stability test after 20
hours. It shows about 0.2 PPM variation after warm up, and that my calibration
left the time base a bit low in frequency. I'll let the calibration settle in
for a while and revisit it in a month or so.
My Racal 1992 counter has the high stability oven option,
rated at < 7x10-9 per day, so it's not the limiting factor in these
08 March 2007
I now have most of rev 2.0 Z90 Control working. The main
missing code relates to printing. I'm not looking forward to that code, as
printing graphics in Windows is notoriously tricky.
Some comments from Mike, W4XN, about frequency stability
of his HP 8753C vector network analyzer prompted me to measure my 8752B. First,
I found that the time base was way out of calibration, something close to -100
Hz at 10 MHz. After popping the cover off, I found that HP had thoughtfully
provided a calibration "cheat sheet" on the inside of the top cover, showing the
calibration points. The master frequency is set from a voltage trimmed crystal
oscillator, with a multi-turn trim pot. A few turns on the trim pot brought the
time base into compliance.
Here's the 8752B's short term stability, measured from a
cold start. Since the VNA is in my basement shop, it is not exposed to a
temperature excursion of more than a few degrees F.
HP's specification is ±7.5PPM for 0-50°C ambient. I see about
2 Hz change after warm up, measured at 10 MHz, or 0.2 PPM. This is certainly
well within HP's specification.
07 March 2007
I cut away enough of the tree branches to provide access
to the driveway this morning. (See 06 March 2007) The tree service stopped by
this afternoon and we found four or five dead or nearly dead pines near the
house that should be cut down, as well as the two that came down (or 1.5 trees,
as what fell is one complete tree and the top half of a second.) Weather
permitting, the work will be done next week.
I'm making progress in rewriting the Z90 Control program
in Delphi, adding a user-editable waterfall color scheme today. Here's a shot of
the most recent revision, showing a waterfall display of 3600-3800 KHz. I've
added the scale insert and removed some of the development controls seen in the
earlier version. The large memo box at the lower right is for debugging and will
not be found in the release version.
As I was working on the program code and testing a
build, I noted an unusual signal track. If you look at the bottom left of the
display, you see a steady signal (up is increasing time) that makes an abrupt
frequency excursion up; then stays at that frequency for a brief period, sweeps
down to 3600 KHz and then has a fast sweep up above 3800 KHz.
The area below the black line is data taken at another
frequency. Incidentally, this data is taken with the Z90 working as a spectrum
analyzer�connected directly to an antenna. I do not recommend this as normal
operation mode as (1) the Z90 has no image rejection and (2) strong out of band
signals will get to the log amp through filter blowby. Still, it's useful during
testing and, if you understand its limits, it can be a useful operational mode.
Horizontal yellow lines are likely due to static crashes or other broadband
06 March 2007
While I was working on rewriting Z90 Control this morning,
my wife heard a loud noise outside the house. In the basement with a couple of
receivers running and concentrating on programming, I'm fairly oblivious to
Here's the sight looking back into the garage from the
While living in a wooded neighborhood has advantages, dealing with falling pine
trees is not one of them. We're waiting on a phone call from Budd's Tree
Service. (If you live in Northern Virginia and need tree work done, I recommend
Budd's Tree Service in Burke, VA.) There are other pines that look as if they
are ready to do the same thing, so we should have more than this one removed.
Before the tree came down, I was able to make some progress in revising Z90
control. I've made the generate frequency control a bit easier to use while I
was at it.
You can enter the frequency in either Hz, KHz or MHz, with
or without a decimal point.
However, the frequency
is always rounded to the nearest integer Hz, so 10.0001 KHz will be sent to
the Z90 as 10000 Hz.
To generate 10.7 MHz, you can enter :
10700000 with the Hz button selected;
10700 with the KHz button selected; or
10.7 with the MHz button selected.
05 March 2007
The two Z100 prototype kits went out this afternoon. My
current design provides switch and potentiometer access through holes in the
My thought is that the normal mode of operation will be
for the user to either operate the Z100 with a single frequency setting,
corresponding to his normal CW beat tone, or to define and store the frequency
settings normally used into the 16 memory locations and thereafter use the
memory recall selector switch to select the current center frequency from
amongst those stored to non-volatile memory.
Consequently, the center frequency pot is on the bottom,
and is a trimpot style component. Likewise, the operational switches are small
DIP switches as these should not be frequently used.
The bottom, showing access for the center frequency setting
potentometer, and the memory and function control switches.
Because I have the case open and closed a dozen times a day
while I'm working on case dimensions, software development and the like, I use
rubber bands to hold it together.
Better view of the switches and frequency setting
As I say, the four-position slider DIP switch
should not be used all that often.
A normal height DIP or rotary switch has better usability, but is too tall to
fit within the case without projecting outside the enclosure.
I've had one suggestion to use two or three multi-function
push button switches. I'm considering that, as I agree the DIP switches are sub
optimum, but in a device with only LEDs for communicating with the user, the
normal feedback mechanism that makes multi-function push button switches work is
Likewise, the small case footprint makes larger
conventional switches difficult to fit into the available space. And, a larger
enclosure makes the low cost price point difficult to achieve.
I built the prototype board with an 8-section, full height
DIP rocker switch and I had to remove it today to install the rotary switch and
4-section low profile DIP switch. And, I did not want to damage the plated
I used solder wick to remove most of the solder and had
the pins mostly free. The 8 ground pins were more of a problem, as the PCB
provides a rather good heat sink, making both soldering and de-soldering
challenging. After using solder wick, I then tried a technique that I've read
about, but had not yet used--heating all 16 pins simultaneously using a hot air
gun. It worked well, although I believe it's essential to remove almost all the
solder using solder wick or a vacuum desoldering tool before applying the hot
Larry, N8LP, and I have been debating whether it is better
to tie a ground pin to both top and bottom ground planes via the plated through
hole (using four-spoke "thermals") or to leave the top side as an unconnected
pad, tying the top and bottom ground planes together through additional nearby
vias. The idea is that having the top connection floating makes soldering and
desoldering easier, removing the risk of board damage in the event a component
requires replacement. So far, I've been a holdout for four-spoke thermals on
both sides, but I am reconsidering that decision.
If you don't know what a "thermal" is, look at a PCB
intended for hand soldering made with both a top and bottom ground plane and pay
attention to ground pins. Rather than have just a small plated through hole, the
hole is connected to a normal pad, which is linked to ground through four (or
sometimes two) short leads or spokes. The idea is that soldering the ground
connection requires heating the ground pin and associated PCB area to 500 or 600
degrees, which can be difficult if the pad makes a solid connection to the
ground plane foil. The spokes throw enough thermal resistance into the pad so
that a normal soldering iron is usable for the joint. However, if the through
hole is connected to ground planes on the top and bottom of the board, the top
connection only receives heat through the hole plating and the lead. This makes
it difficult to achieve a good connection to the upper foil, at least without
running the risk of overheating the bottom foil. And, when desoldering, the
difficulty is compounded, as you are trying to remove the solder which provides
a thermal path between the top and bottom connections, so the more solder you
take out of the hole, the less heat gets transferred to the top to melt the
I've also made changes to Z90 Control version 2 that make
it Vista-compatible, at least until I run into the next change. Dave Barker
("Mr. Swordfish") found my problems and provided very helpful fixes.
04 March 2007
If you are not a subscriber, you may wish to visit the
local amateur radio emporium and pick up a copy of the March/April QEX,
featuring the Z90 on the cover.
The March-April 2007 QEX features my Z90 article. The cover
photograph is by Mike, W2PY, and shows his Z90.
top of my magazine is intact--the ragged edge is my poor attempt at editing
out the background.)
I've had one report that the current Z90 Control software fails to run under
Windows Vista. The new 2.0 version that I'm working on will run on Vista, XP and
W2K, but not earlier versions of Windows. I've sent a very rough version of 2.0
to the one customer operating Vista and it operates, although I need to change
the port scan algorithm as reading the available ports from the registry seems
to fail in Vista. I hope to have a version that can go to two or three alpha
testers in another week or so and a full release version before the end of the
The full release 2.0 will be accompanied by updated Z90/91
firmware significantly speeding up sweep speed for Z91's and will give Z90
owners the option of operating their units in "Z91 mode" in which the LCD is
disabled and faster sweeps are sent only via the serial port. Faster Z91
sweeps are possible by bypassing the code related to writing to the LCD,
obviously un-needed, since it does not have an LCD to write to. However, I
do not want to maintain separate Z90 and Z91 firmware lines, so I will add a
command to the forthcoming firmware to disable LCD writing. Z91 owners will
operate in this mode 100% of the time, and Z90 owners may find times when they
wish to use it as well.
I've finished the first pass at firmware for the Z100 CW/RTTY tuning aid. It's
well under 200 lines of Swordfish code and occupies 1289 bytes of program memory
and 56 bytes of RAM. Hence it is well within the limit of
Swordfish SE, the free
version. This will allow purchasers of the Z100 to modify and customize the
code, as I plan to provide source code with the kit. My plan is to ship two
prototype kits to volunteer builders Monday or Tuesday and if all goes well,
production kits should ship before the end of March.
The photo below shows a prototype Z100 out of the enclosure.
01 March 2007
As usual, I've moved the February page to the archives,
where it may be viewed by clicking here, or via the
link table at the top of the page.
The last few days have mostly seen me working on rewriting
the Z90 Control software. It's making progress, but won't be ready for even
alpha testing for a week or more.
I've also had an interesting excursion into Windows and
USB-to-serial port configuration. To develop the Z100 LED scan firmware, I added
an access point to the PCB for in-circuit programming. The ICP works simply in
this design by bringing out the 18F2420's USART TX and RX ports, plus a ground,
to a 6 position header strip. A FTDI RS232-to-TTL adapter cable plugs into the
socket. I programmed the 18F2420 with a bootloader provided as part of the
Swordfish program suite, thereby permitting new code to be uploaded to the PIC
without removing it from the circuit or using special programming voltages.
The bootloader sends a unique identifying signal when the
PIC is powered up, and this identifier is recognized by the bootloader program,
in the form of a handshake signal. (This is why you have to cycle the power
off/on when reflashing a revised program load to the Z90.) Although this sounds
like a simple process, I could not get it to work with the FTDI adapter
cable--the handshake signal failed and the Window-based loader program would not
recognize that it had established communications with the PIC at the other end
of the cable. It turns out that the default latency setting (reachable about
four menu levels deep) in FTDI's driver code is set so long that the handshake
times out before the signal gets back to the loader software. Resetting the
latency time to 8 ms (default is 16 ms) fixes the problem and I can get back to
finishing the Z100 code.
I've also received an
edited manuscript of the second Z90 article "Designing the Z90's Crystal
Filter," to be published in the May/June QEX. This weekend will require checking
the manuscript for inadvertent errors that might have crept in during the