diff --git a/components/display/Inkplate.rst b/components/display/Inkplate.rst
new file mode 100644
index 000000000..8158629c1
--- /dev/null
+++ b/components/display/Inkplate.rst
@@ -0,0 +1,277 @@
+Inkplate 6
+==========
+
+.. seo::
+ :description: Instructions for setting up Inkplate E-Paper displays in ESPHome.
+ :image: Inkplate.jpg
+
+All-in-one e-paper display ``Inkplate 6``
+Inkplate 6 is a powerful, Wi-Fi enabled ESP32 based six-inch e-paper display – recycled from a Kindle e-reader. Its main feature is simplicity.
+Learn more at `Inkplate's website `__
+
+.. figure:: images/Inkplate.jpg
+ :align: center
+ :width: 75.0%
+
+ Inkplate 6
+
+
+.. code-block:: yaml
+
+ # Example minimal configuration entry
+
+ mcp23017:
+ - id: mcp23017_hub
+ address: 0x20
+
+ display:
+ - platform: inkplate
+ id: inkplate_display
+ greyscale: false
+ partial_updating: false
+ update_interval: 60s
+
+ ckv_pin: 32
+ sph_pin: 33
+ gmod_pin:
+ mcp23017: mcp23017_hub
+ number: 1
+ gpio0_enable_pin:
+ mcp23017: mcp23017_hub
+ number: 8
+ oe_pin:
+ mcp23017: mcp23017_hub
+ number: 0
+ spv_pin:
+ mcp23017: mcp23017_hub
+ number: 2
+ powerup_pin:
+ mcp23017: mcp23017_hub
+ number: 4
+ wakeup_pin:
+ mcp23017: mcp23017_hub
+ number: 3
+ vcom_pin:
+ mcp23017: mcp23017_hub
+ number: 5
+
+.. warning::
+
+ When using the Inkplate epaper module, the GPIO pin numbers above *cannot be changed* as they are
+ hardwired within the module/PCB.
+
+.. warning::
+
+ Inkplate module cannot perform partial update if 3 bit mode is on.
+ It just ignores the function call in that case.
+
+
+Configuration variables
+***********************
+
+- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
+- **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``
+- **full_update_every** (*Optional*, int): When partial updating is enabled, forces a full screen update after chosen number of updates. Defaults to ``10``
+- **lambda** (*Optional*, :ref:`lambda `): The lambda to use for rendering the content on the display.
+ See :ref:`display-engine` for more information.
+- **update_interval** (*Optional*, :ref:`config-time`): The interval to re-draw the screen. Defaults to ``5s``.
+- **pages** (*Optional*, list): Show pages instead of a single lambda. See :ref:`display-pages`.
+
+- **ckv_pin** (**Required**, :ref:`config-pin`): The CKV pin for the Inkplate display.
+- **gmod_pin** (**Required**, :ref:`config-pin`): The GMOD pin for the Inkplate display.
+- **gpio0_enable_pin** (**Required**, :ref:`config-pin`): The GPIO0 Enable pin for the Inkplate display.
+- **oe_pin** (**Required**, :ref:`config-pin`): The OE pin for the Inkplate display.
+- **powerup_pin** (**Required**, :ref:`config-pin`): The Powerup pin for the Inkplate display.
+- **sph_pin** (**Required**, :ref:`config-pin`): The SPH pin for the Inkplate display.
+- **spv_pin** (**Required**, :ref:`config-pin`): The SPV pin for the Inkplate display.
+- **vcom_pin** (**Required**, :ref:`config-pin`): The VCOM pin for the Inkplate display.
+- **cl_pin** (*Optional*, :ref:`config-pin`): The CL pin for the Inkplate display.
+ Defaults to GPIO0.
+- **le_pin** (*Optional*, :ref:`config-pin`): The LE pin for the Inkplate display.
+ Defaults to GPIO2.
+
+- **display_data_0_pin** (*Optional*, :ref:`config-pin`): The Data 0 pin for the Inkplate display.
+ Defaults to GPIO4.
+- **display_data_1_pin** (*Optional*, :ref:`config-pin`): The Data 1 pin for the Inkplate display.
+ Defaults to GPIO5.
+- **display_data_2_pin** (*Optional*, :ref:`config-pin`): The Data 2 pin for the Inkplate display.
+ Defaults to GPIO18.
+- **display_data_3_pin** (*Optional*, :ref:`config-pin`): The Data 3 pin for the Inkplate display.
+ Defaults to GPIO19.
+- **display_data_4_pin** (*Optional*, :ref:`config-pin`): The Data 4 pin for the Inkplate display.
+ Defaults to GPIO23.
+- **display_data_5_pin** (*Optional*, :ref:`config-pin`): The Data 5 pin for the Inkplate display.
+ Defaults to GPIO25.
+- **display_data_6_pin** (*Optional*, :ref:`config-pin`): The Data 6 pin for the Inkplate display.
+ Defaults to GPIO26.
+- **display_data_7_pin** (*Optional*, :ref:`config-pin`): The Data 7 pin for the Inkplate display.
+ Defaults to GPIO27.
+
+
+Complete example
+****************
+
+The following is a complete example YAML configuration that does a few things beyond the usual
+Wi-Fi, API, and OTA configuration.
+
+.. code-block:: yaml
+
+ # Example configuration entry
+ esphome:
+ name: inkplate
+ platform: ESP32
+ board: esp-wrover-kit
+
+ logger:
+
+ wifi:
+ ssid:
+ password:
+ ap:
+ ssid: Inkplate-AP
+ password: '12345678'
+
+ captive_portal:
+
+ ota:
+
+ api:
+
+ switch:
+ - platform: restart
+ name: "Inkplate Reboot"
+ id: reboot
+
+ - platform: gpio
+ id: battery_read_mosfet
+ pin:
+ mcp23017: mcp23017_hub
+ number: 9
+ inverted: true
+
+ - platform: template
+ name: "Inkplate Greyscale mode"
+ lambda: return id(inkplate_display).get_greyscale();
+ turn_on_action:
+ - lambda: id(inkplate_display).set_greyscale(true);
+ turn_off_action:
+ - lambda: id(inkplate_display).set_greyscale(false);
+
+ - platform: template
+ name: "Inkplate Partial Updating"
+ lambda: return id(inkplate_display).get_partial_updating();
+ turn_on_action:
+ - lambda: id(inkplate_display).set_partial_updating(true);
+ turn_off_action:
+ - lambda: id(inkplate_display).set_partial_updating(false);
+
+ sensor:
+ - platform: adc
+ id: battery_voltage
+ update_interval: never
+ attenuation: 11db
+ pin: 35
+ - platform: template
+ name: "Inkplate Battery Voltage"
+ lambda: |-
+ id(battery_read_mosfet).turn_on();
+ delay(1);
+ float adc = id(battery_voltage).sample();
+ id(battery_read_mosfet).turn_off();
+ return adc;
+ filters:
+ - multiply: 2
+
+ i2c:
+
+ mcp23017:
+ - id: mcp23017_hub
+ address: 0x20
+
+ binary_sensor:
+ - platform: status
+ name: "Inkplate Status"
+ id: system_status
+
+ - platform: gpio
+ name: "Inkplate Touch Pad 1"
+ pin:
+ mcp23017: mcp23017_hub
+ number: 10
+ - platform: gpio
+ name: "Inkplate Touch Pad 2"
+ pin:
+ mcp23017: mcp23017_hub
+ number: 11
+ - platform: gpio
+ name: "Inkplate Touch Pad 3"
+ pin:
+ mcp23017: mcp23017_hub
+ number: 12
+
+ time:
+ - platform: sntp
+ id: esptime
+
+ font:
+ - file: "Helvetica.ttf"
+ id: helvetica_96
+ size: 96
+ - file: "Helvetica.ttf"
+ id: helvetica_48
+ size: 48
+
+
+ display:
+ - platform: inkplate
+ id: inkplate_display
+ greyscale: false
+ partial_updating: false
+ update_interval: 60s
+
+ ckv_pin: 32
+ sph_pin: 33
+ gmod_pin:
+ mcp23017: mcp23017_hub
+ number: 1
+ gpio0_enable_pin:
+ mcp23017: mcp23017_hub
+ number: 8
+ oe_pin:
+ mcp23017: mcp23017_hub
+ number: 0
+ spv_pin:
+ mcp23017: mcp23017_hub
+ number: 2
+ powerup_pin:
+ mcp23017: mcp23017_hub
+ number: 4
+ wakeup_pin:
+ mcp23017: mcp23017_hub
+ number: 3
+ vcom_pin:
+ mcp23017: mcp23017_hub
+ number: 5
+
+ lambda: |-
+ it.fill(COLOR_ON);
+
+ it.print(100, 100, id(helvetica_48), COLOR_OFF, TextAlign::TOP_LEFT, "ESPHome");
+
+ it.strftime(400, 300, id(helvetica_48), COLOR_OFF, TextAlign::CENTER, "%Y-%m-%d", id(esptime).now());
+ it.strftime(400, 400, id(helvetica_96), COLOR_OFF, TextAlign::CENTER, "%H:%M", id(esptime).now());
+
+ if (id(system_status).state) {
+ it.print(700, 100, id(helvetica_48), COLOR_OFF, TextAlign::TOP_RIGHT, "Online");
+ } else {
+ it.print(700, 100, id(helvetica_48), COLOR_OFF, TextAlign::TOP_RIGHT, "Offline");
+ }
+
+
+See Also
+--------
+
+- :doc:`index`
+- `Arduino Inkplate 6 library `__ by `E-radionica.com `__
+- :ghedit:`Edit`
diff --git a/components/display/images/Inkplate.jpg b/components/display/images/Inkplate.jpg
new file mode 100644
index 000000000..a373c8082
Binary files /dev/null and b/components/display/images/Inkplate.jpg differ
diff --git a/images/Inkplate.jpg b/images/Inkplate.jpg
new file mode 100644
index 000000000..a373c8082
Binary files /dev/null and b/images/Inkplate.jpg differ
diff --git a/index.rst b/index.rst
index 4baffe963..bffba46ef 100644
--- a/index.rst
+++ b/index.rst
@@ -291,6 +291,7 @@ Display Components
ST7789V, components/display/st7789v, st7789v.jpg
ILI9341, components/display/ili9341, ili9341.jpg
Waveshare E-Paper, components/display/waveshare_epaper, waveshare_epaper.jpg
+ Inkplate 6, components/display/Inkplate, Inkplate.jpg
PCD8544 (Nokia 5110/ 3310), components/display/pcd8544, pcd8544.jpg
Cover Components