Skip to content

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 = power
  • O = output
  • I = input
  • SPI = serial peripheral interface
  • I²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 = power
  • O = output
  • I = input
  • SPI = serial peripheral interface
  • I²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 = power
  • O = output
  • I = input
  • SPI = serial peripheral interface
  • I²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.

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.


Next