esphome / esphome/issues

PSRAM missing memory_type support with arduino framework

Open
#5,264 3 comments 8 reactions 0 assignees View on GitHub
stale
Dominant language
No language data
Stars
313
Forks
40
PR merge metrics
No merged PRs in 30d

Description

### The problem

Unless I'm mistaken, the arduino framework is missing support for `memory_type` in the PSRAM component, which ends up in boot loops if the `board_build.arduino.memory_type` config is not provided on top of the `psram` component for octal boards.
I would expect to see something similar to how `CONF_MODE` is changing config for `esp-idf`.

https://github.com/esphome/esphome/blob/dev/esphome/components/psram/__init__.py#L40

The flag alone doesn't seem to be enough however, as I then had to move away from `version: recommended` too, which required additional fixes of its own (see link at the bottom)...

### Which version of ESPHome has the issue?

2023.12.1

### What type of installation are you using?

Home Assistant Add-on

### Which version of Home Assistant has the issue?

2023.12.3

### What platform are you using?

ESP32

### Board

esp32-s3-devkitc-1 esp32-s3-wroom-1-n16r8

### Component causing the issue

psram

### Example YAML snippet

```yaml
esphome:
platformio_options:
# missing in psram component for "arduino"
board_build.arduino.memory_type: qio_opi

esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
flash_size: 16MB
framework:
type: arduino

psram:
mode: octal
speed: 80MHz
```

### Anything in the logs that might be useful for us?

_No response_

### Additional information

- https://community.home-assistant.io/t/esp32-s3-devkitc-1-n16r8-using-psram-howto/652601/
- https://www.cnblogs.com/macrored/p/17357581.html

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with esphome/components/psram/__init__.py at the referenced configuration handling and compare the existing CONF_MODE behavior for esp-idf. Reproduce the provided ESP32-S3 YAML with the Arduino framework and octal PSRAM settings. Done means the equivalent memory_type configuration is handled without requiring the extra platformio option and the boot loop is resolved.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
43/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.