
Show HN: I hacked my microwave with a Raspberry Pi - nathan_f77
http://madebynathan.com/2013/07/10/raspberry-pi-powered-microwave/
======
edent
Brilliant! Having suffered an expensive microwave with a dreadful UI - I love
this concept.

~~~
benjamincburns
Assuming this isn't a troll, I'm curious -- how dreadful can microwave UIs
actually get?

~~~
blowski
As an example, amongst the buttons on our old microwave:

* a picture of a whole chicken

* one ice cube

* two ice cubes

* something that might have been a burger or a slice of bread

* 3 x straight lines

* 3 x wavy lines

Never being sure, I ignored all of those buttons. But even the basic 'set a
time, a power and go' method was awful.

* Choose a power. There was no default. You had to do this _before_ you'd set the time, or the time would reset back to 0.

* Turn a wheel which increases the time. The first two minutes increment 1 second. After that they increment in 10 seconds. So to get to 5 minutes, you had to spend ages turning it.

* Press 'Go'.

Next to the 'Go' button there was a 'Cook' button, which reset everything.

There was a defrost mode, which seemed to heat the contents for 2 minutes and
10 seconds (couldn't change the time). The results were identical to just
heating it on full power.

~~~
wikwocket
As someone with a passion for good UI, this is infuriating. We've had
microwaves for 50 years; their UI should be solved by now. After a half-
century, we should have a standard set of controls that are simple, intuitive,
efficient, and forgiving.

Instead, we all have stories like this about microwaves with dials, modes,
stages, levels, pre-programmed jobs, and recipe databases, but that lack a
simple way to microwave something for 30 seconds!

I assume this is because every microwave designer wants to invent some new
feature they can tout on the box. I have often fantasized about enacting a law
that requires designers of new interfaces to be forced to use said interfaces
in their personal lives for a month. Hopefully this would promote better
design; alternatively, it could be used as a form of penance.

~~~
drivers99
I think that the best microwave UI is just two analog knobs. One for power
level (although it would be nice to get rid of this as well, but some packaged
foods ask to be cooked at 50% power for part of the time), and one for cooking
time which also starts the cooking if the door is closed. Turn the nob to
whatever time you want and it starts cooking. If you want to stop cooking
before time is up, you can either turn it back to 0 or just open the door.

~~~
stephengillie
Oh, the dials would drive me crazy.

The best microwave UI I've used has several functions above the number pad,
all of them completely optional. Typing a time on the number pad and pausing
made the microwave start -- to rephrase, if you press _4 5_ and didn't press
anything for 3 seconds, the microwave would begin and operate for 45 seconds.
Pressing _1 3 0_ and walking away would run it for 1 minute 30 seconds. When
it was done it beeped 3 times, then once every 10 minutes, until you open the
door or press a button. At the bottom was a _Power_ button which you could
press to change the power level at any time, and a _Start / +30 sec_ button
which would add 30 seconds to the amount of time on the timer. And if the
clock wasn't set, it would just display 00:00 solidly, not blinking.

Maybe this is a mis-remembered mix of the best UI elements from several
microwaves, but to me it's ideal.

~~~
drivers99
The only downside I can think to that is what if you make a typo? "Stop/Clear"
I assume?

~~~
coldpie
No typos. This is a high stakes microwave.

------
ianterrell
> _Can use a barcode scanner to look up cooking instructions from an online
> database_

> _There weren 't any online microwave cooking databases around, so I made
> one_

Brilliant.

------
andor
These guys are building a machine that can cook recipes from fresh
ingredients:

[http://everycook.org](http://everycook.org)

~~~
dwaltrip
Awesome. I was thinking the other day that an automated kitchen should be
entirely possible.

You buy groceries, place them in their designated slots in the fridge. Robot
arms know which slots hold each ingredient, and can measure and cut
appropriately (using scale, food processor, and maybe some other specialized
cutting appliance for trickier items). Stove top is easy to control and pans
are all lined up for the robot arms to repeatedly grab. Most recipes could fit
within this somewhat limited set of "building blocks" that the kitchen robot
could easily perform: measure 8 oz of tomatoe, dice onion, boil pasta, slice
chicken breast into strips, pour 2 oz of oil on pan, etc. The hardest part
might be washing the dishes.. Heh

~~~
pbhjpbhj
> _measure 8 oz of tomatoe, dice onion, boil pasta, slice chicken breast into
> strips, pour 2 oz of oil on pan, etc._ //

Surely you have the industrial machines do the pasta sauce in a factory, so no
need to measure tomatoes and dice onions. Similarly the chicken breast can be
cooked and pre-sliced (or cubed).

The greatest problem I foresee with this is maintaining hygiene. The machine
will slop and mess, eg pouring ragu, cooking with oil that splatters. Those
surfaces will need cleaning and ingredients that spoil readily (fresh diced
chicken) will need disposing of and replenishing regularly. It certainly
doesn't seem impossible but each section would need specialised washing
equipment it seems, or maybe be entirely submersible and so allow the machine
to be flushed from the top and then have a steam wand clean the individual
stations.

I see it working for making dishes in an automat
([http://en.wikipedia.org/wiki/Automat](http://en.wikipedia.org/wiki/Automat))
but not really being efficient enough for a domestic situation.

Perhaps a digester for the expired foodstuffs and left overs could be built in
to generate energy for heating and cooling required in the machine?

------
lucb1e
Amazing, wish I could do things like this. I bet if this was made by a common
microwave manufacturer, it'd be advertised as the microwave of the future and
cost $3500!

------
brizzle
Very cool project, but I would imagine that an internet connected microwave
might result in these headlines:

"Apartment complex burnt to the ground by toddler with iPad"

"Chinese hackers crash US power grid using Microwave exploit"

NFC or Bluetooth control might be better suited for this than full web
connectivity.

------
joshfraser
Before you think about opening up your own microwave, you should know that
microwaves contain high voltage capacitors that will seriously shock or kill
you even when they are unplugged. I knew a guy who got thrown across the room
and was in serious condition for months. He didn't even touch anything, but he
was wearing a wedding band and his hand got too close. Microwaves are serious
business.

That said, I HATE the UI on my microwave & would love to fix it. Do people
really eat that much popcorn that it deserves it's own button??? For me, I
want exactly 3 controls: a time wheel, power up/down & a start button. Hit
start for a quick minute, twice for 2 minutes, etc.

~~~
nathan_f77
Yep, I was very careful about the high-voltage capacitor. I made sure to
unplug it whenever I removed the microwave case. That's a crazy story about
the guy, I hope he's doing better now.

------
pbharrin
This is a great idea. One thing I would like to point out is that microwaves
come in different power levels. A large one may be 1200W while a small dorm
microwave may be 750W. The cooking instructions in your database will need to
account for this.

~~~
jaynos
Also, some microwaves are continuous power (magnetron always running) and some
cycle on/off instead. Based on my struggle to find a continuous power
microwave for a Senior Design Project (disposing of toxic compounds in
standard microwave oven, I can't imagine this will effect too many models, but
cycle times do differ between microwaves.

The Raspberry Pi microwave is awesome, though I do wonder why the 1 second
buttons exist.

~~~
eik3_de
> I do wonder why the 1 second buttons exist

Ever tried to soften a small piece of cold butter? 10 seconds is way too long
for that

~~~
thesis
Wouldnt hitting "4" and "start" be almost as fast? Unless you eat an absurd
amount of butter I don't see how much time it could possibly save someone.

------
JD557
Very nice project.

One thing that it seems to miss (that all microwaves that I know miss) and
that would probably be very easy to implement is a mute button for late night
snacks.

~~~
hfsktr
Along with that a way to shut the door quietly. Maybe newer ones are better
but all the microwaves I've used sound like they are being slammed no matter
how you shut the door.

~~~
skeletonjelly
Like those fancy kitchen drawers that you can't slam. They slow down to a
satisfying glide at the end.

------
chiph
I like the new control pad definitions.

One of the problems I have with GE microwaves is that the number pad isn't
always for entering time - if you touch "2" in preparation for entering 20
seconds, you get programmed time #2. Unless you hit the "Time" button first...
Bad design, General Electric.

~~~
joezydeco
I think the GE ovens with the "express cook" feature (e.g. press 1 for 1
minute, 2 for 2 minutes) expressly show that right on the keypad. Or at least
they do _now_.

Example:
[http://www.plessers.com/photos/p/00027/279032.jpg](http://www.plessers.com/photos/p/00027/279032.jpg)

------
homosaur
Missed opportunity to use phrase "Raspberry Picrowave"

~~~
shrikant
That's the name of the project:
[https://github.com/ndbroadbent/raspberry_picrowave](https://github.com/ndbroadbent/raspberry_picrowave)

------
gridspy
This was a fantastic article and a wonderfully complete software and hardware
task spanning many disciplines. Nathan's done a great job on this. I'd love to
hire him.

Circuit design, soldering, graphic design, firmware and even a standalone
website.

If you've worked on electronics and software projects like this please give me
a call (details at [http://gridspy.com](http://gridspy.com)) because we need
you.

------
negativity
There are 4 really bad ideas from the article:

    
    
      1. Clock is automatically updated from the internet
    
      2. The microwave has a web page so you can control it 
         from your phone (why not), and set up cooking 
         instructions for products
    
      3. Tweets after it's finished cooking something 
    
      4. Can be controlled with voice commands ∗∗
    
         ∗∗ ...not that bad, but subject to pranks and false positive 
                microwave commands, from people in the same room
    

This is all _REALLY_ bad from a safety perspective. Exposing household
appliances to the wilds of the internet is all kinds of dangerous. You
shouldn't advertise that this is a good idea, and leave readers with the
assumption that maybe it's password protected or maybe not (it is:
[http://www.microwavecookingdb.com/products/new?upc=871100027...](http://www.microwavecookingdb.com/products/new?upc=8711000279571)),
or maybe it's wrapped up in TLS/SSL and maybe not (it's not:
[http://www.microwavecookingdb.com/users/sign_in](http://www.microwavecookingdb.com/users/sign_in)).
Is the internet control framework just security by obscurity, operated by
arbitrarily obscure URL parameters? Who knows? Maybe? (here's the code:
[https://github.com/ndbroadbent/raspberry_picrowave](https://github.com/ndbroadbent/raspberry_picrowave))
I mean, yeah it's just a DIY project, but immediately, I see some
opportunities to wreak havoc.

First of all, it's not merely polling an internet time server, but that's one
port exposed to the internet, that anybody can just start dumping malicious
payloads on. Second, and worst, it can be switched on from the internet.
Third, it gives feedback that can be accessed by the entire internet, tells
the internet what it is, and what it's doing, right now in real time, allowing
an attacker to monitor the success of malicious efforts. This way, you'll know
as soon as you're able to send a command to power up the microwave for one
second, to test and prove the ability to control it.

People will attack these kinds of openings, just for the sheer amusement of
running up a total stranger's electric bill, nevermind start a fire. This
article seems relatively smart and competent, and so maybe we should ASSUME
that proper security exists?

This is the kind of design inspiration that's going to encourage some other
engineer (or worse, an MBA in charge of some stupid startup) to go out and
expose the electric grid to twitter with some poorly tested SCADA system, and
on a dark, stormy night, in the far flung future, I'm going to be eating cold
beans from a can, in the dark, because of it.

~~~
monkeynotes
> This article seems relatively smart and competent, and so maybe we should
> ASSUME that proper security exists?

Or, maybe the guy just likes playing around with electronics for fun? Perhaps
he doesn't really consider this a production ready appliance and just wants to
share his hobby with the world.

If everyone adhered to your cautious approach no experimentation would ever
take place as all new things carry risks and lessons to be learned. You can't
always nail it first time round, you have to make mistakes to make progress.
And there is absolutely nothing wrong with sharing your experiments.

> This is the kind of design inspiration that's going to encourage some other
> engineer...

This makes me think your whole comment is just trolling.

~~~
desas
> This makes me think your whole comment is just trolling.

The user name kind of gives the game away

------
brokentone
Great project! I would have suggested FoodEssential's API for preparation
instructions (ran into them at SXSW, seem really cool), but they don't have
prep, only ingredients and nutritional data.
[http://developer.foodessentials.com/](http://developer.foodessentials.com/)

~~~
Kerrick
Hey, I live in St. Louis and won the National Day of Civic Hacking with one of
the Food Essentials devs, Henry. Nice guy! They had one of their Solr queries
printed and hung on the wall... crazy awesome stuff.

------
jsingleton
This is fantastic. I love how the Raspberry Pi is getting used in hardware
hacking so much. It's ideal for it.

So far my efforts have been limited to hacking electricity and gas meters but
this microwave is much more complex. I gave a talk on this last night at the
HN London meetup. Slides will be online at [http://unop.co.uk/dev/raspberry-
pi-electricity-monitor/](http://unop.co.uk/dev/raspberry-pi-electricity-
monitor/) soon. The videos will be online soon too I hope.

------
kalleboo
I'm surprised there's still so much manual entry going on for people with
microwaves. I guess my needs are much simpler than for most. 70% of my
microwave needs are met by just pressing the "Heat/Start" button and letting
the microwave auto-heat to 75 C. 20% are met by just pressing "Defrost" then
"Heat/Start". It's quite rare I actually need to set the time manually (it's
basically only for popcorn...)

------
nkozyra
A lot of fun, but one of the primary issues with smart appliances is you end
up having to physically interact with them anyway. It's almost more of a
hassle to physically load up the microwave, give a voice command and then
physically open and remove what you cooked then to just do the whole thing
right there.

The Jetsons-eque toaster oven still requires you to put the bread in.

~~~
maxerickson
I tend to think of this as integration stinking right up until it doesn't.

I suppose another way to put it is that "these things can work together" is
far worse than "these things work together".

------
DigitalSea
Being able to scan a barcode and know how long food should be cooked for? It
just makes sense and I wonder why it hasn't been thought of before. I think
this is a genius hack and definitely the scanning of a barcode for cooking
times makes sense, this guy should definitely pitch it to the likes of
Samsung.

------
lessnonymous
This is an awesome project. But by far this is the most amazing and innovative
part of the article:

> If cooking instructions are posted for a 1000W microwave, you can request
> the instructions for a 700W microwave, and the cooking times will be
> automatically adjusted

------
gigq
Unfortunately this idea was patented 13 years ago:

[http://www.google.com/patents/US6124583](http://www.google.com/patents/US6124583)

Makes you realize why there are no commercial implementations of this and why
patents are terrible.

~~~
netrus
At least it expired 9 years ago.

------
samweinberg
I saw the post that inspired this project on /r/CrazyIdeas too. Very cool to
see how you've implemented the idea! If I ever get my hands on a Raspberry Pi,
I'm going to have to try this.

------
mrdiran
Thank you for this! It's about time someone disrupted the microwave.

~~~
joezydeco
The problem with appliance design is that people _think_ they want and need
all these features, but they never use them.

Appliance makers sit around all day thinking of new ways to entice people to
buy new appliances, but in reality they know that the complexity comes back to
bite them eventually and the majority of users just use the microwaves for
heating water and making popcorn.

This whole "scan the UPC" thing? Not disruptive. It's been done before:

[http://www.smarthome.com/13041/Beyond-Microwave-
Oven/p.aspx](http://www.smarthome.com/13041/Beyond-Microwave-Oven/p.aspx)

So the question is, do you really need disruption in this area? Are people
really clamoring for an easier way to heat up their Lean Cuisine even though
all they really need to do now is push the "4" button?

~~~
desas
Heating water in a microwave? I've never known anyone do that in the UK. Is
that an American thing because you don't have kettles?

------
Arnor
If you're not planning on marketing this, please share your process. I'd love
to give this a try (if I can get my wife's permission... _crosses fingers_ )!

~~~
BHSPitMonkey
A substantial amount of detail is provided in the linked article...

------
ddunkin
Don't you have to get up and stir every once in a while?

------
thechut
Awesome job! This goes above and beyond for a 'hack'. You should have it
upload cooking data to Xively so you can keep track of what you cooked over
time.

------
JonnieCache
Another consumer tech suggestion culled from reddit: my TV should have a
button on the side which causes the remote to emit some kind of noise so I can
find it.

~~~
arbitrage
I'm pretty sure that this has been independently rethought up many times since
the creation of the untethered remote, long before reddit.

~~~
joezydeco
Indeed:
[http://www.youtube.com/watch?v=4cPxSk3uIvk](http://www.youtube.com/watch?v=4cPxSk3uIvk)

------
post_break
This has to be the coolest use for a Raspberry Pi I've ever seen. I honestly
wish I had the skills to make this happen.

------
afs35mm
Interesting that the redesigned touchpad was designed (subconsciously?) taking
cues from bootcamp css...

------
Yuioup
See you CAN run Linux on a microwave. If only somebody can get it to run on a
toaster...

~~~
pbhjpbhj
With a voice synthesiser:

"Would you like a waffle?"

------
angrydev
Really great project, and well documented too!

------
septerr
Awesome!

------
mfraggs
brilliant

