Author Topic: [SOLVED] Defeating microwave oven obnoxious beeping  (Read 1583 times)

Gregg and 1 Guest are viewing this topic.

Offline PeabodyTopic starter

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: us
[SOLVED] Defeating microwave oven obnoxious beeping
« on: December 25, 2024, 04:59:02 am »
Edit:  My solution is described in post #30.

This is not something I really need to do, but it turns out to be interesting.  Four years ago I bought a Magic Chef microwave oven, model HNN1110W.  And it has the most obnoxious "feature".  When cooking ends, it produces five loud beeps at about 1Hz, and it insists on producing all five beeps even after you've opened the door.  It also won't allow you to enter anything new on the keypad until after it has finished beeping.  I don't see how anyone could have thought this was a good idea, but there it is.

I've been thinking how I might stop the beeping, and of course the simplest approach is to just cut the lead going to the beeper.  But that's not really the ideal solution because it's useful to have some beeps.  And it turns out that at any point during the cooking countdown you can hit Stop, and it will pause.  Then if you hit Stop again, it cancels everything and returns to idle - but without the five beeps.

So I'm thinking I can install a microcontroller (an Arduino board or maybe an MSP430) that would tap into the display and the keypad. The display is seven segment, four digits, and it connects with 11 pins, which is right for multiplexing seven segments and four digits. See Display.jpg below showing where I could make the connections.  The keypad has 24 pads on it, and the flex cable connecting to it has 6 + 4 traces, which I assume is some variation of rows and columns. See Keypad.jpg below.

Assuming just for example that it's a common cathode display, then my MCU could be interrupted when a digit cathode line goes low, then in the ISR I would read the state of the segment lines, convert that to a number, and store it as the value currently being displayed on that digit.  Then back in Main, the code would continually check for "blank, zero, zero, three" as the state of the display.  When that occurs, it then checks to be sure that "blank, zero, zero, two" occurs very close to one second later, followed by "blank, zero, zero, one" one second after that.  At that point, it shorts the appropriate row and column pins twice, which simulates two Stop keypad presses, which stops the cooking and clears everything, but with only two quick beeps.  It's necessary to react only to a countdown, otherwise it would trigger as the clock counts up.

Right now I need to do more investigating to find out what voltage the system runs on, and whether it's CA or CC.  But beyond that I'm wondering about how to detect high and low on the display pins.  If it's CC, a segment line will not go to 0V when the cathode goes low.  It will only go down to the Vf of the LED (green), which will be about 2V.  Well that's not exactly low.  Also, I don't know yet if these segment and CC lines are push/pull.  I know a lit segment line will be about 2V, but I don't know what a dark segment line looks like.  It could be 0V or it could be tristate.  Same issue with the CC pins.  So I may need pullups or pulldowns.

I've been looking at the 74HCT14 if it's a 5V system, or the 74LVT14 if it's 3.3V, as a way of level-shifting the inputs so the MCU can recognize them properly as high or low.  Are there better ways to do that?

Since there is some risk involved in taking the controller board out, if anyone thinks this just isn't going to work at all, please tell me your thinking.  Or if you have any other comments or suggestions, please post.



« Last Edit: Yesterday at 04:44:14 am by Peabody »
 

Offline u666sa

  • Frequent Contributor
  • **
  • Posts: 408
  • Country: ru
Re: Defeating microwave oven obnoxious beeping
« Reply #1 on: December 25, 2024, 06:01:01 am »
Can we extract and disassemble the firmware microwave runs on? Perhaps identify the part of the code that triggers beeping and modify the part of the code that triggers 5 beeps?
 

Online inse

  • Frequent Contributor
  • **
  • Posts: 923
  • Country: de
Re: Defeating microwave oven obnoxious beeping
« Reply #2 on: December 25, 2024, 06:23:00 am »
I suggest to make a delayed blanking timer, eg from two 555‘s that cuts the beeper for a certain time after the first beep.
And skip the rest of the idea for unappropriate complexity - after all it’s a low cost microwave (as the Midea logo indicates)
Just before Christmas I fixed a Midea microwave from Aldi (shouldn’t have done so, but it was from someone I know) and cut my fingers several times on the razor sharp metal edges.
I noticed the loud beeper there as well.
« Last Edit: December 25, 2024, 08:07:55 am by inse »
 

Offline BeBuLamar

  • Super Contributor
  • ***
  • Posts: 1413
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #3 on: December 25, 2024, 10:30:37 am »
Yes if you can modify the firmware that's the best. Otherwise perhaps build an entirely new controller.
 

