EasyCook jerky dehydrator hack

Precision temperature/dehydrator hack for the Easycook (flavorwave) convection oven

Similar projects worth following
I like the Easycook oven but it lacks both precision and low temperature control.

I have successfully experimented with PIC based PID controller for dehydrating jerky with a convection oven. That hack was proof of concept and as such was bulky with an external controller module that was cumbersome and unsightly.

This hack hopes to improve on the previous build. It will replace the external controller that had buttons and LCD screen with wifi interface and controller incorporated within the Easycook itself.

The hack uses ESP8266 to provide control and status of an Easycook convection oven via its wifi access point.

The user can enter all the PID variables including kp,ki,kd, max PID, min PID, set point and monitor performance graphs via its web interface.

It provides very precise temperature control over a wide range of temperature from ambient to max.  It implements "On-off AC time control" as opposed to "Phase-angle control"

Jerky can be dehydrated by cracking the lid slightly to allow fresh air intake.

The USDA recommends the product (meat) is first heated to 71deg C then dehydrated at 60deg C.

Future enhancements will include configuring and applying various temperature profiles for different products.  Also determine usefulness as a reflow oven.

Referring to the screen shot:-

The Top row displays the hostname, Stop and Start buttons that change the pinmode from output to input to provide over-ride control. The Save button will save the settings.

The Second row contain response values and can not be directly edited

Ticks: How many times the PID loop has been executed.

pv: Process Variable - actual measured temperature

mv: Manipulated Variable - PWM output between 0 and 255

pterm: the calculated proportional value, used in the PID loop

iterm: the calculated integral term , used in the PID loo

dterm: the calculated differential term, used in the PID loo

state: 1 for Running 0 for Stopped

millis: how long the processor has been running

The Third row contains the adjustable control parameters

sp: Set Point the desired temperature

kp, ki, kd the multiplier value for each of the terms

mvmin and mvmax: The min and max allowable value for the mv. or min max PWM output

cal: used to calibrate the sensor if needed. See issues

tc: time constant in milliseconds.  How often the PID loop is executed. Depending on the thermal mass this can be varied

pv Chart: Process Variable - plots the actual temperature over time. Updated each time the PID loop is executed

mv: Manipulated Vairiable - the amount of PWM plotted over time

pid tuning levers: These sliders allow the user to vary any of the control variables to tune the system

Last row: Links to pages that allow for configuring, controlling and debug of the ESP8266

Some really rough ESP8266 arduino code that uses websockets, webserver, MAX6675 etc

x-zip-compressed - 15.81 kB - 02/01/2018 at 05:17


  • 1 × ESP8266 provides PID control and web interface for updating settings
  • 1 × MAX6675 Interface between K type thermocouple and ESP8266
  • 1 × K-Type Thermocouple Goes inside oven to monitor temperature
  • 1 × BTA16-600B TRIAC control of heating element
  • 1 × MOC3041 Zerocrossing TRIAC driver

View all 6 components

  • Yields

    justin.richards04/12/2023 at 04:55 0 comments

    Rough Yield calculations

    Batch 1

    • Meat 650gr + Marinade 38gr = 688grams
    • Yield 260 grams
    • Ratio 1:0.4

  • Recipe and dried Jerky photos update

    justin.richards04/17/2019 at 03:57 0 comments

    I am still working on code. Making it more efficient and adding new features.  New features include the use of 2 stage temperature profiles (I want to make Black Garlic that calls for 10 hours at ~50deg then 60 days at ~ 70 deg).  That is the user can set an initial set point with the associated duration and a second set point and associated duration.  Also a bunch of preconfigured setpoint buttons.  Initially these will be hard coded with future plans to make them user defined.

    The changes are significant   so i thought I would roll out a new project rather than updating this one.

    But in the mean time i thought I would add some photos of the final product i.e The jerky and my recipe below.

    My last batch I used the following ingredients. (It changes from batch to batch but thought this would be a good starting point). Remember folks "less is more"

    722 grams of rump. (I bought bulk rump at $10AUD/kg then process/separate into jerky strips, steaks and off-cuts.  The off-cuts make for awesome mince or casseroles)

    3 Table Spoons Soy Sauce

    1/2 Tea Spoon Safari Legendary Seasoning (

    1/2 Tea Spoon coarse ground pepper

    2 tea Spoons Chillie flakes (home mode so they are mild but salty)

    1/4 Tea Spoon of Garlic Salt (home made so it is more garlic than salt)

    Yielded 350 grams after 6 hours.  Suspect it needed a bit longer to dry but it gets eaten so fast in my house I didnt bother to dry further.  I think I cut these strips a bit thicker than normal as they came off a big chunk of rump.

    I often use Heart Smart (from woolies) beef as it has minimal fat but costs $18AUD/kg. It is probably worth it.

  • 3 batches of Jerk and counting

    justin.richards02/01/2018 at 05:33 0 comments

    System is running well with the third batch dehydrating.

    An issue has been identified with the location of the max6675.  As it is located within the head of the oven it is exposed to temperature increases as the main oven is heated.

    I believe that the cold junction compensation is unable to deal with these changes and begins to return readings that are less than the actual temperature.

    Ideally the max6675 needs to be thermally isolated from the thermocouple.

    Initially the error is about 20deg an over time settles down to about an 8 deg error.

    Due to the high temperatures, the only real option is a thermocouple but suffers from the issue above.  All other cheap temperature sensors are limited to about a max of 150 deg C, understandable as they are often semiconductor based.

    To deal with this issue I added a Cal slider so I can add the required offset.  Which is usually set to 8.

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates