Friday, December 2, 2016


As I fully expected, my post about Logging Satellite Contacts to LOTW generated a fair number of questions and got some interest. In particular, how I log EVERYTHING into the different logging systems came up a couple times.  So strap in, here we go...

As said before, I operate primarily Satellites, with some portable terrestrial mixed in, and I also activate Summits on the Air. I use LOTW as my primary QSL path, and I use the QRZ logbook for an online logbook database. LOTW and QRZ both accept ADIF uploads, though they are slightly different in how they do it. I also have to upload my SOTA activations to the SOTA database to get credit there. What this comes out too is there are 5 different types of files I typically have to generate if I've had an all band SOTA activation weekend. That's a ton of different data to work with, but it's doable. I'm also a spreadsheet fiend - in my day job tons and tons of data is moved about via spreadsheets, and they lend themselves to script friendly formats (like CSV - comma separated value)  well. So the idea I had was take a spreadsheet, be able to toss in the minimal amount of information required about my contacts, and then have a script generate everything based on that input. Challenging, but not impossible.

So, here's how it works, I've got 3 main files that do the work. The first is the Logger Spreadsheet. Looks something like this:

As you can see, there's a little bit of everything going on here. In places where you make a satellite contact, just mark which Satellite it was. The script will fill the mode/frequency and special propagation values for LOTW and QRZ. Where you make a SOTA activation, it will automatically create a SOTA file as well for upload to the database. Anything that isn't a Sat contact, will be considered an 'HF' contact (even if it's something like a contact over 2 meter simplex) and a different file will be made for QRZ/LOTW upload there. Note: You have to either put in a bird name, or fill out the frequencies... if you do both - the script will overwrite your submitted frequency values, and if you do neither the script will error out. If you put in a bird name the script doesn't recognize (more on that in a second) it will also error out. If in doubt, look at the examples in the picture above, which is also the sample file that I included with the download.

So, where does the bird data come from? Glad you asked! There's a special Text file that contains all that in (drumroll please) CSV formatted reference file name appropriate sat-data.txt. It looks something like this:

Every bird that I might make a QSO on, I keep listed in this file. The breakdown should be easy enough to understand, but in case it isn't.. Here's what each field means.


Cool? Good. When new birds got chucked into orbit, instead of having to piss with the entire script, just add a new line entry here and you're good to go. Try and make sure the name is in the same format as LOTW accepts though, cause if it isn't exactly right, it will error out when you try to get TQSL to upload it, which is something that has caught me before.

The final file in the bundle is the Perl Script itself. There's really nothing here you need to mess with.. just make sure it's in the same directory (or folder) as your sat-data.txt and your "Logger-Spreadsheet.csv" and you're good to go. One caveat to the "nothing to mess with rule" is that if you want to be fancy and set your own home grid, or change the names of some of the variables, at the very top of the script you can do just that. Fire up your favorite text editor, and the open 25 or so lines of the perl script look like this:

Home Grid, Input Spreadsheet Name, and Sat Data file name are basically the only variable's that should really matter. Just keep em the way you want, and you're good to go. Don't mess with any of the code below the "DON'T MESS WITH ANY OF THE CODE BELOW THIS" banner. That is unless you want to. It's open source. Have at it.

Once the script is ran, in the directory where you launched it you'll get any number of 5 different files. They're named pretty self-explanatory, but for verbosity I'll cover em all.

satqrzimport.adi = Upload this to QRZ for you Satellite Contacts
satlotwimport.adi = Upload This to LOTW for your Satellite Contacts
hfqrzimport.adi = Upload this to QRZ for HF
hflotwimport.adi = Upload this to LOTW for HF
sotaimport.csv = Upload this to the SOTA database

Each time you run the script it will delete these files (if they're in the directory where it's being run) and build them from scratch, if they are needed. You can keep uploading the same filenames over and over again to all the respective systems (LOTW, QRZ, SOTA) and they don't care.. it's all about what have you done lately with them.

So still Interested? Download the files Here and make your logging life lots simpler.

Anything else that might come up, hit me up on Twitter @KG5CCI.

Thursday, December 1, 2016

Oscar Century

So I hit another milestone this morning - I finally got to 100 Oscar Entities confirmed, which enabled me to apply for the AMSAT Oscar Century Award. In the process I also qualified for the 2 lower awards for 20 and 60 contacts, I just hadn't bothered with those up until now..

From Amsat's Website:

Oscar Satellite Communications Achievement Award

The Oscar Satellite Communications Achievement Award is for working 20 contacts on any satellite. A contact is defined as one with a station in your state or another state, DXCC country or Canadian call area.

Oscar Sexagesimal Award

This is the same as the Oscar Satellite Communications Achievement Award but is given for 60 satellite contacts. All the qualifications and costs are the same.

Oscar Century Award

This award is the same as the Oscar Satellite Communications Achievement Award but is given for the first 100 satellite contacts. Qualifications and costs are the same.

I'm pretty jazzed, because this is realistically the most prestigious award I can get on the Satellites with the current fleet operating the way it is. With a theoretical max distance of 8000km on AO-7, and nothing any higher, there are finite number of countries in range of me here in Arkansas, making the ARRL DXCC award next to impossible to get. Hopefully in the future we'll have some birds at a higher altitude making more DX contacts possible, For now though, I'm really happy. 


For some fun stats, Doug, N6UA gave me the most entities - at 4. Nebraska, New Mexico, Utah and Wyoming. 2nd was a tie between Patrick, WD9EWK who got me Delaware, Nevada and Arizona, and Carl, KA4H, who got me Virginia, West Virginia, and Ontario.

For the Type of Contacts I worked all 50 US States, 12 Canadian Call Areas, and 38 DX entities. Of the 38 DX entities, 13 were contacts made by portable operators not native to that entity, and 2 were made by the same portable operator (Tor, DJ8MS operating from /LA and /OZ) and 11 contacts were made in excess of 7000km.

I was able to confirm 80% of my contacts using LOTW - and the rest were confirmed via direct mail card. Also every single contact was made using portable handheld equipment on my end, and completed using FM Voice or SSB Voice (No CW). I've never operated using a tower or an automated rotor, and the maximum power I've ever used is 40W. I think it's a great testament to what you can do on the Satellites when you challenge the accepted norms, and start thinking outside the box.

From here, the focus is back on grids.. currently sitting at 474 confirmed with 525 total worked. The chase never ends.