Online Analog Kid

  • Frequent Contributor
  • **
  • Posts: 862
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #4 on: December 25, 2024, 11:37:13 am »
Can we extract and disassemble the firmware microwave runs on? Perhaps identify the part of the code that triggers beeping and modify the part of the code that triggers 5 beeps?

How in the world would you do that?
It's not like there's a well-known, nicely accessible microprocessor sitting there with a programming port ready for code download.
Don't appliances like that use a processor hidden inside a "blob" with no access?
 

Online wilfred

  • Super Contributor
  • ***
  • Posts: 1362
  • Country: au
Re: Defeating microwave oven obnoxious beeping
« Reply #5 on: December 25, 2024, 12:08:55 pm »
I'd do one of these.
1. Nothing
2. muffle the sound with a piece of tape over the hole in the beeper.
3. remove the beeper and replace it with a better sounding one
4. Have a lie down to think about it some more.

Maybe two things. 1 and 4.
 

Offline themadhippy

  • Super Contributor
  • ***
  • Posts: 3199
  • Country: gb
Re: Defeating microwave oven obnoxious beeping
« Reply #6 on: December 25, 2024, 12:40:49 pm »
Quote
I'd do one of these
ya missed out options  5 and 6
5)pull the plug out on the first beep
6)hammer time
 

Online inse

  • Frequent Contributor
  • **
  • Posts: 923
  • Country: de
Re: Defeating microwave oven obnoxious beeping
« Reply #7 on: December 25, 2024, 02:21:51 pm »
Analog Kid, I‘m almost sure u666sa and BeBuLamar were just being funny
 

Offline PeabodyTopic starter

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #8 on: December 25, 2024, 03:47:51 pm »
Can we extract and disassemble the firmware microwave runs on? Perhaps identify the part of the code that triggers beeping and modify the part of the code that triggers 5 beeps?

How in the world would you do that?
It's not like there's a well-known, nicely accessible microprocessor sitting there with a programming port ready for code download.
Don't appliances like that use a processor hidden inside a "blob" with no access?

It may not have been a serious suggestion, but I found the picture below of the back of the board in an Ebay listing.  Not only is the processor visible, but there's an ISP header on the left side.  But I've actually done the disassembly thing in the past, and wouldn't want to do it again.  It's rough when nothing has a name.

Well, you guys are just no fun.  I'm hobbyist, not an EE,  and doing pointless, but interesting, stuff is my idea of a good time.  And not even any comments on the Vf problems reading the display pins.  I thought somebody would want to hold forth on that.

So I think I will go forward with it and report how it turns out.

Edit:  Forgot to say that I was wrong about needing to do the countdown.  The clock would never show "blank, zero, zero, one" because it's a twelve-hour clock.  So when that state occurs, I can just press the Stop key.


« Last Edit: December 25, 2024, 03:51:32 pm by Peabody »
 

Offline u666sa

  • Frequent Contributor
  • **
  • Posts: 408
  • Country: ru
Re: Defeating microwave oven obnoxious beeping
« Reply #9 on: December 25, 2024, 08:57:26 pm »
There are hardware hacking forums. I bet it's sufficient enough extracting the bin by desoldering the thing and sticking it into programmer and posting that bit to those forums. Plus tracing output from this MCU to the beeper so they know what to look for.

5 beeps? That is either 5 lines of the same code or a loop. They just change 1 thing and it's done and ready to go back into the chip.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 4000
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #10 on: December 25, 2024, 09:21:14 pm »
This sounds like a totally reasonable approach.  Of course it's a lot of time to sink into what's ultimately a cheap appliance.  Automating the stop button has a big advantage over silencing the buzzer that the keypad will be re-enabled immediately.

 

Offline PeabodyTopic starter

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #11 on: December 26, 2024, 02:39:41 am »
Well, I think I'm dead in the water for now.  I expected the display to be your basic multiplex by digit, but I took pictures of "8888" at 1/250 second, which is 4ms, and got the results shown below.  it appears it does segments a, b, c and d for all four digits, then comes back and does e, f, g and the colon.  The only reason I can think of for doing that is if the processor can drive four segments at once on a GPIO pin, but not 8.  So if you do four at a time, you don't need the four transistors.  That's pretty slick, but it makes it kinda difficult to decode what's being displayed.  Anyway, I'll have to think about how I would deal with this.

« Last Edit: December 26, 2024, 02:41:52 am by Peabody »
 

Online Analog Kid

  • Frequent Contributor
  • **
  • Posts: 862
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #12 on: December 26, 2024, 02:44:54 am »
There are hardware hacking forums. I bet it's sufficient enough extracting the bin by desoldering the thing and sticking it into programmer and posting that bit to those forums. Plus tracing output from this MCU to the beeper so they know what to look for.

C'mon, nobody's gonna do that. Nobody, except some crazed OCD sufferer.

And someone upthread told me they thought you were kidding ...
 

Offline basinstreetdesign

  • Frequent Contributor
  • **
  • Posts: 466
  • Country: ca
Re: Defeating microwave oven obnoxious beeping
« Reply #13 on: December 26, 2024, 05:56:14 am »
I'd do one of these.
1. Nothing
2. muffle the sound with a piece of tape over the hole in the beeper.
3. remove the beeper and replace it with a better sounding one
4. Have a lie down to think about it some more.

Maybe two things. 1 and 4.

I must have the same controller in a G-E oven because mine does exactly the same thing.  The unit works just fine for the past 10 years and my only strategy to avoid swearing is to open the door 2-5 seconds before the end time then cancel the timer.  If I ever have a real need to take the cover off that thing I swear I am going to cold-chisel the damn beeper from the board.
STAND BACK!  I'm going to try SCIENCE!
 

Online inse

  • Frequent Contributor
  • **
  • Posts: 923
  • Country: de
Re: Defeating microwave oven obnoxious beeping
« Reply #14 on: December 26, 2024, 06:02:25 am »
Does it also do an annoying beep on each button press?
« Last Edit: December 26, 2024, 07:19:44 am by inse »
 

Offline PeabodyTopic starter

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #15 on: December 26, 2024, 03:19:03 pm »
I think the beep when you press a key is useful.  The keypad is just membrane, and it's not always  clear that you've pressed the key hard enough.  So the beep tells you that, without having to look up at the display.   But it should be vewy, vewy quiet, and it's not.

But I really don't know what the five beeps at the end are all about.  Maybe it's a regulation of some kind that they are following literally.  But it certainly doesn't make sense to continue beeping at you after you've opened the door.

Anyway, since discovering the odd display refresh pattern, I've decided to set up an Arduino with a display to duplicate what I think it is doing, and confirm that with scope readings, and then see if I can code another Arduino to detect what's being displayed, including dealing with the level shifting.  If that all works, then I can take the controller board out and solder in the connecting wires.

Do you think Netflix would be interested in this project?
 

Online Analog Kid

  • Frequent Contributor
  • **
  • Posts: 862
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #16 on: December 26, 2024, 07:48:49 pm »
Wish I could help you with your problem, but afraid I can't.

Just want to share that I have a Magic Chef microwave, but it's one I've had for ~40 years (so probably close to half a century old; got it used from a friend back in the 1980s) that still works perfectly. Thing's built like a tank.

It beeps, softly, when you touch keys. It also beeps at the end of cycle, but only 4 times, so it doesn't cause too much of a headache.

Apparently the old ones are better ...
 

Offline MathWizard

  • Super Contributor
  • ***
  • Posts: 1713
  • Country: ca
Re: Defeating microwave oven obnoxious beeping
« Reply #17 on: December 27, 2024, 03:46:56 am »
I just took apart another MO, so I got

2, 16A 125VAC and 3A 250VAC relays
105C 10A and 180C 10A, 125VAC thermal switches
a nice loud piezo buzzer
a little step down transformer for the control voltage supply
the LCD module and it's resistors and BJT's
a few brandname electrolytics
+4MHz Quartz crystal
Some of it can be left on the PCB, like the transformer and relays
And a few high power connectors and wires
some nice AC switches
the fan motor, I usually use their coil of fine wire for inductors in RF projects
I'll probably save the turntable motor, maybe some day I'll make myself a Doc Brown kitchen
I'll probably save the outer metal shell, for making making my own little fold over ones

I could save more than that, but I don't have the space. I salvaged a couple years ago, and maybe with a couple more and can do the following. I have a few projects where some of this should come right in handy, like converting my reflow toaster oven, into a proper temp controlled reflow oven.

Also for a DC electronic load project I've been thinking of for years, some of this can help.
« Last Edit: December 27, 2024, 03:50:42 am by MathWizard »
 

Online CatalinaWOW

  • Super Contributor
  • ***
  • Posts: 5535
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #18 on: December 27, 2024, 05:55:27 am »
So forget the elegant solution.  Clip the wires to the speaker.  Feed them into an auxiliary board that you design.  It counts the beeps and stops letting them through after your selected number.  Then after an appropriate number of seconds lets any new beeps come through.

The beep detector is a simple diode with appropriate rc filter (includes discharge path to ground).  Feed that to a microprocessor that you choose and use the micro to do counting and timing functions as well as drive the relay (or analog switch or other implementation) that passes the audio.

