ESP32 - Smart Venmar Air Exchanger Wall Control - Web & App Controled

by Christian Boudreau in Circuits > Arduino

779 Views, 3 Favorites, 0 Comments

ESP32 - Smart Venmar Air Exchanger Wall Control - Web & App Controled

2023-03-04 17_35_20-Window.png

This projet is to replace the old crapy Venmar C34 wall control with an ESP32.

I never liked the way our air exchanger worked.

After optimizing with a relay circuit to control the exchange/recirculation cycle it is time to improve the whole control unit.

We often use the Boost mode to evacuate the cooking fumes and odors. However, we frequently forget the exchanger in this mode. This greatly cools the house in winter time and increases the heating costs. This is why the two functions Timed Boost and normal cycling/recirculation on timer were made.

While we're at it, why not take the opportunity to make it a little more smart with web & app control and adding more function to the control.


Supplies

Can be found at low prices on Amazon and digikey

  • ESP32 DOIT dev kit v1

https://www.amazon.ca/-/fr/gp/product/B08HJYT6YV/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

  • 1.5" RGB OLED display module, 128 x 128 pixels 16 bits high color (65 K colors) SPI

https://www.amazon.ca/-/fr/gp/product/B07V579YK2/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

https://www.waveshare.com/product/displays/oled/oled-3/1.5inch-rgb-oled-module.htm

  • 4141-503 E/P - Digital Potentiometer 50k Ohm (Memory Type Non-Volatile)

https://www.digikey.ca/en/products/detail/microchip-technology/mcp4141-503e-p/1874267

  • LED
  • Resistor 1/4w 3.5kΩ & 211Ω
  • Micro Switch - PTS645VM13SMTR92 LFS
  • Terminal block - DG301-5.0-02P-12-00A(H)
  • Breadboard to make your test

Final assembly

  • PC board from JLCPCB
  • Front plate

C34 Wall Control

Schematic_Venmar original.png
C34.png

Here is the circuit diagram of the C34

First Optimisation

Schematic_Relay_Logic.png
20221102_204028.jpg
20221031_194415.jpg
20221029_204825.jpg
20221029_204530.jpg

My first optimization was based on a relay logic. This solution worked for several years and had as main defect that the timer relay had as smallest time unit 30 minutes. So in the winter, 30 minutes of cold air made the house uncomfortable and we had to stop the system.

The Circuit

Schematic_Venmar_ESP32_2023-03-04.png
20221230_202932.jpg
20221230_202938.jpg
20221230_203001.jpg
20221230_203008.jpg
ESP32-Pinout.jpg
MCP4141-503E-P.png
1.5inch_RGB_OLED_Module_Schematic.png

Sorry for the unmatched color code of wire. I only had 4 color on hand.

Venmar wire

Black and Green are used for signal

  • Black -->TB #2
  • Green --> TB #1

Will be recycled to power the module from basement.

  • Yello --> +5V
  • Red  --> GND

Not illustrated: I used a old 120v to 5v dc as power supply

The Code

.ino is the code

.h need to be in same folder than .ino

See my GitHub repository: https://github.com/wells240/Venmar-Wall-Control.git

  • Venmar-1.0.ino
  • Icons.h



The Parameters

// ------- YOU HAVE TO EDIT THIS SECTION -------

 const char* ssid = "Your SSID";                // Is the variable that hold your local wifi SSID

 const char* password = "Your password";              // Is the variable that hold your wifi password

 //To adapt the program to your system take the resistance reading between the black and green wire for each position of the original control switch.

 // adjust those # to match your reading at terminal block of circuit. These numbers are not in Ohm but in % of the chip 4141 wiper position.

 int Off = 95                          

 int Normal = 47

 int Recir = 9

 int Boost = 23

// ------- NO OTHER CODE NEED TO BE EDIT BELLOW THIS LINE -------

The PCB

2023-03-04 16_10_27-Window.png
2023-03-04 16_13_38-Window.png
2023-03-04 17_34_15-Window.png
2023-03-04 17_34_37-Window.png

For the making of the PCB I used this website

https://easyeda.com

In this version I have corrected the errors and improved the layout

I used a stacking headers so I could easily remove the ESP if needed.

The Final Result

2023-03-04 17_33_57-Window.png
2023-03-04 17_34_57-Window.png
20230227_205507.jpg
20230227_205514.jpg
20230227_205519.jpg
20230227_205524.jpg
20230227_205529.jpg
20230227_205534.jpg

The Web & App Control

The control is done in three ways either by:

Button: mounted above screen

Web server: http://Your IP/

In Arduino IDE console the IP to be used will be displayed.

Connect by Wifi using the IP displayed

http://xxx.xxx.xxx.xxx

I advise you to use router static IP


Android APP: https://appinventor.mit.edu/

See my GitHub repository: https://github.com/wells240/Venmar-Wall-Control.git

Venmar-Wall-Control.aia