Software

The RFzero library is in fact divided into three libraries called the RFzero standard library and the RFzero_modes library and a general purpose library called RFzero_util.

The RFzero library provides functions to work with all the RFzero hardware, e.g. EEPROM, GPS, MCU pins and Si5351A. This library should be included whenever you work with the RFzero. This is done by inserting the following piece of code in your program.

The RFzero modes library has functions to convert messages and work with CW and digital modes (MGM: FT4, FT8, JS8, JT9, PI4, WSPR …) and is always used in combination with the RFzero standard library. The modes library is included by inserting the following piece of code in your program after the #include <RFzero.h>.

The RFzero utilities library has a collection of handy functions that are not  specific to the RFzero. The utilities library is included by inserting the following piece of code in your program after the #include <RFzero.h>.

The above lines should be inserted at the top of the .ino file.


Software bugs

If you find bugs or oddities in the example programs or tutorials please contact us for clarification or fixing the bugs. You may also post a message at the RFzero user group.

If you are in doubt, whether the bug is software or hardware related, you can try to run the BoardTest example program first. It has been thoroughly tested and is known to run flawlessly.

You may also consult the troubleshooting page.


(Re)burning the bootloader

The bootloader has been burned into the RFzero at the factory. Should you ever want to reburn the bootloader, for whatever reason, you will need an Atmel SAM-ICE programmer and a SAM to Cortex cable.

Then the process is as follows

  1. Connect the programmer to the JP9 connector on the RFzero and to the computer
  2. Select the RFzero board in the Arduino IDE Menu | Tools | Board | RFzero
  3. Select the Atmel SAM-ICE programmer in the Arduino IDE Menu | Tools | Programmer | Atmel SAM-ICE
  4. Finally select Arduino IDE Menu | Tools | Burn Bootloader

Release history

The following versions will show up in Board Manager when the RFzero library path has been installed.

Legacy versions are provided for compatibility with older applications that are not easily rewritten. Unless you have an otherwise unsolvable issue that requires a specific version, it is highly recommended using the latest version.

VersionStatusDateNotes
0.9.0Pre-releaseNot yet released

Expected release
date is end of
May 2020
New
- Signal generator program
- Signal generator hardware connection test program
- The example programs are now able to use either a 16x2 or 20x4 LCD
- Library documented on web

Bug fixes/changes/corrections/optimizations
- Big library upgrade and streamlining
- In the WSPR transmitter program the syntax of the wr seq command has been changed from BAND to INDEX to allow a less rigid configuration, e.g. twice on the same band but with different control bits
- All existing programs have been updated to match the new library
- The low frequency limit has been changed from 2605 Hz to 2289 Hz

Since this is a major rework of the library new errors may have been introduced or things that worked before may not work now etc. So if you like to use a thoroughly tested library use 0.8.7 until the 0.9.x branch has been matured.
0.8.7Pre-release2020-03-17Bug fixes
- JS8 encoding unintentionally printed symbols to the USB port
- QO-100/Es'Hail default frequencies did not match help
- WSPRTX day/night sequence did not work

This is a very robust version of the library
0.8.6Pre-release2019-12-03New
- Beacon FT4 + CW + carrier
- Beacon JS8 (HB) + CW + carrier
- Multi LO with five frequencies with pin dection (D16-D19)
- Most programs show library and program version when starting

Bug fixes/changes/corrections/optimizations
- Improved handling of GPS and USB communication
- QO-100/Es'Hail with much better frequency precision
- WSPR offset moved 1½ tone down to match the "specification"
- Local time can now be +14 hours relative to UTC

Updating is recommended
0.8.5Pre-release2019-06-02New
- The QO100 example program for the QO-100/Es'hail satellite
- Framework for two-tone generation
- Correction for leap seconds before received from the GPS satellites
- An example program called Template that you may use as the foundation for writing your own program(s)

Bug fixes/changes/corrections/optimizations
- Frequencies above ~298 MHz in the PI4 and WSPR multiplied beacons example programs
- Max length messages/calls for FT8, JT9, PI4 and WSPR
- Automatic locator updating in WSPRTX
- Other minor bugs

Updating is recommended
0.8.3Pre-release2019-05-04Same as 0.8.2
0.8.2Pre-release2019-05-03Fixes several bugs in 0.8.0

Updating is recommended
0.8.0First
pre-release
2019-04-24Major pre-release and base for future builds

Release policy

In general the latest version should be used, however, a increase in major release number may introduce an incompatibility with older application code. Version numbers are X.Y.Z and should be regarded as follows:

Number (X.Y.Z)ReleasePurpose
First (X)MajorMajor rewrite, upgrades are likely to be break existing code
Second (Y)MinorNew feature or severe bug fix. Likely transparent
Third (Z)MaintenanceTransparent clean-up or trivial bug fix