ESP32-S2 based HestiaPi: Hestia32

I picked up a ATMegaZero ESP32-S2 to see if I could get it working with the HestiaPi board and made some progress today.

It is based on ESPHome and the initial configuration is at https://github.com/andyshinn/esphome-devices/blob/master/thermo32.yml. There are still some issues I am working out:

  • GPIO23 is assigned to relay 2 but it isn’t allowed to be used on a ESP32-S2
  • The reset button isn’t hooked up yet since the reset pin is different on the ESP32-S2
  • I left out any touch screen functions since I couldn’t get it working (the XPT2046 component exists so maybe I am just doing something incorrectly)
  • Need to pop it into the case and test with the 24VAC DC-DC converter
  • Do some basic transposing of HestiaPi display elements to better match the layout for touchscreen / look consistency
  • Figure out how to allow switching between C and F

Let me know what you think!

1 Like

Looks like solid progress despite the issues that you’re still working out.

Where did you get that ATMegaZero ESP32-S2? The AT MegaZero store gives me an error 403 Forbidden, Mouser doesn’t seem to have it, and DigiKey doesn’t even have a price, let alone any in stock. Meanwhile, they are listed on Tindie for $25/each + shipping, but they’re also sold out over there.

I really like the form factor, but this board doesn’t seem cheaper, nor more available, than a Pi Zero W. I presume that board is just for prototyping?

Now I do see just the ESP32-S3 on Mouser for $1.85 + shipping, and a more attractive edition on a PCB with an antenna for $3.90 + shipping. I’m not sure how the S3 compares to the S2 or what compatibility would look like (e.g. can anything that runs on the S2 run on the S3?)

I don’t see many options with that quantity of SPI flash and RAM, and the ones that do are not recommended for new design. Hopefully what you have now is just overkill because it’s a dev board and a “2 MB PSRAM inside, 4 MB SPI flash” package would suffice.

This particular one I got from ATMegaZero ESP32-S2 – GroupGets. It is definitely just for prototyping as the cost of this one is pretty high compared to other ESP32. Though, it should help to validate it working (either as a drop-in or as the brains for an updated board design).

I think the S3 or even potentially C6 or H2 might work as well. The main thing would be that it has some amount of PSRAM as the displays will require that. I was looking at the C6 or H2 because they have Zigbee and I already do a bunch of Zigbee. But i don’t think that really has any advantage over WiFi for a hard-wired device.

To make it easier to choose from a wider array of boards I was thinking it would be neat to pick a header footprint like the Feather or Thing so you could drop-in any Feather-based ESP32 that met the specifications.

I’ve also seen boards like ESP32 Development and Breakout Board with Switching Regulator that could potentially take 24VDC in directly and then may only need a rectifier to power instead of a small PSU.

Still all just ideas. The ESP32 modules themselves are also pretty cheap so maybe even just a board design that allows soldering on the module directly with the components necessary to do voltage regulation and other stuff required!

Some progress:

  • Got touchscreen display working without the interrupt (polling only). It is a bit slow but may speed up if I can figure out the why the interrupt pin isn’t triggering.
  • Fixed up the UI some to add a bunch more stuff.
  • Basic test of touchscreen binary sensor to adjust set points.

Is that the normal HestiaPi ONE touchscreen?

I have borrowed an ESP32 (no suffix, just the plian old ESP32) dev board and would be interested in trying to reproduce your results if possible.

Also, I don’t have any experience with and ESP32 IDEs, but I plan on going to https://idf.espressif.com/ and trying to figure out how to get started. If there are any other good starting off points, I’d be happy to be pointed in their direction.

One issue I just encountered while testing the relays is that they are only 4V-6V operated while the ESP32 is 3.3V logic instead of 5V like the Pi Zero. So, the currently SSRs won’t work.

I was going to swap them out with something like the following:

The IXYS would require a resistor to drop the voltage down but is cheaper. The Sensata one is a wide voltage and would likely work for both but is 4x the cost. Thoughts?

Yep, it is the one in your kit.

For this setup I am doing ESPHome which is mostly just a YAML configuration file with some in-lined C++. You don’t even need a IDE for it but I use VS Code with the built in terminal. You’ll also need a working Python environment and then you can pip install esphome and then esphome run thermo32.yml to flash the latest config I pushed (after changing your board and WiFi settings).

I got the touch interrupt working last night and made some tweaks to refreshing the screen. It’s probably about as fast as the Pi was for me. I still have to push pretty hard on the screen for it to register.

Here is the current responsiveness I am getting with the tweaks at https://github.com/andyshinn/esphome-devices/blob/master/thermo32.yml

2 Likes

Wowza! $20 per relay (+shipping) is a lot! And I thought $6 each was a lot.

I think the second one would work with 3V, but I question DigiKey’s claim that it can be activated with 1.2V when the datasheet says the typical input voltage drop is 1.42V and a max of 1.56V. So a word of caution there since none of those numbers seem to match.

If we assume that we either have 24V AC or 5V DC coming in (many of us are not fortunate to have a common line in our HVAC system), we can assume there could be a 5V DC rail and a 3.3V rail. If we have those, we should be able to use transistors to trigger the relay much like @HestiaPi did in the clicky edition of the ONE. Details on that are here: PCBA Info – HestiaPi

As a hardware supplier, I’d be pretty interested in being able to use one of the existing models of relays (solid state or clicky) that I already have in stock. Ideally, designing to support both of them for silent or noisy operation. Having said that, I understand if the new design requires new components.

Made a few steps back and started another post for this to start specing out a possible new model…