Boards definition¶
The boards definition lists the configuration of all the GPIOs of the main controller board connected to the EXT3 and EXT3.1 extension boards.
The hV_List_Boards
header file also provides a list of pre-configured main controller boards.
Boards configuration¶
The EXT3 and EXT3.1 extension boards exposes up to twenty pins, including GPIOs, shared pins for the SPI and I²C buses, power and ground.
Signal | Minimal | Touch | Optional |
---|---|---|---|
Power | +3.3V, Ground | ||
SPI bus | Clock, Data in | ||
Panel | Select, Reset, Busy, Data/Command |
Second select (EXT3 and EXT3.1) |
|
Flash | Select, Second select | ||
I²C bus | Clock, Data | ||
Touch | Reset, Interrupt |
The first ten pins 1
to 10
are common to all the extension boards. The other pins are specific to each extension board.
const pins_t boardRaspberryPiPico_RP2040 =
{
.panelBusy = 13, ///< EXT3 and EXT3.1 pin 3 Red -> GP13
.panelDC = 12, ///< EXT3 and EXT3.1 pin 4 Orange -> GP12
.panelReset = 11, ///< EXT3 and EXT3.1 pin 5 Yellow -> GP11
.flashCS = 10, ///< EXT3 and EXT3.1 pin 8 Violet -> GP10
.panelCS = 17, ///< EXT3 and EXT3.1 pin 9 Grey -> GP17
.panelCSS = 14, ///< EXT3 and EXT3.1 pin 12 Grey2 -> GP14
.flashCSS = 15, ///< EXT3 pin 20 or EXT3.1 pin 11 Black2 -> GP15
.touchInt = 2, ///< EXT3-Touch pin 3 Red -> GP2
.touchReset = 3, ///< EXT3-Touch pin 4 Orange -> GP3
.panelPower = NOT_CONNECTED, ///< Optional power circuit
.cardCS = NOT_CONNECTED, ///< External SD-card board
.cardDetect = NOT_CONNECTED, ///< External SD-card board
};
The library uses the structure pins_t
to define all the GPIOs of the main controller boards, except those shared by the SPI and I²C buses.
pins_t myBoard = boardRaspberryPiPico_RP2040;
Screen_EPD_EXT3_Fast myScreen(eScreen_EPD_271_PS_09, boardRaspberryPiPico_RP2040);
The boards configuration defines all the GPIOs of the main controller boards connected to the EXT3 and EXT3.1 extension boards, plus two signal for an external SD-card baord.
Example
The variable myBoard.panelReset
gives access to the pin number of the panel reset signal.
Common pins¶
Pins 1
to 10
are compatible with all the extension boards.
Variable | Number | Signal | Type | Function |
---|---|---|---|---|
1 | VCC +3.3V | P |
Power Supply | |
2 | SPI SCK | SPI |
SPI clock | |
.panelBusy |
3 | Panel !BUSY | O |
Panel busy signal |
.panelDC |
4 | Panel D/C | I |
Panel Data/Command control |
.panelReset |
5 | Panel /RESET | I |
Panel reset |
6 | SPI MISO | SPI |
SPI MISO | |
7 | SPI MOSI | SPI |
SPI MOSI | |
.flashCS |
8 | Flash /CS | I |
Flash chip select |
.panelCS |
9 | Panel /CS | I |
Panel chip select |
10 | Ground | P |
Ground |
The SPI and I²C ports set their respective pins.
Type
P
= powerO
= outputI
= inputSPI
= serial peripheral interfaceI²C
= inter-integrated circuit
Specific pins¶
The other pins are specific to each extension board.
Pins 11
to 20
are specific to the EXT3 extension board.
Variable | Number | Signal | Type | Function |
---|---|---|---|---|
.panelPOWER |
- | - | MOSFET for panel power control | |
.flashCSS |
20 | F_CS2 | I |
Second SPI memory chip select |
.panelCSS |
12 | P_CS2 | I |
Panel second chip select |
The EXT3 extension board does not feature a panel power control circuit.
Pins 11
to 12
are specific to the EXT3.1 extension board.
Variable | Number | Signal | Type | Function |
---|---|---|---|---|
.panelPOWER |
- | P_POWER | - | MOSFET for panel power control |
.flashCSS |
11 |
F_CS2 | I |
Second SPI memory chip select |
.panelCSS |
12 |
P_CS2 | I |
Panel second chip select |
The EXT3.1 extension board does not feature a panel power control circuit. The cables of the second SPI memory 11
and the second panel chip select 12
signals do not have assigned colours on the EXT3.1 extension board.
Pins T1
to T4
are specific to the EXT3-Touch expansion board.
Variable | Number | Signal | Type | Function |
---|---|---|---|---|
T1 | I²C SDA | I²C |
I²C data | |
T2 | I²C SCL | I²C |
I²C clock | |
.touchInt |
T3 | Touch !INT | O |
Touch interrupt |
.touchReset |
T4 | Touch /RESET | I |
Touch reset |
The SPI and I²C ports set their respective pins.
Type
P
= powerO
= outputI
= inputSPI
= serial peripheral interfaceI²C
= inter-integrated circuit
External pins¶
The SD-card is managed with an external board.
Variable | Number | Signal | Type | Function |
---|---|---|---|---|
.cardCS |
- | Card /CS | I |
SD-card chip select |
.cardDetect |
- | Card !DETECT | O |
SD-card detect |
The SPI and I²C ports set their respective pins.
Type
P
= powerO
= outputI
= inputSPI
= serial peripheral interfaceI²C
= inter-integrated circuit
Pre-configured boards¶
There are four families of main controller boards. The configuration file lists the recommended boards and includes other boards. Deprecated boards are mentioned for reference only. Additional non-listed boards can easily be defined.
Recommended boards¶
The recommended boards are:
Constant | Board |
---|---|
boardFeatherNRF52840 |
Adafruit Feather |
boardArduinoNanoMatter |
Arduino Nano Matter |
boardESP32DevKitC |
Espressif ESP32-DevKitC |
boardRaspberryPiPico_RP2040 |
Raspberry Pi Pico with Arduino-Pico |
Those recommended boards have been extensively tested.
Info
The Raspberry Pi Pico with Arduino-Pico is part of the EPD Pico Kit (EPDK) .
Other boards¶
Other boards are also available.
Constant | Board |
---|---|
boardArduinoZero |
Arduino Zero or M0 Pro |
boardFeatherNRF52832 |
Adafruit Feather |
boardFeatherNRF52840 |
Adafruit Feather |
boardFeatherRP2040 |
Adafruit Feather |
boardRaspberryPiZeroB_BCM2835 |
Raspberry Pi Zero and B |
boardRaspberryPiZeroB_MRAA |
Raspberry Pi Zero and B |
boardRaspberryPiPico_Arduino |
Raspberry Pi Pico with Arduino Core mbed |
boardNucleo64 |
STM32 Nucleo |
Those boards are for reference only, as they may require specific SDK configurations.
Deprecated boards¶
Those boards are no longer supported. The configurations are provided for reference only.
Constant | Board |
---|---|
boardParticlePhoton |
Particle Photon and RedBear Duo |
boardLaunchPad |
Texas Instruments LaunchPad MSP430 and MSP432 |
boardCC1352 |
Texas Instruments LaunchPad and LPSTK CC1352R |
Those boards are no longer sold or the related software is no longer mantained.
Non-listed boards¶
if the main controller board is not listed among the hV_List_Boards
header file, it needs to be defined.
Please refer to the technical note Define a non-listed board.