Press "Enter" to skip to content

Category: Software

K5TRI Rotorduino Source Code

Update 4/8/2016: Code is now on GitHub
I finally found some time to post the source for my rotor controller I posted about a long time ago. Maybe some day I will also find time to make the schematic. I never drew schematics in a proper tool other than on a piece of paper. It should however be somewhat self explanatory. As the saying goes:”The documentation is in the source” :).

DIY USB CAT control cable for TS-850

My recently newly acquired TS-850 is a great radio. But what’s even more,
it comes with the proper serial ICs built in to hook it up to a PC for CAT
control. There are various ready made cables available on eBay to accomplish
this, but I really can’t get myself to spend $40 on a cable which can be built
for a lot less.
The serial connection on the back of the TS-850 (ACC2) provides inverted
TTL level signals. So all that is needed is a inverter and then a TTL to RS-232
conversion. At first I built the following circuit which I found here:

This is a straight forward circuit using the 74LS04 to invert the TTL signals
and then the good old MAX232 for TTL to RS-232. One could leave it at that
and use a USB-serial dongle to connect to the PC.
I went a step further and simply feeding the signals from the hex gate (74LS04)
into a FTDI USB interface. Total cost in parts ~ $15 and the satisfaction of
having built it yourself . Adafruit has a USB to TTL cable for just $9.95 which
would also work. I just had the other interface already on hand.
This is what my fancy design looks like:

One thing to note is that I did not use RTS/CTS which for some reason did not work.

ARRL DX CW Contest & Linux

This weekend was the ARRL DX CW contest. I played a little bit to get a
few new countries and just for fun. I started with N1MM but looked if
there was a way to do it on Linux. There is. The combination of xlog
and eepKeyer was working quite ok. Export of the Cabrillo file and also
scoring was a different story though. But it’s a start. eepKeyer uses
cwdaemon for keying, so the interface I built a few weeks ago worked as

Board IDs to use with CMake for Arduino

If you’re like me, you don’t like the Arduino IDE that much. I
much prefer a good texteditor and a toolchain behind it to build
and upload the code. CMake to the rescue. One thing you have to
configure in your CMakeLists.txt file is the BOARD_ID to tell it
which board you are using. Here’s the list of IDs since I couldn’t find
them on the github page for the CMake project.

–uno: Arduino Uno
– atmega328: Arduino Duemilanove w/ ATmega328
– diecimila: Arduino Diecimila or Duemilanove w/ ATmega168
– nano328: Arduino Nano w/ ATmega328
– nano: Arduino Nano w/ ATmega168
– mega2560: Arduino Mega 2560 or Mega ADK
– mega: Arduino Mega (ATmega1280)
– mini328: Arduino Mini w/ ATmega328
– mini: Arduino Mini w/ ATmega168
– ethernet: Arduino Ethernet
– fio: Arduino Fio
– bt328: Arduino BT w/ ATmega328
– bt: Arduino BT w/ ATmega168
– lilypad328: LilyPad Arduino w/ ATmega328
– lilypad: LilyPad Arduino w/ ATmega168
– pro5v328: Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
– pro5v: Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega168
– pro328: Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
– pro: Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega168
– atmega168: Arduino NG or older w/ ATmega168
– atmega8: Arduino NG or older w/ ATmega8

Simple Apple Script for LOTW confirmation in MacloggerDX

If you’re on the Mac running your ham radio logging, chances are you are using the great

MacloggerDX as your logging program. Unfortunately LOTW support is not built into

MacloggerDX so one has to find workarounds. Thanks to AppleScript support one can do

this very easily. Simply replace YOURUSERNAME and YOURPASSWORD below with your own

data and run the script.

The script will download your complete LOTW report and place it into your Downloads folder

in your home directory. It then tells MacloggerDX to confirm log entries against the

downloaded ADIF file.

do shell script “curl -L  ‘’ -o ~/Downloads/lotwfile.adi”



tell application “MacLoggerDX”

confirmADIF “~/Downloads/lotwfile.adi”

end tell

Next working on a simple way to automate uploading to LOTW.

Transponder and other settings for Radioskaf-B (ARISSAT-1)

Currently there is no info for the transponder and other downlinks of Radioscaf-B (ARISSAT-1)
in Gpredict. But fear not dear reader, help is down below :).

Just create the following in a file named 37772.trsp and copy it into your ~/.config/Gpredict/trsp folder

[ARISSat U/V Lin]

[Digitalker/ SSTV FM]

[Telemetry Mode v]

[CW TLM Beacon BPSK-1000]

[CW TLM Beacon BPSK-400]

This gives you immediate access to the linear transponder, the FM voice messages and SSTV images

as well as the TLM beacons. I haven’t tested it yet completely, so feedback is welcome.

73 de Mike

Changing default transponder settings in Gpredict

Almost all satellite tracking software I tried so far never got the transponder settings for
doppler control right out of the box. There is the theory and then there’s reality. In reality
I still had to look for my downlink signal in order to find the right frequencies. Now one
thing that I like to live by is that when I have to repeat certain things over and over, I like
to automate them. Same goes for setting the correct up- and downlink frequencies when
operating linear satellites.
In the current version (1.3) of Gpredict, there is no editor to change settings for transponders,
so your favorite editor (vi I’m assuming 🙂 ) will be your friend here to add a new transponder
to the config file of the satellite.

Let’s do this for VO-52. First we need to get the catalogue number of the satellite as Gpredict
organizes it’s information based on that. If we click on the desired satellite and look at the
highlighted field, we get that piece of info.

Now that we know the number (in this case 28650 for VO-52) we can go look for the matching file
that Gpredict uses to store the information in. It’s located in ~/.config/Gpredict/trsp

Let’s look at the file itself and see it’s format:

mschulz@shack:~/.config/Gpredict/trsp> cat 28650.trsp

[Indian Beacon]

[Indian U/V Lin]

[Dutch Beacon CW]

[Dutch U/V Lin]

As you can see, it’s pretty straight forward. First we have a label for the transponder followed by the
values for up- and downlink frequencies and if it’s an inverting transponder. Based on that, all we have
to do is add a new section for our matching frequency pair to the end:

[New U/V Lin]

Note that I only changed one side, in this case the downlink frequency to keep things simple. The way
I determined how to change it was also pretty easy. I just set my uplink frequency in the middle of the
passband where Gpredict would put it also. Then I tuned in my downlink signal and noted the difference
in frequency from the passband middle, which gave me the value by which I had to change the settings
in the config file. As you can see, the new setting is 2kHz lower than the original one which is roughly
where I want it to be to have to only fine tune my downlink signal.

Have fun tuning your Gpredict settings and see you on the birds.

73 Michael

Using your TS-2000 with Gpredict

One of the things that are key to having a pleasant experience working linear
transponders is software controlling your doppler shift. I’ve been a proponent
for manual tuning once when I was dismissing software control as something
for people who don’t know how. Well, let’s say I saw the light and leave it at that :).
Gpredict does a pretty good job but of course different than let’s say HRD which
I use when running Windows or MacDoppler on Mac OS.

In Gpredict you enable radio control by selecting the appropriate module in the drop
down menu on the right. Select your radio in the Settings portion of the window and
click on engage. On the left hand part of the window you can select your satellite and
the matching transponder (or beacon if you just want to track that) and click on Track.
Now when you click on the T button to tune the radio to the frequencies it never works
for me right out of the box to be spot on and I have to do some manual tuning.
While tuning manually, the Trace function on the radio needs to be off! Otherwise
you’ll be chasing your tail.
The way I do it is to leave the uplink signal where it is and then manually tune to find
my downling signal. Once that’s the case Gpredict keeps tracking both in sync and
you can work the satellite. So far so good one might think, but what if I want to change
frequencies? Clicking the L button links the two VFOs but unfortunately changes the
uplink frequency to what it thinks matches the downlink which is usually not correct.
The way I found a working solution for me was to first find my downlink, then turn on
the Trace function and on the linear satellites also the REV so that you track your
uplink frequency against (or in reverse) to your downlink frequency. Now I can tune
across the passband while keeping both frequencies close. It’s not a 100% match.
Once you’re at the desired frequency, you can then tweak the uplink to match the
downlink. Tuning the uplink VFO does not change the downlink, the other way around
both frequencies change.
While this sounds complicated at first, once you try it out it is pretty straight forward
and gives you the most control over where you want to be in the passband. After
tuning to the new frequency I turn the Trace function off in case I need to fine tune
the other station without changing my uplink.
This might work for other radios like FT-847 and IC-910H similar, I’m not familiar
with those so feedback is as always welcome.
73 Mike K5TRI