Software

Since the RFzero is compatible with the world of Arduino you can make a smooth integration of the RFzero library and programs into the Arduino Integrated Development Environment (IDE). However, instead of installing the Arduino IDE you may chose to install the RFzero Manager. This may be relevant if all you want to do is to use the RFzero programs or programs made by others. You can download and see more about the RFzero Manager here.

Arduino IDE installation

If you haven’t installed the Arduino (IDE) already please do so first. Once the Arduino IDE has been installed please perform the below steps 1), 2) and 3). Afterwards you may proceed to the step 4) Uploading the standard RFzero programs.

1) Add the RFzero library path

From the Arduino IDE select Menu | File | Preferences. To the Additional Boards Manager URLs input field please add:

Please make sure you remember the http:// part!

Windows path

The RFzero package is automatically installed in: C:\Users\<User>\appdata\Local\Arduino15\packages\RFzero, where <User> is your account user name.

Linux path

The RFzero package is automatically installed in: $HOME/.arduino15/packages/RFzero.

Mac OS path

The RFzero package is automatically installed in: /Users/<User>/Library/Arduino15/packages/RFzero, where <User> is your account user name.

2) Add the Arduino SAMD Boards and the RFzero SAMD boards

From the Arduino IDE select Menu | Tools | Board: “…“ | Board Manager …  (at the very top of the list). Type “samd” next to the Type ALL to narrow the search result.

Then click on “Arduino SAMD Boards (32-bits ARM Cortex-M0+) …” and install/update to version 1.6.20. Please DO NOT install other versions because they may not run together with the RFzero S/W and may also prevent the compilation of programs from taking place.

If the installation process asks if you want to install additional Arduino relevant programs please do so. Then click on “RFzero SAMD Boards (GPS based RF Clock Generator) …” and install/update to the latest RFzero S/W version.

If you cannot see the “RFzero SAMD Boards (GPS based RF Clock Generator) …” library you have not completed Step 1) above correctly, e.g. wrong link, not done at all … For using the RFzero the other SAMD Boards options are not necessary.

You have now integrated the RFzero into the Arduino IDE like any other native Arduino board.

Please note that since the RFzero is both a hardware board and software library you cannot find the RFzero in the Arduino Library Manager. Neither are you able to find the RFzero library in the default Arduino “library” sub-directory of the Sketchbook location nor should you copy/move the RFzero library to this location.

3) Select RFzero as board

To set the target board to RFzero please go to Menu | Tools | Board “…” and scroll down the list until you see the RFzero board and select it.

In Arduino IDEs prior to 1.8.13 the board selection layout is slightly different.

Then select the right COM port from the Menu | Tools | Port … The RFzero identify itself as an “Arduino/Genuino Zero (Native USB Port)”.

You are now ready to go. However, if you want you can check that the Arduino IDE actually can see the RFzero from the Arduino IDE select Menu | Tools | Get Board Info.

4) Uploading the standard RFzero programs

You may even use the RFzero programs that have also been installed automatically, and are available from the Arduino IDE select Menu | File | Examples | Examples for RFzero.

To compile and upload a program to the RFzero click on Menu | Sketch | Upload or press Ctrl + U.


Troubleshooting

If you are having problem with the installation or updating please see the troubleshooting page.


Arduino IDE check

If you want to check if you performed the installation steps correctly you can try to compile this ultra small program from within the Arduino IDE:

Uploading the program to your RFzero is not necessary because it has no real functionality. But the SerialGPS is unique to the RFzero.


Writing programs for the RFzero

The RFzero has an onboard EEPROM which can be used to store and retrieve the program settings if any. The following structure is recommended to get everything in place and in the right order.

A simple frequency generating program

The below program generates a steady carrier on 10 MHz, however, it is not GPS locked.