Skip to content

docs(knowledge): ESP32-S3 1.8″ AMOLED CO5300 / rounded-corner notes - #105

Merged
tig merged 4 commits into
mainfrom
knowledge/esp32s3-amoled-1.8
Jul 29, 2026
Merged

tig merged 4 commits into
mainfrom
knowledge/esp32s3-amoled-1.8

Conversation

@tig

@tig tig commented Jul 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

Knowledge for ESP32-S3 Touch AMOLED 1.8 (CO5300, corners, boot, PSRAM) plus operator-confirmed upright rotation (CCW default; CW upside-down on Aether).

Closes #107

Test plan

  • Knowledge readable for next metal agent
  • Merge when ready

Capture field lessons from first metal on the Waveshare/Amazon 1.8″ QSPI
AMOLED class so the next agent does not re-discover black panels, PSRAM
aborts, or clipped banner labels on rounded glass.
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4fb44f401b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread silico/knowledge/esp32s3-amoled-1.8.md Outdated
| Revision signal | How to detect | Driver / notes |
|-----------------|---------------|----------------|
| **V2** (newer) | I2C probe **0x15** (CST816) responds | Use **CO5300** + optional `x_gap = 0x10` |
| **Original** | 0x15 absent; touch often **FT3168** at other addr | Still **CO5300** init sequence from Waveshare colorbar in practice |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep the original panel revision on SH8601

On original Waveshare units identified here by the absent 0x15 response and FT3168 touch controller, the panel revision uses SH8601; CO5300 applies to the newer V2/CST816 hardware. Directing the original branch to the CO5300 sequence can leave those panels black, while the anti-pattern below discourages the correct driver fallback. Split driver selection by hardware revision rather than applying the current V2 demo to both.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Resolved in 0c86103.

Original revision (0x15 absent / FT3168) now selects the SH8601 path. V2 (CST816 at 0x15) keeps CO5300. Controllers table, init reference, field lesson, and anti-patterns all split by hardware revision so original units are not steered onto the V2 colorbar sequence.

Comment thread silico/knowledge/esp32s3-amoled-1.8.md Outdated

## Units hard key

Module **BOOT** is often **GPIO0** (active low, internal pull-up). Map product “right key / LAMBDA|AFR toggle” to that for host demos when physical product keys are not yet wired in firmware.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Remove product-specific controls from the board guide

This public board-capability topic embeds one GCU's vertical behavior—the Aether name, LAMBDA/AFR key mapping, and mixture/RPM/TPS acceptance UI—rather than reusable AMOLED or host facts. That exposes product-domain details in the Silico spine and encourages unrelated GCUs to copy an application-specific control mapping; keep those details in the originating GCU and leave only the generic GPIO0/button capability here.

AGENTS.md reference: AGENTS.md:L86-L88

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Resolved in 0c86103.

Removed product-domain material from this board topic: Aether name, LAMBDA/AFR key mapping, and mixture/RPM/TPS acceptance UI. BOOT/GPIO0 is documented only as a generic user button with product meaning left to the GCU. “What good looks like” is board-generic (non-black product face, upright landscape present, banner inset, identity match).

Comment thread silico/knowledge/esp32s3-amoled-1.8.md Outdated

### Rotation

If the face is **upside-down**, flip the blit (CW vs CCW), do not re-layout the product UI.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Use the canonical “product face” term throughout

This agent-facing guide repeatedly shortens the defined term to bare “face” (GCU face, the face, landscape face, and black face), so agents following it will propagate the expressly forbidden ambiguous nickname into operator instructions. Replace these occurrences with the canonical “product face” phrase.

AGENTS.md reference: AGENTS.md:L219-L223

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Resolved in 0c86103.

Replaced bare “face” / “GCU face” / “landscape face” / “black face” with the canonical product face throughout. FACE_W / FACE_H left as code identifiers for the rotation formulas.

…own)

Document operator-confirmed CCW 90° present formulas for ESP32-S3
Touch AMOLED 1.8 class. CW left the Aether LVGL face upside-down;
agents must flip present only, not re-layout UI.

Closes #107
@tig

tig commented Jul 28, 2026

Copy link
Copy Markdown
Owner Author

Follow-up on this branch (rotation field lesson)

Latest commit on this head documents CCW 90° as the upright default for this board class after Aether metal reported upside-down with CW (custom face + LVGL 0.2.0-lvgl).

Closes #107 when this PR merges (commit message already has Closes #107).

Operator-confirmed map

  • Logical face 448×368 landscape → panel 368×448
  • CCW inverse present: lx = py, ly = FACE_H - 1 - px
  • CW left USB/keys on wrong edge

Agents: if upside-down, flip CW↔CCW in present only — do not re-layout UI.

@tig

tig commented Jul 29, 2026

Copy link
Copy Markdown
Owner Author

@copilot resolve the merge conflicts on this branch.

Copilot AI commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts on this branch.

Resolved the merge conflicts on this branch in commit 188e79d.

Copilot finished work on behalf of tig July 29, 2026 14:20
Split SH8601 vs CO5300 by revision, drop product-domain controls from the board guide, and use the canonical product face term.
@tig
tig merged commit 7eff5a2 into main Jul 29, 2026
1 check passed
@tig
tig deleted the knowledge/esp32s3-amoled-1.8 branch July 29, 2026 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: document ESP32-S3 1.8″ AMOLED upright rotation (CCW default; CW upside-down)

2 participants