Matt Roberts

A Page in Progress

Contact by Email
matt-at-kk5jy-dot-net

Personal
First, some links about me, and my current activities:

Resume: I have spent time wearing a lot of different hats.  If you are looking for someone to join your technical team, check out my current resume.

Faith: I encourage you to check out the links to Faith, below, for a number of websites about faith in Jesus Christ.  Always remember that the story of the entire Bible is how a Holy God reconciles sinful man to Himself through His Son.

Hobbies: If it is possible to have too many hobbies, then I have too many. Probably more than any other, I enjoy tinkering with an old hobby, Amateur Radio.  On the air, my activity is almost completely limited to digital modes, including RTTY, Olivia, and CW, and mostly during contests.

Radio Projects
Several radio-related articles are available below, divided into a few broad categories.  Projects include antennas, automation, software and firmware. Transmitting and receiving antennas are grouped separately, although transmitting antennas are also certainly capable of reception.

HF Receiving Antennas

Loop on Ground - Receiving Antenna for HF Low Bands
This is an experimental antenna for HF reception.  It consists of a single loop element mounted on the ground.  It is stealthy, small, and quiet.  EZ-NEC plots are included.

Small Loop Antenna Array for HF Reception
This is a two-element array of directly-fed, nonresonant, small loop antennas, used for highly-directive reception on the longer wavelengths.  EZ-NEC analysis is included, and a first draft build of the antenna is described.

The Single Small Loop Element for HF Reception
As a sort of prequel to the article above, this article discusses the single loop as an HF receive antenna.  The single element has some advantages, even over the two-element array, and is a serious option for long-wavelength HF work.

HF Phased Array Antenna, using Dipole-on-Ground Elements
This is another HF receive antenna: a two-element array of nonresonant short dipole antennas, installed on the ground, for highly-directive reception on the longer wavelengths.  EZ-NEC analysis is included.  This is an ongoing project, and the first hardware installation is still in the design stage.

HF Transmitting Antennas

Small/Magnetic Loop Antenna Projects
This article describes my recent experiments using small transmitting loops for high power levels at HF.  It covers construction considerations and outlines the process I followed and some of the experiments done with these antennas.

A Small, but not Compact, 160m Transmitting Loop for Small Lot Contesting
As a companion project to the Loop on Ground antenna, this is a 160m small transmitting loop that I constructed for winter 160m CW contesting from my small residental space.

Genetic Algorithms for Small Loop Antenna Design
This project uses GA/GP/EC techniques to optimize small transmitting loop antenna designs, while balancing competing design constraints.

The $50 QRO Multi-Band Dipole
This article describes a series of projects and experiments using window line for remote matching of a multi-band high-power dipole for HF.  The resulting antenna can easily handle any legal power level on multiple bands, without the need for expensive reactive elements.

Antenna System Automation and Monitoring

AutoCap
Another loop-related project I am working on is an auto-tuner for QRO small loops, which is being tested right now.  The software is a .Net application, paired with Arduino hardware.

AutoCap Firmware v1.5
The AutoCap project supports an optional component, which is an Arduino microcontroller for managing a motorized capacitor on a small loop antenna.  The firmware is intended to be used with the AutoCap software, but it can also be used in a stand-alone application.  The newest version supports a complete user interface with a display and buttons to completely manage the motor movement, with or without a PC.  This enables remote manual control of a motor with the same precision as can be accomplished with the AutoCap desktop software.

Digital SWR Meter Project
In order to make the AutoCap project completely Open Source, I have added a project for an inexpensive USB SWR meter kit, also based on Arduino hardware.  Support for this kit has been added to the AutoCap software.

RotorCraft
Looking for a simple, elegant rotor control console for Windows or Linux?  So was I, and I couldn't find one!  So I wrote this one as a companion for the rotor controller project listed above.  This version is based on .Net, so it runs on Windows and Linux.

The $70 Digital Rotator Controller
This is a brief article about using an Arduino to build a rotor controller for my back yard hexbeam, based on updated K3NG firmware.

Digital Modes

A PSK-31 Modem for Arduino
This is a follow-up project to the RTTY and CW modem projects, and rounds out my pursuit of an Arduino implementation of the "big three" digital modes.  This modem does audio decoding and encoding of PSK-31, and can be configured for other speeds.  The modem uses an Arduino UNO and can be fully operated from a simply serial terminal.

A RTTY Modem for Arduino
This is a follow-up project to the CW modem.  This modem does RTTY decoding and encoding, and can do generate both logic-level and AFSK output for transmission.  The modem uses an Arduino UNO and can be fully operated from a simply serial terminal.  The hardware interfaces developed can also be used for the CW modem project.

A CW Modem for Arduino
I gave myself the challenge of getting a tiny Arduino board to do both CW encoding and decoding, just using the CPU power that was on the board.  This article supports the hardware and firmware developed to meet the challenge.  The decoder supports reading CW tone data from either a dedicated hardware decoder IC, or from audio data using the Arduino's A/D input.

Other Stuff

A Homebrew Mobile Mount for Nearly Any Vehicle
I was rather unsatisified with the available options for mounting an HF radio control head into the various vehicles I have driven, so I set out to make one that would be universal, effective, ergonomic, and as it turns out, very inexpensive.

License Study Software for FCC Elements
While studying for my commercial FCC license elements, I wrote this program to help me drill the entire question pool.  The presentation is much like flashcard study, and was very effective in preparing me for the commercial elements in a short amount of time.  The software has now been extended to US Amateur Radio license question pools.

Software Projects
Below, you will see some examples of other software projects.  They are mostly here as an appendix to my resume, to show some additional work product in support of the skill sets listed there.  These are mainly small utilities and libraries I have written to make my life useful in different projects. If you would like to see my coding style, these are some examples.  Everything here is GPL or LGPL licensed.

MY++
This is a C++ library that contains tools for many things that I couldn't find in C++ standard libraries.  Since I started this project, many things have been added to C++, but it's still a useful library for me.

Simple Image Viewer
This is a C#.Net application that I cooked up in an evening to be able to animate and view long lists of SOHO imagery from NASA.  I have thousands of these images backlogged, and I want to flip through them quickly to find anomolous frames.  Not finding a ready-made tool that I liked, I just used C#.Net to make one.  This project requires the CLR 2.0, which does most of the heavy-lifting.

Monopole Antenna Efficiency Calculator
This is a C#.Net application that calculates the efficiency of an electrically-short monopole antenna, given several parameters about the antenna system. Requires MS CLR 2.0.

sgateway
The sgateway package implements a serial (RS-232) gateway between two different Linux systems. Building the package requires the my++ library, above.

qmail-listfile
This is a simple delivery filter for Qmail. It is meant for invocation from the dot-qmail file in the user's home directory. This package requires my++, above, to build properly.

daylog
This is a pipeline logger, similar in usage to multilog from DJB's daemontools package. This logger is different, in that it creates a file for each clock day that it is run, rather than rotating files based on logfile size, as is the case with multilog. I still use multilog for many apps, but for specific projects, I needed a more calendar-based logger, and this was it. Written originally in C, the source is now C++, with a very C feel.

id3util
This is a utility written in Python which makes use of the ID3 Library and its associated Python extension to tag MP3 and OGG files. I couldn't find a really flexible tagging program that could be easily scripted on the command line, so I wrote one.

timelimit
One of my first Ruby projects, this utility runs a child process for a specified maximum time, and then terminates it if it tries to run longer.  This is a tool I use for scripting programs that I want to run over a specific time of day, such as recording my favorite radio programs, so I can listen to them later.

bintail
The bintail package contains a single application, bintail. The program reads a normal file from disk, and pipes the output to stdout, byte-by-byte, with no translation, similar to what tail(1) does to text files. This is useful for "tailing" binary files, such as WAV files, while they are being written in realtime. This app is a work in progress, but it already does what it was designed to do for me.

Favorites
These are links to many of my favorite and/or most-used sites. I have some rather diverse interests:

Faith
Bible Gateway and Blue Letter Bible - The scripture online - in many languages.
E-Sword - Incredible FREE Bible study software.
Stillwater Bible Church - Home of my favorite Bible teacher.
Koinonia House (K-House) - Home of my second favorite Bible teacher.

Software
Mozilla - Home of Firefox and Thunderbird.
VanDyke Software - Home of SecureCRT - great terminal emulation software.
GNU Software - Organization for developers of Free & Open Source software.
Free Software Foundation - Advocacy organization for FOSS.
Linux Kernel - The main workhorse of my day.
Samba - Share files to Windows -- better than Windows!
VIM - An awesome editor.
DJB's Software - DJB writes Unix software the way Unix software is supposed to work.

Software Development
GCC - All you could ever want in a C/C++ compiler.
Python - A very expressive high-level language.
Ruby - Another very expressive HLL; Ruby Docs - Ruby's documentation site.
PHP - Powerful web scripting language; sort of a cross between C and VB
LISP - How people can learn to "love" LISP is behond me, but it's hard to beat for a self-modifying programming environment. Do LISP programmers see constellations of parenthesis when they look at the stars in the sky? I think so...
MSDN - I spend a great deal of time doing Windows programming these days, for which the MSDN site is a prerequisite tool.

Web Technology
W3C - Home of HTML, CSS, XHTML, etc. - so many "standards" to choose from!
Apache - The "Swiss Army Knife" of web servers.

Electronics
Raspberry Pi - These are nice, inexpensive single-board Linux computers.  I have used these for server and applicance products, and they are very capable for their price.
Arduino - Creators of the Arduino platform.  I use many of these in my projects.
SparkFun - One of the best hobby electronics sites I have found.
AdaFruit Another hobby-friendly electronics shop.
SainSmart - Some nice Arduino clones.  I still like to support Arduino, but if you need a really inexpensive Arduino-compatible board, these deserve a look.
Mouser - Just about any electronic component you could ever want.

Amateur Radio
ARRL - The Amateur Radio Relay League in the United States.
eQSL - I really enjoy getting paper QSL cards, but that's really not very practical anymore.  This virtual alternative is a good idea.
FlDigi - Some good multimode digital software.


Document version 2017-05-14(a)