diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index e76d8ee..9de114d 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -28,7 +28,7 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - id: set-matrix - run: echo "matrix={\"firmware_config\":[{\"board_name\":\"esp32AIThinker\", \"target\":\"esp32\"}, {\"board_name\":\"esp32M5Stack\", \"target\":\"esp32\"}, {\"board_name\":\"esp32cam\", \"target\":\"esp32\"}, {\"board_name\":\"esp_eye\", \"target\":\"esp32s3\"}, {\"board_name\":\"facefocusvr_eye_L\", \"target\":\"esp32s3\"}, {\"board_name\":\"facefocusvr_eye_R\", \"target\":\"esp32s3\"}, {\"board_name\":\"facefocusvr_face\", \"target\":\"esp32s3\"}, {\"board_name\":\"project_babble\", \"target\":\"esp32s3\"}, {\"board_name\":\"venti_N8R8\", \"target\":\"esp32s3\"}, {\"board_name\":\"seed_studio_xiao_esp32s3\", \"target\":\"esp32s3\"}, {\"board_name\":\"wrooms3\", \"target\":\"esp32s3\"}, {\"board_name\":\"wrooms3QIO\", \"target\":\"esp32s3\"}, {\"board_name\":\"wrover\", \"target\":\"esp32s3\"}]}" >> $GITHUB_OUTPUT + run: echo "matrix={\"firmware_config\":[{\"board_name\":\"esp32AIThinker\", \"target\":\"esp32\"}, {\"board_name\":\"esp32M5Stack\", \"target\":\"esp32\"}, {\"board_name\":\"esp32cam\", \"target\":\"esp32\"}, {\"board_name\":\"esp_eye\", \"target\":\"esp32s3\"}, {\"board_name\":\"facefocusvr_eye_L\", \"target\":\"esp32s3\"}, {\"board_name\":\"facefocusvr_eye_R\", \"target\":\"esp32s3\"}, {\"board_name\":\"facefocusvr_face\", \"target\":\"esp32s3\"}, {\"board_name\":\"project_babble\", \"target\":\"esp32s3\"}, {\"board_name\":\"venti_N8R8\", \"target\":\"esp32s3\"}, {\"board_name\":\"seed_studio_xiao_esp32s3\", \"target\":\"esp32s3\"}, {\"board_name\":\"wrooms3N8R2\", \"target\":\"esp32s3\"}, {\"board_name\":\"wrooms3QION8R2\", \"target\":\"esp32s3\"}, {\"board_name\":\"wrooms3N8R8\", \"target\":\"esp32s3\"}, {\"board_name\":\"wrover\", \"target\":\"esp32s3\"}]}" >> $GITHUB_OUTPUT build: needs: setup diff --git a/README.md b/README.md index adca0bb..8981daa 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -| Supported Targets | ESP32-S3 · Project Babble · Venti · FaceFocusVR · ESP32CAM · ESP32-AIThinker · ESP32-M5Stack · ESP-EYE · Wroom s3 · Wroom s3 QIO · WROVER| +| Supported Targets | ESP32-S3 · Project Babble · Venti · FaceFocusVR · ESP32CAM · ESP32-AIThinker · ESP32-M5Stack · ESP-EYE · Wroom s3 N8R2 · Wroom s3 QIO N8R2 · Wroom s3 N8R8 · WROVER| | ----------------- | --------------------------------------- | ## OpenIris-ESPIDF @@ -94,6 +94,7 @@ Notes: - Board key = relative path under `boards/` with `/` replaced by `_` (and duplicate tail segments collapsed, e.g. `project_babble/project_babble` -> `project_babble`). - `--diff` shows what will change vs the current `sdkconfig`. - You can also pass partial or path‑like inputs (e.g. `facefocusvr/eye_L`), the tool normalizes them. +- ESP32‑S3 WROOM‑1 (e.g. Freenove) users: pick the board by the marking on your module. **N8R2** (2MB quad PSRAM) → `wrooms3N8R2` or `wrooms3QION8R2`; **N8R8** (8MB octal PSRAM) → `wrooms3N8R8`. Flashing the wrong variant aborts at boot with `quad_psram: PSRAM ID read error` / `Failed to init external RAM!`. ### 2) Build & flash diff --git a/boards/wrooms3/wrooms3 b/boards/wrooms3N8R2/wrooms3N8R2 similarity index 100% rename from boards/wrooms3/wrooms3 rename to boards/wrooms3N8R2/wrooms3N8R2 diff --git a/boards/wrooms3N8R8/wrooms3N8R8 b/boards/wrooms3N8R8/wrooms3N8R8 new file mode 100644 index 0000000..05562f1 --- /dev/null +++ b/boards/wrooms3N8R8/wrooms3N8R8 @@ -0,0 +1,47 @@ +CONFIG_IDF_TARGET="esp32s3" +CONFIG_IDF_TARGET_ESP32S3=y +CONFIG_WIRED_MODE=y +CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32S3_SPIRAM_SUPPORT=y +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="8MB" +# Camera sensor pinout configuration +CONFIG_CAMERA_MODULE_NAME="WROOMS3" +CONFIG_PWDN_GPIO_NUM=-1 +CONFIG_RESET_GPIO_NUM=-1 +CONFIG_XCLK_GPIO_NUM=15 +CONFIG_SIOD_GPIO_NUM=4 +CONFIG_SIOC_GPIO_NUM=5 +CONFIG_Y9_GPIO_NUM=16 +CONFIG_Y8_GPIO_NUM=17 +CONFIG_Y7_GPIO_NUM=18 +CONFIG_Y6_GPIO_NUM=12 +CONFIG_Y5_GPIO_NUM=10 +CONFIG_Y4_GPIO_NUM=8 +CONFIG_Y3_GPIO_NUM=9 +CONFIG_Y2_GPIO_NUM=11 +CONFIG_VSYNC_GPIO_NUM=6 +CONFIG_HREF_GPIO_NUM=7 +CONFIG_PCLK_GPIO_NUM=13 +# end of Camera sensor pinout configuration +# The N8R8 module variant has 8MB octal PSRAM (vs 2MB quad on N8R2). +# Octal PSRAM claims GPIO 33-37 internally; pins above stay clear of that range. +# CONFIG_SPIRAM_MODE_QUAD is not set +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_TYPE_AUTO=y +# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set +# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set +CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y +# CONFIG_SPIRAM_XIP_FROM_PSRAM is not set +# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set +# CONFIG_SPIRAM_RODATA is not set +# CONFIG_SPIRAM_SPEED_120M is not set +CONFIG_SPIRAM_SPEED_80M=y diff --git a/boards/wrooms3QIO/wrooms3QIO b/boards/wrooms3QION8R2/wrooms3QION8R2 similarity index 100% rename from boards/wrooms3QIO/wrooms3QIO rename to boards/wrooms3QION8R2/wrooms3QION8R2 diff --git a/tests/conftest.py b/tests/conftest.py index 99dddae..1aee039 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -21,8 +21,9 @@ "project_babble": ["wireless", "wired"], "venti_N8R8": ["wireless", "wired"], "seed_studio": ["wireless", "wired"], - "wrooms3": ["wireless", "wired"], - "wrooms3QIO": ["wireless", "wired"], + "wrooms3N8R2": ["wireless", "wired"], + "wrooms3QION8R2": ["wireless", "wired"], + "wrooms3N8R8": ["wireless", "wired"], "wrover": ["wireless", "wired"], }