-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
[epaper_spi] Add SSD1677 and Waveshare 4.26 #11887
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
Test card improved for monochrome
|
To use the changes from this PR as an external component, add the following to your ESPHome configuration YAML file: external_components:
- source: github://pr#11887
components: [display, epaper_spi]
refresh: 1h(Added by the PR bot) |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #11887 +/- ##
==========================================
+ Coverage 72.44% 72.47% +0.02%
==========================================
Files 53 53
Lines 11150 11150
Branches 1509 1509
==========================================
+ Hits 8078 8081 +3
+ Misses 2677 2675 -2
+ Partials 395 394 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Memory Impact AnalysisComponents:
📊 Component Memory Breakdown
🔍 Symbol-Level Changes (click to expand)Changed Symbols
New Symbols (top 15)
Removed Symbols (top 15)
This analysis runs automatically when components change. Memory usage is measured from a representative test configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for the SSD1677 e-paper display controller with monochrome and partial refresh capabilities, along with a specific configuration for the Waveshare 4.26" e-paper display. It also introduces transform and rotation support for all epaper_spi displays and improves the test card rendering for monochrome displays.
- Implements new SSD1677 display driver with partial refresh support
- Adds transform/rotation capabilities (mirror X/Y, swap XY) to all epaper_spi displays
- Refactors test card to work properly on both color and monochrome displays
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| esphome/components/epaper_spi/models/ssd1677.py | Adds Python model definition for SSD1677 controller and Seeed EE04 4.26" display |
| esphome/components/epaper_spi/epaper_spi_ssd1677.h | Header file for SSD1677 display controller class |
| esphome/components/epaper_spi/epaper_spi_ssd1677.cpp | Implementation of SSD1677 display operations including transfer_data, refresh, and deep_sleep |
| esphome/components/epaper_spi/epaper_spi.h | Adds transform constants, updates base class with rotation support and partial refresh capability |
| esphome/components/epaper_spi/epaper_spi.cpp | Implements coordinate rotation, updates state machine for partial refresh, adds transform handling |
| esphome/components/epaper_spi/display.py | Adds Python schema for rotation and transform options, configures transform based on rotation |
| esphome/components/epaper_spi/models/init.py | Adds get_available_transforms method to EpaperModel base class |
| esphome/components/epaper_spi/epaper_spi_spectra_e6.h | Updates method signature for refresh_screen to accept partial parameter |
| esphome/components/epaper_spi/epaper_spi_spectra_e6.cpp | Updates SpectraE6 implementation for new refresh_screen signature and draw_pixel_at method |
| esphome/components/display/display.cpp | Refactors test_card to support monochrome displays by moving common rendering outside color-only block |
| tests/components/epaper_spi/test.esp32-s3-idf.yaml | Adds test configuration for new Seeed EE04 4.26" display |
|
When using: I get this error: The error does not display when using the default Hope you can help. |
|
Either build using the dev or beta esphome, or add |
Thanks, that worked. New error: |
|
You will need to use dev or beta then, there are core changes that can't be pulled in with external components. |
What does this implement/fix?
Add support for the SSD1677 display controller, currently in monochrome only, with support
for partial refresh.
Also add a model for the Waveshare 4.26" e-paper with Seeed EE04 driver board.
Other changes:
epaper_spiTypes of changes
Related issue or feature (if applicable):

Pull request in esphome-docs with documentation (if applicable):
Test Environment
Example entry for
config.yaml:Checklist:
tests/folder).If user exposed functionality or configuration variables are added/changed: