WiFi-controlled Sous Vide on ESP8266 (arduino)

View the Project on GitHub

# wifi-sous-vide

WiFi-controlled Sous Vide on ESP8266 (arduino). This project is being continually improved, and I am factoring out much of my code into libraries for general use and other projects.


The goal was to create a functioning sous-vide cooking device for much less than the commercially available units (~$400). So far, the total cost is ~$30 for electrical components and a simple housing.

How it Works

The core of the device is an ESP8266 microcontroller/WiFi chip. It is controlled via a web interface, which allows you to view and set the temperature, etc.

The physical components are a temperature sensor and a relay. This setup works in conjunction with a crock-pot, slow-cooker, or other existing heating element. The temperature sensor is immersed in the water and provides feedback to the controller. The crock-pot is plugged into a socket controlled by the relay and left on high. The device uses a PID control algorithm and PWM to pulse the power on and off over a time interval of a few seconds, in order to maintain the perfect temperature very closely.

UI Screenshot


Core components

Item | Source | Cost — | — | — Wemos D1 Mini Clone | AliExpress | ~$3 DS18B20 Waterproof Temp sensor | Aliexpress | ~$1 Solid state relay (DC control, AC output) | Amazon | ~$10


Wemos D1 Mini

This is the main controller and power source for the other components. On my setup, I power this board via USB and a phone charger plug.


The relay is connected with inverted logic (LOW turns the relay on). The + is connected to the 3.3v supply from the Wemos and the - is connected to the RELAY_PIN defined as D7 in the code.

Temperature Sensor

The temperature sensor is connected to the same ground and 3.3v supply from the Wemos, and the data wire is connected to the TEMP_SENSOR_PIN defined as D4 in the code.