Skip to content

[mipi_dsi] Add JC8012P4A1-V2 as model#17457

Open
rayz90 wants to merge 1 commit into
esphome:devfrom
rayz90:feature/mipi_dsi_JC8012P4A1_V2
Open

[mipi_dsi] Add JC8012P4A1-V2 as model#17457
rayz90 wants to merge 1 commit into
esphome:devfrom
rayz90:feature/mipi_dsi_JC8012P4A1_V2

Conversation

@rayz90

@rayz90 rayz90 commented Jul 8, 2026

Copy link
Copy Markdown

What does this implement/fix?

Added a JC8012P4A1-V2 model for the MIPI DSI display driver. Some newer units (sold under modelnumber JC8012P4A1 and JC8012P4A1C_I_W_Y) are shipped with a different LCD panel, but still use the same driver chip. I extracted the timings and init sequence from the reference driver.

With the current information, it looks like the devices with a batch number of 2624 or higher have the new LCD panel.

Picture of the screen with the new settings
PXL_20260707_191429842_preview

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected) — policy
  • Developer breaking change (an API change that could break external components) — policy
  • Undocumented C++ API change (removal or change of undocumented public methods that lambda users may depend on) — policy
  • Code quality improvements to existing code or addition of tests
  • Other

Related issue or feature (if applicable):

  • N/A

Pull request in esphome.io with documentation (if applicable):

Test Environment

  • ESP32
  • ESP32 IDF
  • ESP8266
  • RP2040/RP2350
  • BK72xx
  • RTL87xx
  • LN882x
  • nRF52840

Example entry for config.yaml:

# Example config.yaml
display:
  - platform: mipi_dsi
    model: JC8012P4A1-V2
    id: tft_display
    reset_pin: GPIO27
    auto_clear_enabled: false
    update_interval: 5s
    color_order: RGB
    show_test_card: true
    dimensions:
      width: 800
      height: 1280

Checklist:

  • The code change is tested and works locally.
  • Tests have been added to verify that the new code works (under tests/ folder).

If user exposed functionality or configuration variables are added/changed:

@esphome

esphome Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

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#17457
    components: [mipi_dsi]
    refresh: 1h

(Added by the PR bot)

@rayz90 rayz90 changed the title Add JC8012P4A1-V2 as model to MIPI DSI [mipi_dsi] Add JC8012P4A1-V2 as model Jul 8, 2026
@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.68%. Comparing base (84f4fbe) to head (2c467a7).
⚠️ Report is 8 commits behind head on dev.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##              dev   #17457      +/-   ##
==========================================
+ Coverage   85.65%   85.68%   +0.02%     
==========================================
  Files          59       59              
  Lines       13654    13659       +5     
  Branches     2053     2054       +1     
==========================================
+ Hits        11696    11704       +8     
+ Misses       1653     1651       -2     
+ Partials      305      304       -1     

see 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant