The Cusinart Air Fryer Hack

Background

Our toaster was toast. The Cusinart Toaster Oven Air Fryer TOA-60 died after about 1 year and a half of active use. The function selector had burnt out. Cusinart cheerfully replaced the unit under warranty, but that left the old stainless steel hulk sitting around. This project rebuilt it using a Raspberry Pi and allows it be controlled by Alexa from across the Internet.

Understanding the Toaster

Disassembly

The first goal is to get the stainless steel cover off. We need a 10" long Phillips magnetic screwdriver, a large flat head screwdriver, a set of Allen hex keys and a headlight. This process takes about an hour. Click on the hyperlinks below to see pictures.

1.       Remove the grill and the crumb trays.

2.       Remove the back.

a.       There are more than 12 screws holding the back.

b.      One of the screws needs an Allen key for remobal.

3.       Remove the left plastic foot assembly.

a.       There are 3 conical head screws.

4.       Remove the right foot assembly.

a.       Pop off the 2 rubber covers on the right assembly. Use the handy Allen key.

b.      Remove the 2 round head screws inside the foot.

c.       Remove 1 conical head screw in the middle.

d.      Keep these screws separate from the others.

5.       Next reach through the back opening to remove 8 screws that are on the front.

a.       You will need the long Phillips head screwdriver. Magnetic tips will help.

6.       There are 3 spring clips on each side of the stainless steel cover. They attach the cover to a flange in the front.

a.       The clips are built into the outside cover.

b.      Use a flat head screwdriver to gently force the cover backwards off the clips.

c.       The cover is now free. The components are exposed.

7.       Put the 2 plastic feet back on to avoid scratching the dining table.

a.       Note that the screws for the left and right feet are different.

8.       You could grasp the function knob and pull it straight out. It may be tightly fit.

a.       You can see the 2 screws that mount the rotary switch. It just gives you the satisfaction knowing that if you had a replacement part, you could fix this thing.

b.      If a replacement is not available, don't bother with this step.

9.       Here are some pictures

a.       the left side,

b.      another left side,

c.       right side, this is where all the action is,

d.      top, another top, yet another top,

e.      light bulb assembly,

f.        light switch,

g.       door switch, and another of the door switch.

Tracing the wiring

The red, white and blue colors for the wires seem to be chosen without a strategy. Tracing the spaghetti reveals the following schematic. Personally, I would have placed the Thermostat along the wire marked "Timer gated power". Then the heater elements could connect directly to neutral. But no big deal. The Microtemp thermal fuse blows at a specific temperature (marked 216C, 420F).

Rotary function selector

The function selector seems to be a proprietary Cusinart specified part that is sourced by a Chinese vendor. A replacement may not be easily available. It can be described as a 4 pole, 7 position, multi throw rotary switch and it is the heart and brains of this toaster. It comprises two rotary modules stuck together concentrically, and each module has 2 switches. Let's call the 2 modules Front and Back. Front contains switches A and B, and Back contains C and D. See the figure above. Each switch has one input and two outputs, except B has only one output. Depending on the position, each input connects to none, 1 or 2 of its corresponding outputs.

The following table shows its connectivity. There are 4 inputs: A, B, C and D. There are 7 outputs: A1, A2, B1, C1, C2, D1 & D2. The check marks indicate if the input is connected to the output at that position. Heater elements are in red, fans are blue. For example, in position Toast (position 4), input A connects to both A1 & A2, input B connects to B1, and input D connects to D2. This effectively turns on A1 (fan in low), A2 (upper outer heating element), B1 (lower heating element) and D2 (engages the toaster timer). Warm activates the lower heater element. Interestingly, Bake & Toast are identical, they both activate the upper-outer & lower elements. Broil & Air-fry both activate the two upper elements, but have different fan settings.

Switch

Front module

Back module

Input

A

B

C

D

1.       Warm

 

 

 

 

 

 

2.       Broil

 

 

 

 

 

3.       Broil w/fan

 

 

 

 

4.       Toast

 

 

 

 

5.       Bake

 

 

 

 

 

6.       Bake w/ fan

 

 

 

 

7.       Air Fry

 

 

 

 

Output

A1

A2

B1

 

C1

C2

D1

D2

Target

Component

Fan Low

Up Out

Low Htr

 

Up In

Fan High

Oven Timer

Toast Timer

 

Power measurements

After they are disconnected, the 3 heater elements were measured: Upper Out=16 Ω, Upper In = 17.4 Ω and Lower = 17.3 Ω. All three elements are never on at the same time. The fan consumes 35W. So the maximum device consumption is about 15 amps, or 1800 W, as specified (see table below).

The New Design

Requirements for a new design

Engineers always list the requirements before starting a design. It's the marketing guys that keep changing the requirements. Here is the initial list:

1.       Backward compatibility with current functionality using the existing mechanical timers. It should work intuitively for those who are not techno geeks.

2.       Use a Digital thermometer since the original thermostat is not especially accurate.

3.       Add more heating modes for Warm and Slow cook functions. The three heating elements can be configured to provide fine temperature controls

4.       Delayed start option

5.       Multi step operations, like Bake at 350 for 30 mins, cool down to 250, then Broil for 5 mins.

6.       Browser based GUI to select oven function, temperature, duration, etc.

7.       Alexa integration for voice control and voice notifications

8.       SMS Text notifications for events

9.       Nominal buzzer, though Alexa will provide voice responses

