RFzero specifications

Voltage5 VVoltage on JP1. On the USB connector the max voltage is 5 V. Absolute max voltage is 9 V for shorter periods
Current70 mA, 1)
110 mA, 2)
500 mA, 3)
1) No LCD or GPS antenna connected. Program with empty setup and loop
2) Beacon program with LCD and GPS antenna connected
3) Maximum total current
Supply connector2 pin terminal block Ø1 mm wire
GPS connectorSMA female3,3 V DC to GPS pre-amp. Optional GPS USB connection on bottom side
RF power13 dBm400 kHz to 200 MHz
RF clock27 MHz, 10 PPM
RF connectorSMA female
USB connectorUSB B female
Micro controllerATSAMD21G1832 bit ARM Cortex M0+
MCU clock48 MHz, 10 PPM
Flash memory256 kB
EEPROM1 kBChangeable. 8 pin DIP in socket
DC current per I/O pin7 mA
MCU connector10 pin Cortex2 x 5 pin 50 mil connector
Analog inputs812 bits
Analog output110 bits
Digital I/Os28Hereof up to eight can be analog
DriverULN2803A8 bit Darlington array 50 V and 500 mA. In socket for easy replacement
PWM pins16Pins D0-D11 and A2-A5 on TCC0/1/2 and TC3
I2C, SPI and UART ports3, 4, 4SERCOM ports
LCD connectorSIL 12 pin 2,54 malePin 1-6 to LCD pin 1-6 (VSS-E), and pin 7-12 to LCD pin 11-16 (DB4-Cathode)
Not factory mounted
LCD voltage jumper¹SIL 3 pin 2,54 male3,3 V or VI that is about 0,5 V below the supply connector or USB voltage whichever is highest. Not factory mounted
HeadersSIL 2,54 mm maleNot factory mounted
Ground loopØ1,5 mm cobber wireNot factory mounted
LEDs3 mmThe four 3 mm LEDs are not factory mounted. One on-board Test LED
Size99,5 mm x 79 mmHalf Eurocard PCB. Fits into a standard metal sheet box (Weissblechgehäuse) 102 mm x 82 mm x 30 mm for optimum RF shielding
Weight30 g

¹: The LCD can be supplied either by 3,3 V or VI using the JP13 jumper. But the control and data lines are always 3,3 V logic. Different contrast and backlight values apply. The backlight can be increased by adding a blob of solder to the SJ1 solder joint shorting the R16 backlight resistor.

The reason for not factory mounting the LEDs and headers is to allow for individual configuration e.g. mounting the LEDs through a front plate and only install the relevant jumpers/headers.

LCD connections

The RFzero can use both 3,3 V and 5 V liquid crystal displays (LCD), but, if using a 5 V LCD the logic communication has to work on 3,3 V level. Most modern 5 V LCDs are able to do this but if you have an old 5 V LCD it may not work. If you are to buy a new LCD please ask the seller specifically for a 3,3 V LCD.

RFzero, and Arduino in general, supports LCDs that are compatible with the Hitachi HD44780 specification. You can use other standards but in this case you may have to find a third party display library or write it yourself.

LCD voltage jumper

Before you connect any LCD to the LCD header please ensure you have set the correct drive voltage for the LCD on the LCD voltage select header – JP13. Alternatively, if you know that you will always be using one of the voltages you could short the relevant jumper position with a small piece of wire that is soldered in place.

The LCD voltage header JP13.

The LCD voltage set to use VI

Please note that if you run the LCD on the VI level the contrast and backlight will change if the VI is changed.

The LCD voltage set to use 3,3 V (3V3).

LCD header and connections

The RFzero LCD header JP12 is prepared for LCDs that comply with the Hitachi HD44780 specification. Using two cables with six wires in each you can easily connect the LCD to the RFzero board. One cable should go to the left side of JP12 (GND, V LCD, CON, RS, R/W and ENA) and the other cable to the right side of JP12 (DB4, DB5, DB6, DB7, Anode and Cathode).

The LCD header JP12.

On the backside of the LCD connect the two cables to “each end” of the 16 pads/pin header leaving the four in the middle unused.

Two six wire cables connected to a LCD pins 1-6 and 11-16.

The RFzero LCD header is designed to run the LCD in four bits mode, i.e. LCD data on D7 to D4. If you need to run your LCD in eight bits mode you will have to take the remainder four bits from some of the other pins available on the RFzero and connect them to the D3 to D0 pins on the LCD.

LCD contrast and backlight

The contrast of the LCD can be controlled on the R15 trimmer. Please note that if you run the LCD on the VI level the contrast will change if VI is changed.

If you think that the backlight is not strong enough for the place where you will use your RFzero you can add a blob of solder to the SJ1 solder jumper. Doing so shorts R16 so the backlight resistor goes from 20 Ω to 10 Ω allowing more current to the LCD.

The R15 LCD contrast trimmer and SJ1 solder jumper.

Please note that if you run the LCD on the VI level the backlight will change if the input voltage is changed.

Debugging, test points and GPS USB

The RFzero board contains a number of test points that can be used for troubleshooting or optional access. Keep in mind that you can also use the Test LED as an aid in the software debugging.

TP1VI (about 0,5 V below the supply voltage)~4,5 V if supplied from 5 V or USBAnalog
TP2Voltage on the digital circuit3,3 VAnalog
TP3Voltage on the Si5351A3,3 VAnalog
TP4USB DPUSB serial dataDigital
TP5USB DMUSB serial dataDigital
TP6GPS data out (TX, GDO)Serial dataDigital
TP7GPS control data in (RX, GCI)Serial dataDigital
TP8GPS PPS (GPO)One pulse per second and 100 ms wide (default)Digital
TP9GPS pre-amplifier voltage3,3 VAnalog
TP10I2C/Wire internal SCLSerial data to/from the EEPROM and Si5351ADigital
TP11I2C/Wire internal SDASerial data to/from the EEPROM and Si5351ADigital
TP12Ground on bottom side of the PCBGroundAnalog
TP13Optional GPS USB DP on the bottom side of the PCBUSB serial data to/from the GPSDigital
TP14Optional GPS USB DM on the bottom side of the PCBUSB serial data to/from the GPSDigital

The TP12, TP13 and TP14  test points on the bottom side can be used to access the u-blox NEO-7M directly via an USB port, e.g. for synchronizing a PC to the GPS network. By default this optional GPS access is disabled. To enable it simply short the SJ2 solder jumper on the bottom side.

The bottom side of the PCB showing the optional GPS solder points where G = Ground, M = DM, P = DP and the SJ2 solder jumper (square pads).

Pin outs, schematic and component locations

RFzero MCU, names and board pinout

RFzero schematic, PCB v1.1

RFzero schematic, PCB v.1.0

An on-board low/high pass filter can be designed using the free Elsie by Tonne Software Jim, W4ENE. It is a highly recommended filter design program that you can use to design your own RFzero low/high pass filter if relevant.

RFzero component locations, PCB v1.1

RFzero component locations, PCB v1.0


If you want to expand the RFzero board with your own circuit you can easily add a shield that covers the analog and digital MCU pins found on JP2: GND and VI, JP3: USB, JP4: A0-A5, JP5/JP6: D0-D7, JP10: D16-D19, JP11: D8-D15, and JP12: LCD.

The size of the shield should be slightly larger than 19 modules x 24 modules (~50 mm x ~63 mm) to make a perfect fit.

You can make your own shield from a standard Vero-board.

If you have a shield mounted on your RFzero and want to access the GPS module you can do this via JP7. You may even connect several shields by daisy chaining the GPS Data Out (GDO), GPS PPS Out (GPO) and ground (GND) from the RFzero to the shield.

Key datasheets

Atmel SAM D21G SMART ARM-based microcontroller

Microchip EEPROM 24LC08B

Si5351A and Si5351A programming guide

In the RFzero library the Feedback Multisynth Divider variables are named a, b and c, just like in the datasheet/programming guide. However, the Output Multisynth Divider variables are named d, e and f instead of a, b and c to make the code easier to distinguish.

T1 Coilcraft PWB-2-BLB and T1 Mini-Circuits ADP-2-1W+

The Coilcraft PWB-2-BLB transformer is the default T1 component.

u-blox NEO-7M and u-blox NEO-7M receiver description and protocol specification

ULN2803A Darlington transistor array