Captured On Earth Photography
Photographs by Wes Hardaker

Put The World On Your Wall

Tools for Hams

Hamtools is simply a collection of random tools that have been written for doing various things with amateur radio. The software has been developed on linux but should work on all unix-ish platforms and some of them should work on windows as well (all the ones that aren't Hamlib based).


See the Download List

The Tools

Cute CW

Cute CW provides CW training in a multiple-step process. It concentrates on getting your accuracy up first, followed by speed, common word recognition and character grouping. It also contains modes for simply "playing" with CW, including some training games.

Download (linux, windows or maemo)

Online Simplex Mapping System

Mapping the reachability from station to station is important in order to document and study which stations are able to reach which other stations. My simplex mapping software eases this task by allowing each listening to station to report what they can hear and how strong the signals are. The results can then be mapped to obtain a better understanding of message routing, etc.


cq provides the ability to control a CAT controlled radio. It is designed to provide intelligent, prioritized frequency scanning.


signalrecord monitors a CAT controlled radio for changes in signal levels and records the results. The data can then be fed to sig2kml or signalcount for processing (or to your own tool; the output is simple XML)


sig2kml combines recorded signals and GPS track data to produce receiption quality maps either in png or kml format. This example below was created taking measurements while riding a bike.


signalcount counts signals recorded in the output from signalrecord and produces output suitable for bar graphs.


The NEC language is fairly complex to understand and use. ezrnec is designed to to simplify the modeling language.

# define a dipole

# configurable values:
define height 15ft
define freq 14.200

# calculated values:
define width ${468/@{freq}/2}ft
output Calculated width: %{width} ft

# the antenna
wire tag=left    0,0, %{height}  -@{width}, 0, %{height}    
wire tag=right    0,0, %{height}  @{width}, 0, %{height}    

# apply a voltage on the first segment of the "left" most wire
volt left 1

# sweep the simulation to the left and right of the defined frequency
freq ${%{freq} - .5} ${%{freq} + .5}

Wes Hardaker Last modified: Tue Mar 24 14:55:19 PDT 2009