10.   Touch sensitive LCD screen for control, though web page will also be available

11.   Camera for visually checking the doneness of food, say "Toast till brown", or "Broil till bubbly"

12.   Moisture sensor, to prevent burning and to implement a dehydrator

13.   Smoke detector, to detect when to give up and automatically order a pizza

14.   Integration with external computers for recipe directions

The New User Interface

The figure above shows the control panel for the LCD screen and browser access. It allows the device to be programmed. Each program can have multiple steps.

         Each step has a configurable function, fan speed and associated time & temperature.

         The next step can be selected by pressing the ">" button.

         The slide controls allow the temperature and time to be set. The current temperature is indicated by the red column. The time slider moves down with time and indicates the time remaining.

         Toast and Bake activate one upper and lower heating elements

         Broil and Air Fry activate both upper heating elements

         Pause allows a waiting period specified by the time control. It can be used for Delayed starts. However, the device can also be programmed and started remotely.

         Cool allows a waiting period till the temperature drops to the set point

         The Start button starts the program. It will change to Pause when the device is running. Pressing pause again will cause the toaster to stop.

         Step settings, like temperature and fan speed, can be changed while the program is running.

         Pressing the Next or Previous buttons while the program is running will display settings for that step. Pressing the Start button will cancel the current step and start the displayed step.

         Deleting and re-ordering steps will be considered later, they may involve displaying a chain of steps and support drag and drop. This is not your granny's toaster.

         There will be ways to save the programs for later use and to restore them.

         Configuration options will allow for different languages, temperature scales, mobile number for SMS, buzzer tones, passwords, etc.

New hardware design

At the high level, a Raspberry Pi uses 8 of its GPIO pins to control 8 relays. The relays drive the toaster's three heater elements, fan and lights. Besides turning on each element at full power, the relays can also configure them in series to allow for gentle warming. Five more GPIO pins are used to sense the state of timers, thermostat and switches. Three more GPIOs for the thermometer. A web server on the Pi listens for commands via WiFi. It also drives an LCD screen and serves up REST APIs for basic commands.

The control part is fairly easy. A 8 channel current booster (ULN2803A) is used to drive the relays. This wonderful chip contains all the required transistors and no additional components are needed. It needs the +5V lead (COM) to dump flyback currents from the relays.

The relay assembly was a headache. Version 1 used individual relays. I actually designed and built it. It worked, but it looked awful. It would have been so much simpler and nicer if a PCB could be made. Version 2 used a 8 channel relay module. The ULN2803A connects very nicely to the module.

The relays are wired as shown below. Two of the relays (R1 & R2) are used to string heater elements in series. This allows for heating with lower powers. The table below shows the power and relay settings for each element combination. There are 11 combinations, of which 4 are suitable for air-frying.

 

Combination

Resistance (Ohms)

Power (Watts)

Relays

Function

Lower + Upper Out

8.31

1732.37

R4, R5

Oven

Lower + Upper In

8.67

1659.96

R4, R5

Oven

Lower + (Upper Out -> Upper In)

11.40

1263.51

R1, R5, R6

Oven

(Lower -> Upper Out) + Upper In

11.43

1260.02

R2, R5, R4

Oven

Lower

17.30

832.37

R5

Oven

Lower -> Upper Out

33.30

432.43

R2, R5

Oven

Lower -> Upper Out -> Upper In

50.70

284.02

R2, R1, R5

Oven

Upper Out + Upper In

8.34

1727.59

R4, R6

Air-fry

Upper Out

16.00

900.00

R6

Air-fry

Upper In

17.40

827.59

R4

Air-fry

Upper Out -> Upper In

33.40

431.14

R1, R6

Air-fry

 

The low voltage section for sensors is wired separately. A 5 Vdc power supply is added inside the toaster shell. The Raspberry Pi is installed on the fan housing. The oven casing will need to be cut open to avoid blocking WiFi signals. Ribbon cables connect the Pi to relays and sensors.

Temperature Control

The original toaster uses a thermostat. This is a mechanical device that consists of a dial to select the desired temperature, a temperature sensor and an on/off switch. The following graph shows its operation at a set point of 300 F. The red line shows the temperature swinging between 250 and 400 F. The green trace shows the heater elements coming on and off. While the average temperature is 300 F, the temperature swings seem excessive and there is no way to reduce it.

A thermometer measures the instantaneous temperature and allows finer control. It consists of two components: a Max6675 IC and a K-Junction thermocouple. The first thermocouple I tried had problems:

         Measurements show that this thermocouple has a very poor response time and lags the actual temperature. This is because the thermocouple is firmly bolted to the toaster walls and effectively has a large 'thermal mass'. The metal surrounding the thermocouple takes a while to reach the temperature of the air in the oven.

         The following graph illustrates this. The oven is already warm and is maintaining the set point of 200F. The green plot is the heater element turning on and off, and the red plot is the thermocouple reading. The heater goes on at about the 865 sec mark, but the reading is still dropping. The reading starts to rise around the 910 sec mark. The heater goes off at the 940 sec mark, but the reading continues to increase till the 1020 sec mark. Again, this measurement used the thermocouple for temperature control. Note that the average temperature is higher than the expected 200F and the range is between 190 to 225F.

         A smaller thermocouple was used and it has a much better response.

 

LCD screen

Software

The GPIO channels are configured to generate interrupts for various events, like door open, timer started, etc.

PID Controller

<<<More coming>>>