Simple.  Cheap.  Almost no reverse engineering required.  You do need to find the wires to the beeper and find an appropriate power source for your micro.
 
The following users thanked this post: shabaz

Offline fzabkar

  • Super Contributor
  • ***
  • Posts: 2789
  • Country: au
Re: Defeating microwave oven obnoxious beeping
« Reply #19 on: December 27, 2024, 06:22:11 am »
I've always hated those annoying drawn-out beeps. It's as if the microwave is alerting the user to a culinary disaster. Why can't designers use something like the ding-ding-ding-ding that precedes an aircraft boarding call? Perhaps a warm female human voice that says something like, "Good morning, citizen, I've just nuked your breakfast".
 

Online Analog Kid

  • Frequent Contributor
  • **
  • Posts: 862
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #20 on: December 27, 2024, 06:27:25 am »
I've always hated those annoying drawn-out beeps. It's as if the microwave is alerting the user to a culinary disaster. Why can't designers use something like the ding-ding-ding-ding that precedes an aircraft boarding call? Perhaps a warm female human voice that says something like, "Good morning, citizen, I've just nuked your breakfast".

I give you ... a microprocessor and a sound chip.
Have at it.
 

Offline themadhippy

  • Super Contributor
  • ***
  • Posts: 3199
  • Country: gb
Re: Defeating microwave oven obnoxious beeping
« Reply #21 on: December 27, 2024, 01:45:53 pm »
Quote
Perhaps a warm female human voice that says something like, "Good morning, citizen, I've just nuked your breakfast".
Have we learned nothing from history/the future.Look at the chaos the talkie toaster caused
 

Offline PeabodyTopic starter

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #22 on: December 27, 2024, 03:37:53 pm »
I'm definitely going to go for the elegant solution.  I made some progress yesterday on how it works, so I've already done the reverse engineering.

The display is a standard 4-digit LED with a colon in the middle.  But there are five common anodes, the fifth "digit" being the colon.  So there are 13 pins in total.  The common anodes are cycled through 1ms at a time, but a complete digit requires two cycles through the anodes.  On the first pass it displays segments A - D of all four digits, and on the second pass it does segments E - G.  So to read the values displayed on the digits, I need to save the values from the first and second passes for all four digits, then OR them together.

Since I only need to distinguish the state "blank, zero, zero, one", I only need to read segments A, B, C and G.  The segment lines are where I have the voltage translation problem, but since I only need to read four segments, I can use a quad comparator to shift the ~2V high up to 5V.  And I dug out from my junque box a genuine Radio Shack TLC374, still unopened from probably 35 years ago.  Then combining that with an Arduino Pro Mini and a mosfet, which I also already have, that should about do it.  I found 5V and ground on the ISP header.

I'm still concerned about the flex cable that connects the keypad to the controller board.  I'm unsure how the connector on the board works. I would need to disconnect it to get the board out, then reconnect it.  My assumption is that this should be straigforward, but that's just an assumption.

I would need to use pin change interrupts on the Arduino for the anode lines, but the ISR can simply disable the one that just caused the interrupt, and enable the next one. All five lines would be on the same port, so that should work fine.  Then back in the main loop, I would just be continually looking for the magic pattern that triggers the Stop button presses.

Film at 11.
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 4000
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #23 on: December 27, 2024, 04:54:52 pm »
  I expected the display to be your basic multiplex by digit, but I took pictures of "8888" at 1/250 second, which is 4ms, and got the results shown below.  it appears it does segments a, b, c and d for all four digits, then comes back and does e, f, g and the colon. 

Does the microwave have multiple display brightness levels?  Maybe on max brightness it drives all 8 segments every cycle but on medium or low brightness it only does 2 or 4 segments per sweep?
 

Offline PeabodyTopic starter

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: us
Re: Defeating microwave oven obnoxious beeping
« Reply #24 on: December 27, 2024, 06:47:34 pm »
  I expected the display to be your basic multiplex by digit, but I took pictures of "8888" at 1/250 second, which is 4ms, and got the results shown below.  it appears it does segments a, b, c and d for all four digits, then comes back and does e, f, g and the colon. 

Does the microwave have multiple display brightness levels?  Maybe on max brightness it drives all 8 segments every cycle but on medium or low brightness it only does 2 or 4 segments per sweep?

No, there's no brightness adjustment.  I've never seen anything like this before.  Maybe the designer was too close on his power budget for the 5V rail, and needed to reduce peak current, which this would do since no more than four segments would ever be lit up at the same time.  But it does extend the period between refreshes.  A single segment goes 10ms between refreshes.  But I don't see any flicker, so I guess it works.


« Last Edit: December 27, 2024, 06:50:18 pm by Peabody »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf