Skip to content

Add to KodeDot (ESP32-S3) board — OPI 32MB flash/PSRAM, SDMMC 1-bit, updated pins #11713

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

LusimiCollado
Copy link
Contributor

Description of Change

Adds support for the KodeDot (ESP32-S3) board and aligns it with current OPI memory options.

Highlights

  • New variant: variants/kodedot/ with Pins_Arduino.h.
  • boards.txt entry for KodeDot with menu option Flash Mode: OPI 80 MHz.
    Mirrors S3 Dev Module behavior: set build.flash_mode=dio and pass --spi-connection opi to esptool (avoids elf2image rejecting --flash-mode opi).
  • Default memory: Flash 32 MB OPI @ 80 MHz, PSRAM 8 MB OPI.
  • SD card moved to SDMMC (1-bit); pins: CMD=GPIO5, CLK=GPIO6, D0=GPIO7.
  • LCD on SPI3/QSPI (ST7789, 410×502, 40 MHz); pins: SCK=17, IO0/MOSI=15, IO1=14, IO2=16, IO3=10, CS=9, RST=8, DC=-1, BL=4.
  • NeoPixel now on GPIO4 (shared with backlight enable).
  • Bottom button via I/O expander → no direct GPIO in the variant.
  • No changes to existing boards.

Impact

  • Adds a new kode dot pinout configuration; no breaking changes for existing users.

Tests scenarios

Hardware

  • KodeDot board (ESP32-S3, 32 MB OPI flash @ 80 MHz, 8 MB OPI PSRAM)
  • microSD via SDMMC (1-bit), ST7789 QSPI display, TCA9555 I/O expander

Software / Tooling

  • Arduino-ESP32 core v2.3.6
  • esptool v5.4
  • Partition scheme custom

Functional checks

  • Bootloader + sketch upload OK with menu Flash Mode: OPI 80 MHz
  • ESP.getFlashChipSize()33554432 (32 MB)
  • ESP.getPsramSize()8388608 (8 MB)
  • SD_MMC mounts and R/W files on 1-bit SDMMC
  • USB CDC on boot validated
  • Display over SPI3/QSPI exercised in app (out of scope for core libs)

@lucasssvaz lucasssvaz added the Type: 3rd party Boards Related to third-party/non-Espressif hardware boards. label Aug 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: 3rd party Boards Related to third-party/non-Espressif hardware boards.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants