ESP32 - Smart Venmar Air Exchanger Wall Control - Web & App Controled
by Christian Boudreau in Circuits > Arduino
1000 Views, 3 Favorites, 0 Comments
ESP32 - Smart Venmar Air Exchanger Wall Control - Web & App Controled
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
Here is the circuit diagram of the C34
First Optimisation
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
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
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
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