Table of contents
The RFzero library supports a number of displays and protocols. If you want to use a different display or protocol, you will have to integrate this yourself. If you can find others who have done it before for an Arduino or even better for the Arduino Zero, you will have a good start.
The supported displays and display modes.
Display | Mode | Protocol | Wires | Extra hardware | Type | Resolution |
---|---|---|---|---|---|---|
None | 0 | |||||
HD44780 16x2 | 1 | 4 bits parallel | 12 | Character | 16 characters x 2 lines | |
HD44780 20x4 | 2 | 4 bits parallel | 12 | Character | 20 characters x 4 lines | |
HD44780 16x2 | 3 | I2C | 4 | PCF8574 module | Character | 16 characters x 2 lines |
HD44780 20x4 | 4 | I2C | 4 | PCF8574 module | Character | 20 characters x 4 lines |
ILI9341 | 5 | SPI (no parallel) | 8 | Graphic | 320 pixels x 240 pixels (4:3) | |
ILI9488 | 6 | SPI (no parallel) | 8 | Graphic | 480 pixels x 320 pixels (3:2) |
Please remember that if you use display mode 3 or 4, and don’t have the necessary pull-up resistors in place your RFzero is likely to freeze. This is not an RFzero thing but a general issue with Arduino. If it does happen please see the troubleshooting guide. You also need to set the I2C address of the PCF8574, PCF8574A or PCF8574T in the configuration. Furthermore, does the adaptor board control the contrast and backlight levels not the RFzero.
Display mode 1 and 2
Display mode 1 and 2 connections.
Signal | RFzero | Pin | Display | Pin |
---|---|---|---|---|
GND | GND | JP12-1 | VSS | 1 |
3V3/VI | 3V3/VI | JP12-2 | VCC | 2 |
Contrast | Contrast | JP12-3 | V0 | 3 |
Select registers | D14 | JP12-4 | RS | 4 |
Read/Write | Write (GND) | JP12-5 | R/W | 5 |
Enable | D15 | JP12-6 | Enable | 6 |
Data 4 | D10 | JP12-7 | DB4 or D4 | 11 |
Data 5 | D11 | JP12-8 | DB5 or D5 | 12 |
Data 6 | D12 | JP12-9 | DB6 or D6 | 13 |
Data 7 | D13 | JP12-10 | DB7 or D7 | 14 |
Backlight positive | Backlight positive | JP12-11 | Anode | 15 |
Backlight GND | GND | JP12-12 | Cathode | 16 |
PCB layout of a typical parallel HD44780 LCD.
LCD voltage jumper
Before you connect any LCD to the LCD header please make sure 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).
Display mode 2 and 4
Display mode 3 and 4 connections.
Signal | RFzero | Pin | PCF8574 | Display | Pin |
---|---|---|---|---|---|
GND | GND | JP11-1 | VSS | VSS | 1 |
3V3 | 3V3 | JP11-2 | VDD | VDD | 2 |
SDA | D8 | JP11-3 | SDA | ||
SCL | D9 | JP11-4 | SCL | ||
Contrast | VO | 3 | |||
Register select | P4 | RS | 4 | ||
Read/write | P5 | R/W | 5 | ||
Enable | P6 | Enable | 6 | ||
Data 4 | P0 | DB4 | 11 | ||
Data 5 | P1 | DB5 | 12 | ||
Data 6 | P2 | DB6 | 13 | ||
Data 7 | P3 | DB7 | 14 | ||
Backlight positive | Anode | 15 | |||
Backlight GND | Cathode | 16 |
I2C addresses for the PCF8574 variants.
A2 | A1 | A0 | PCF8574 | PCF8574A | PCF8574T |
---|---|---|---|---|---|
GND | GND | GND | 0x20 | 0x38 | 0x20 |
GND | GND | 3V3 | 0x21 | 0x39 | 0x21 |
GND | 3V3 | GND | 0x22 | 0x3A | 0x22 |
GND | 3V3 | 3V3 | 0x23 | 0x3B | 0x23 |
3V3 | GND | GND | 0x24 | 0x3C | 0x24 |
3V3 | GND | 3V3 | 0x25 | 0x3D | 0x25 |
3V3 | 3V3 | GND | 0x26 | 0x3E | 0x26 |
3V3 | 3V3 | 3V3 | 0x27 | 0x3F | 0x27 |
Example of a PCF8574T module.
Display mode 5 and 6
Display mode 5 and 6 connections.
Signal | RFzero | Pin | Display | Pin |
---|---|---|---|---|
3V3 | 3V3 | 3V3 | VCC | 1 |
GND | GND | GND | GND | 2 |
Chip select | D10 | JP11-5 | CS | 3 |
Reset | D11 | JP11-6 | RESET | 4 |
Register/data selection | D12 | JP11-7 | DC or DC/RS | 5 |
MOSI | D18 | JP10-5 | SDI, MOSI or SDI (MOSI) | 6 |
SCK | D19 | JP10-6 | SCK | 7 |
Backlight | 3V3 | 3V3 | LED | 8 |
MISO (currently not used) | D16 | JP10-3 | SDO (MISO) | 9 |
Example of an ILI9341 TFT display.