International Beacon Project

(Please note that this program will not run without a valid GPS signal)

The International Beacon Project (IBP) program makes the RFzero capable of transmitting CW on five predefined HF frequencies (14,100 MHz, 18,110 MHz, 21,150 MHz, 24,930 MHz and 28,200 MHz).

The configuration is done via the USB port. It is possible to wait for the RFzero to warm up for up to 255 s before starting to transmit.

During the CW part of the sequence the TX LED will flash and during power steps it will be lit for 1 s.

When GPS signals are received the PPS LED flashes ones per second and when the status of the GPS signal is valid the Valid LED is lit. Then the program waits for the right minute and seconds to arrive before transmitting.

The ULN2803A is used to identify the band, D4 to D0, for controlling an external filter bank and the power steps, D7 to D5.

The beacon sequence

When the GPS time is valid the beacon transmits ones on each band ones every three minutes. The transmission consists of the call sign of the beacon sent at 22 words per minute followed by four one-second dashes.

At the end of each 10 second transmission, the beacon steps to the next higher band and the next beacon in the sequence begins transmitting.

If the GPS signal is invalid the beacon suspends transmitting until the GPS becomes valid again. This is to prevent the beacon of being out of sync and transmit on top of the other beacons.


To setup the type of display used please use the “wr display” command. If you want to change what is shown on the display please edit the display.cpp file.

Please see the display page for more information.

LCD 16×2

The display shows the UTC minutes and seconds, the GPS status, the number of satellites and the HDOP.

Example of an LCD 16×2.

LCD 20×4

The display shows the GPS status, the number of satellites, the HDOP as a bar graph, the UTC, call sign and locator of the beacon and the frequency.

Example of an LCD 20×4.


The configuration of the program is done via the USB port, 9600 Baud, 8 bits, no parity and one stop bit, using a terminal program (e.g. Arduino IDE Serial Monitor, Termite Terminal (Windows), CuteCom (Linux) or Terminal (Mac OS) or the RFzero Manager (Windows)). Please connect the RFzero via a USB data cable to your computer and connect the terminal program to the right COM port in the terminal program. The RFzero identifies itself as an Arduino Zero (Windows Device Manager).

If you don’t see the RFzero> or RFzero config> prompts please press the enter key. When you want to execute a command you don’t have to enter the prompt but only the command and parameters after the >.

Changes to the configuration does not take effect before leaving the configuration mode.

All input to the RFzero must be in lowercase.

To enter the configuration mode please enter   config   at the RFzero> prompt, i.e.

RFzero> config

To see the available commands please enter   ?   at the RFzero config> prompt, i.e.

RFzero config> ?

To leave the configuration mode please enter   exit   at the RFzero config> prompt, i.e.

RFzero config> exit

When in configuration mode, i.e. when you see the RFzero config> prompt, the most frequent commands are

rd cfg

to see the configuration that will be used after exiting the configuration mode.

wr defaults

to set most of parameters to their default values. Please see the actual program for the specific default values.

wr t1 MODE

to set the T1 H/W mode where MODE is

  • 0: Transformer (default)
  • 1: Combiner
  • 2: None

wr display MODE

to set the display mode where MODE is

  • 0: None
  • 1: LCD 16 characters and two lines, HD44780 interface
  • 2: LCD 20 characters and four lines, HD44780 interface
  • 3: LCD 16 characters and two lines, HD44780 via I2C PCF8574 interface
  • 4: LCD 20 characters and four lines, HD44780 via I2C PCF8574 interface
  • 5: Graphics display, ILI9341 SPI interface
  • 6: Graphics display, ILI9488 SPI interface

wr bcn CALL

where CALL is the beacon call sign, max 15 characters.

wr ibp MIN SEC

where the MIN and SEC are the fundamental IBP transmission minute and seconds.

wr warmup SECONDS

where SECONDS is the number of seconds to wait for the RFzero to warm up.

wr level LEVEL

where LEVEL is the drive strength current in the output stages. This effectively changes the output power by up to 10 dB, but varies somewhat with frequency. Valid LEVEL values are

  • 0: 2 mA
  • 1: 4 mA
  • 2: 6 mA
  • 3: 8 mA, default level

To read more about the drive strength current please consult the Si5351A datasheet.

wr gps MODE

  • 0: hide all NMEA strings
  • 1: show the $GPGGA and $GPZDA NMEA strings
  • 2: show the $GPGGA, $GPGLL, $GPGRS, $GPGSA, $GPGST, $GPGSV, $GPRMC, $GPVTG and $GPZDA NMEA strings

More commands are available so please enter a question mark (?) at the RFzero config> prompt to see them.