As far as I can tell there is no support for these boards in esphome, which means they don’t just work.
I bought the 3.2 version of the board that has an OLED display. I am fine with the Arduino framework but don’t like the environment so I use Platform.io or esphome which uses platformio under the hood. The support of esp32 in platformio is VERY messy right now. The Heltec board I have is nice but its support is incredibly poor. At least you have a working example, so you just need to figure out how to get it working in esphome.
But, what do you want to do with it? There is no support for Lora in esphome. That is the reason I bought my board. While I got the display to work in esphome, Lora will be even more of a challenge.
I did get Lora working using platformio directly and the range is more than adequate for my needs, so that is likely the path I will take.
Since you have your display working in Arduino, you could do the rest of what you need there. Or, you will need to figure out what is different between the library that Arduino is using and the one you are using in esphome. That requires a decent understanding of what esphome and platformio do “under the hood” to get to the actual code that is being compiled.
I was having an issue with a boot loop. Turning on very verbose debugging helped me see it was when i2c was scanning the bus. I turned off scanning and things worked better.
The other key was looking at the generated code to make sure the GPIO that powers the display was turned on early enough.
It is not an easy path with things that just work magically, but doesn’t that make it so much more rewarding when you do figure out how to make them work?
I’m relatively new to ESP development and still figuring things out.
You’re right—ESPHome doesn’t seem to have direct support for these boards, and Heltec’s documentation isn’t great. It took me a week to get my display working in Arduino, and they didn’t even provide a working example!
Lora isn’t my focus right now, but your insights on debugging i2c and ensuring GPIO initialization early on are really helpful. I’ll keep that in mind while troubleshooting my setup. It’s definitely a steep learning curve, but as you said, overcoming these challenges makes it all the more rewarding!