First ESPHome project (ESP32-S2 feather board) stuck on initial configuration install

What I read was only related to aarch64. Worth trying non aarch64.

1 Like

No offense (i.e. this is my ignorance), but I donā€™t even know what that means :laughing:

Sorry, iā€™ll try and cut back the jargon! It means the library needed by esphome is not installable on a 64 bit arm processor (like a 64 bit pi or a ha blue. If you install esphome on, for example a pc, it may then work (or at least get further).

Ah, well, maybe that IS the core of the issue. The laptop and RPi to which Iā€™ve been connecting are 64 bit, but my desktop also is 64 bit. Are you saying flashing ESP32 boards only works on 32 bit machines? Surely thatā€™s not right. :confused:

Grossly simplified, there are two architectures on commonly used computers. Arm (rasp pi etc_) and x86/x86-64

The problem seems to be with arm machines. Your laptop and desktop are almost certsainly x86-64 so thatā€™s why I suggest installing esphome on one of those.

I tried my laptop which is x86-64 and it wouldnā€™t initialize (see my OP). I can try my desktop tomorrow.

So you installed esphome on the laptop?

No, through the browser.

You mean through the browser to the pi?

Web - ESPHome

Havenā€™t used it, I note it is a cut down version.

I did some playing just now. I am running a supervised HA 2022.4.5 on an AMD64 processor (ie what most think of as a normal PC which will run windows and linux) and the addon version on esphome-dev. The latter is currently on 2022.4.0-dev.

If I set up a yaml using the wizard and choose esp-32-s2 in the wizard, this is the relevant bit of the config

esp32:
  board: esp32-s2-saola-1
  framework:
    type: esp-idf

Simple as that. It compiles fine, but I donā€™t have a device to install it on.

Other notes, the saola-1 is shown here on the platformio site Espressif ESP32-S2-Saola-1 ā€” PlatformIO latest documentation site and the feather s2 is here Adafruit ESP32-S2 Feather Development Board ā€” PlatformIO latest documentation

Unless I missed something, the important specs seem identical 240MHz, 4MB RAM, 320 kB flash.

Where you are really getting stuck I think is trying to compile it on an ARM processor.

1 Like

@nickrout @Mikefila This seems like helpful information (Support for Adafruit Feather ESP32-S2 TFT board Ā· Issue #742 Ā· platformio/platform-espressif32 Ā· GitHub), but Iā€™m not sure how to format the config to match the suggested platformio settings.

How would you format this to configure this board for use in ESPHome?

[env:feather_esp32s2_tft]
platform = https://github.com/platformio/platform-espressif32.git
board = feather_esp32s2_tft
framework = arduino

Hereā€™s what Iā€™ve got:

esphome:
  name: humidor
  platformio_options:
    board_build.variant: feather_esp32s2_tft
    platform: https://github.com/platformio/platform-espressif32.git

esp32:
  board: feather_esp32s2_tft
  framework:
    type: arduino
1 Like

I read the other thread that, the a above variation will work when it is added for now I think oyu need the first message and not the second.

platform = 
	https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream
platform_packages = 
	framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32#master
board = feather_esp32s2_tft
framework = arduino

so maybe

esphome:
  name: humidor
  platformio_options:
    board_build.variant: feather_esp32s2_tft
    platform: https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream
      platform_packages: framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32#master

Thank you.

Using this

esphome:
  name: humidor
  platformio_options:
    board_build.variant: feather_esp32s2_tft
    platform: https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream
      platform_packages: framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32#master

esp32:
  board: feather_esp32s2_tft
  framework:
    type: arduino

I got this error:

I donā€™t know where the documentation is for platform options is, maybe take away the indent. The other thing would be to dig through the similar issues to see how itā€™s formatted.

@Mikefila OK, this board is now officially supported in PlatformIO ( Adafruit Feather ESP32-S2 TFT ā€” PlatformIO latest documentation).

Iā€™ve tried many variations of this:

esphome:
  name: humidor
  board: adafruit_feather_esp32s2_tft
  platform: esp32
  platformio_options:
    platform: espressif32
    board: adafruit_feather_esp32s2_tft
    board_build.mcu: esp32s2
    framework: espidf

esp32:
  board: adafruit_feather_esp32s2_tft
  variant: esp32s2
  framework:
    type: esp-idf
    version: recommended

But, I keep getting this when I try to install the configuration to the board:

Iā€™ve scoured the forums here, but came up empty. Now that itā€™s a PlatformIO officially supported board, I figured the configuration would be pretty straightforward. Any ideas?

But has esphome caught up with platformio?

Not yet, but the board is in the PlatformIO registry you referenced in one of your previous replies.

I thought that was all that was requiredā€¦besides knowing how to configure the settings.

I am not sure if you are still looking in to this or got it to work but as I used this community to help make it work for me just wanted to reply that I have been able to get the Feather ESP32-S2 working with ESPHome and Iā€™ll share what my config was like, I have ESPHome running on a Unraid in a docker on a amd64 architecture so that gets over the issue with some architectures not supporting compiling with esp-idf framework. This example uses the adafruit SHT40 breakout to sense temp/humidity

  name: feathersht40

esp32:
  board: featheresp32-s2
  variant: esp32s2
  framework:
    type: esp-idf
    version: recommended

# Enable logging
logger:

# Enable Home Assistant API
api:

i2c:
  sda: 03
  scl: 04
  scan: true
  id: stemma

sensor:
  - platform: sht4x
    temperature:
      name: "Test Feather Temperature"
    humidity:
      name: "Test Feather Humidity"
    address: 0x44
    update_interval: 15min
ota:
  password: "xxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  manual_ip:
    static_ip: xxx.xxx.xxx.xxx
    gateway: xxx.xxx.xxx.1
    subnet: 255.255.255.0
    dns1: xxx.xxx.xxx.123
    

The one thing I have yet to figure out is, I believe the sensor readings are wrong due to needing to set the i2c power pin to low, at least this was the case for Circuitpython to get accurate readings. Not sure yet how to do that correctly in ESPHome

Edit: while the power is still not 100% right, having compared to another feather with the same sensor running on circuitpython the measurements are accurate. I only say the power isnā€™t right becuase on the feather running CP the led on the sensor is lit up brightly, while on the esphome programmed one it is quite faint which used to be an issue in earlier CP versions if you didnā€™t set the pin to low.

1 Like