So I've taken apart an old microwave oven with a touch-sensitive LCD screen. I understand that I could die from playing around with this, so I've disconnected the high-voltage transformer and the magnetron. I'm also not going to remove any of the safety switches like the door switch. My question is, how is the microwave controlled? I'm thinking there is a computer chip somewhere in the circuit, and I'm looking to replace it with an Arduino board plus some extras, like AC relays and such. I'm curious as to how the microwave oven controls its functions, like power level, cooking time, and the beeping. Any advise as to how I could get started interfacing?

Is the power level controlled by PWM by any chance? Can you PWM alternating current?


It's pretty much all proprietary. It can be done, but you'd have to replace all the circuitry with the Arduino, interfacing with the existing magnetic and mechanical devices and doing everything in your own code.

Power level is controlled by PWM, but it's extremely low frequency PWM, on the order of 0.05Hz (20s period). That's why there are two different sounds that come from the microwave when it's not at full power; one when the magnetron is active, and one when it is off.


There is no power level in a microwave. It's just on or off. They lower the power by turning on the magnetron for a few seconds, and then off for a few second. You can actually hear this.

It's probably turned on by a relay, triac, or solid state relay. The magnetron is just requires a high voltage to work; nothing else.

The programmes, timing, and handling of the buttons is done by some microcontroller, similar to an arduino.

  • So the magnetron is just set at it's own "power level?" There's no variation of the output, it's just how long it is turned on? And I'm guessing if I set the power level on the LCD to full power, the magnetron would be on 100% of the time? Dec 31 '14 at 22:40
  • 1
    @user3211857: Correct. Dec 31 '14 at 23:15
  • Hmm, so if I wanted to control the operation with an Arduino, could I hook the Arduino up to an AC relay module, hook that up to the switch that turns on the magnetron, and program the Arduino when to digitalWrite(pin, HIGH)? Any ideas? Dec 31 '14 at 23:20
  • You wouldn't use a relay for pwm. Most relays can't switch fast enough .
    – lxx
    Jan 1 '15 at 7:49
  • 1
    You wouldn't use a relay for subsecond PWM. A microwave doesn't use subsecond PWM for its magnetron. Jan 1 '15 at 8:16

If you want to learn more about AC power circuits start with relays (start with 5v or 12v dc as a lot safer , cheaper and easier) something like the spark fun power tail if you really do want to control 120V devices note its only on/off control, not different power levels. https://www.sparkfun.com/products/10747

You can generate AC from DC by using pwm at a lower voltage and driving a transformer or a digital inverter. Can use an arduino to do it if you wanted to. Use pwm function, then via optocouplers (to protect the arduino) to power mosfets or an h-bridge to drive a transformer. Can fairly easily produce 120V/240V output

Time to grab a good basic electronics book like Art of Electronics (should be able to find a pdf version) 3rd edition is finally getting published in 2015

  • Thanks for the tips. I've already messed around with AC voltage (luckily I'm still alive). I just used a relay module and hooked it up to my Arduino and the Wall outlet to control Christmas lights. But I haven't tried what you describe, generate AC to DC. Sounds pretty interesting. Jan 1 '15 at 20:24
  • other way around generate AC from DC. Thats how the static inverters for cars ,boats and aircraft can generate 120V/240V AC from 12 or 24V dc. First step is to get the arduino to output a sine wave (or close to a sine wave ). Learn more about pwm (also good for led brightness control)
    – lxx
    Jan 2 '15 at 1:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.