Nate Bargmann

Ham Radio Control Libraries

The following pages are part of the Hamlib Wiki:

[Download] Links to the latest stable and older releases of Hamlib.
[FAQ] Some Frequently Asked Questions about Hamlib.
[Documentation] API, utilities, and other documentation.
[Licensing] Important legal information.
[Supported Radios] Current radio support.
[Radio Specific Notes] Details on some radio backends.
[Supported Rotators] Current rotator support (incomplete).
[Rotator Specific Notes] Details on some rotor backends.
[Applications and Screen Shots] Some of the programs reported to use Hamlib.
[Network Device Control] Control via TCP sockets.
[Credits] Contributors of special note.


The Ham Radio Control Libraries, Hamlib for short, is a development effort to provide a consistent interface for programmers wanting to incorporate radio control in their programs. Hamlib is not a complete user application, rather, it is a software layer intended to make controlling various radios and other shack hardware much easier. Hamlib will allow authors of such software as logging programs, digital communications programs, or those wanting to develop the ultimate radio control software to concentrate on the user interface and the basic function of the program rather than radio control.

Hamlib design

Radios with a clone capability

Hamlib's focus is on controlling rigs that employ a port and command protocol for setting frequency, mode, VFO, PTT, etc. Most VHF/UHF transceivers do not employ such control capability but do provide for cloning the memory contents from radio to another of the same model. A related project, CHIRP, aims to support rigs with such a clone capability. Please contact the CHIRP project for support of such rigs.


English speakers seem to have two alternate pronunciations for our project:

  • Hamlib (Ham - lib, long "i", as in library.) IPA style: /'ham læb/
  • Hamlib (Ham - lib, short "i", as in liberty.) IPA style: /'ham lɪb/

Then again, we have people who say Linux "L-eye-nux" and those who say "L-in-nux"...

If you're French, the above does not apply! :-)


Most recent amateur radio transceivers allow external control of their functions through a serial interface. Unfortunately, control commands are not always consistent across a manufacturer's product line and each manufacturer's product line differs greatly from its competitors.

Hamlib attempts to solve this problem by presenting a "virtual radio" to the programmer by providing an API to actions such as setting a given VFO's frequency, setting the operating mode, querying the radio of its current status and settings, and giving the application a list of a given radio's capabilities. Unfortunately, what can be accomplished by Hamlib is limited by the radios themselves and some offer very limited capability.

Other devices, such as antenna rotators, can be placed into the hamlib control scheme. Other recent developments include network interface servers and a USB interface capability. Language bindings are provided for C, C++, Perl, Python, and TCL (more to come).

Help wanted!

Hamlib was originally the project of Frank Singleton, VK3FCS/KM5WS and Stéphane Fillod, F8CFE. In the Hamlib 1.1.0 ALPHA announcement, Frank said, "Get on board and help us write the frontend and backend libs for all the rigs out there. If we can talk to it, we want to control it!!"

The latest news is available on Hamlib News.

Discussion and user assistance is carried out on the hamlib-developer mailing list. Archives of the list and alternate ways of viewing the list (via Web page, RSS, or news reader) can be found through the Gmane Hamlib searchable archive.

The Hamlib projects needs your contribution for a big logo. Please submit your proposal (work copyrighted by you or in the public domain) to the hamlib-developer mailing list. We could use a set of icons of various sizes from web page .ico files upward.


TRADEMARKS: The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

LINKS TO THIRD PARTY SITES: This site contains links to other sites. We are not responsible for the content of any linked Web site.


Wiki: Applications and Screen Shots
Wiki: Credits
Wiki: Documentation
Wiki: Download
Wiki: FAQ
Wiki: Licensing
Wiki: Network Device Control
Wiki: Radio Specific Notes
Wiki: Rotator Specific Notes
Wiki: Supported Radios
Wiki: Supported Rotators