Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions content/components/display/inkplate.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ It just ignores the function call in that case.
- `inkplate_10`
- `inkplate_6_plus`
- `inkplate_6_v2`
- `inkplate_5`
- `inkplate_5_v2`
- `inkplate_6_color`

- **greyscale** (*Optional*, boolean): Makes the screen display 3 bit colors. Defaults to `false`
- **partial_updating** (*Optional*, boolean): Makes the screen update partially, which is faster, but leaves burnin. Defaults to `false`
Expand Down Expand Up @@ -202,6 +205,8 @@ sensor:
- multiply: 2

Copy link

Copilot AI Sep 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The I2C pin configuration is added without context or explanation. Since this appears in an existing example, it should include a comment explaining why these specific pins are needed or reference the section where I2C usage is documented.

Suggested change
# The Inkplate hardware requires I2C on these specific pins (SDA: 21, SCL: 22).
# See the Inkplate documentation for more details: https://inkplate.io/docs/

Copilot uses AI. Check for mistakes.

i2c:
sda: 21
scl: 22

mcp23017:
- id: mcp23017_hub
Expand Down Expand Up @@ -286,6 +291,65 @@ display:
}
```

## Inkplate 6 COLOR

The Inkplate 6 COLOR is a 7-color ACeP (Advanced Color ePaper) display with 600x448 resolution.
It supports black, white, red, green, blue, yellow, and orange colors and uses SPI communication
instead of the parallel GPIO interface used by other Inkplate models.

{{< img src="inkplate6color.jpg" alt="Image" caption="Inkplate 6 COLOR" width="75.0%" class="align-center" >}}

```yaml
display:
- platform: inkplate
id: inkplate_display
model: inkplate_6_color
partial_updating: false
update_interval: 60s

epaper_clk_pin: 18 # SPI clock
epaper_din_pin: 23 # SPI MOSI (data)
epaper_cs_pin: 27 # Chip select
epaper_rst_pin: 19 # Reset
epaper_dc_pin: 33 # Data/Command
epaper_busy_pin: 32 # Busy status

lambda: |-
// Fill background with white
it.fill(Color::WHITE);

// Draw colorful rectangles using built-in color constants
it.filled_rectangle(50, 50, 100, 80, Color::RED);
it.print(60, 70, id(font_medium), Color::WHITE, "RED");

it.filled_rectangle(200, 50, 100, 80, Color::GREEN);
it.print(210, 70, id(font_medium), Color::WHITE, "GREEN");

it.filled_rectangle(350, 50, 100, 80, Color::BLUE);
it.print(360, 70, id(font_medium), Color::WHITE, "BLUE");

it.filled_rectangle(50, 180, 100, 80, Color::YELLOW);
it.print(60, 200, id(font_medium), Color::BLACK, "YELLOW");

it.filled_rectangle(200, 180, 100, 80, Color::ORANGE);
it.print(210, 200, id(font_medium), Color::BLACK, "ORANGE");

// Title
it.print(150, 320, id(font_large), Color::BLACK, "Inkplate COLOR Test");
```

### Built-in Color Constants

ESPHome provides built-in color constants for easier color usage in display lambdas:

- `Color::BLACK` - Pure black (0, 0, 0)
- `Color::WHITE` - Pure white (255, 255, 255)
- `Color::RED` - Pure red (255, 0, 0)
- `Color::GREEN` - Pure green (0, 255, 0)
- `Color::BLUE` - Pure blue (0, 0, 255)
- `Color::YELLOW` - Yellow (255, 255, 0)
- `Color::ORANGE` - Orange (255, 166, 0)

## Inkplate 6 Plus Touchscreen

The Inkplate 6 Plus has a built in touchscreen supported by ESPHome. Note you need to enable pin 12 on the mcp23017 to enable the touchscreen
Expand Down
Binary file added static/images/inkplate6color.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.