Noob question about how household appliances work?

Thread Starter

smokemachine

Joined Apr 15, 2016
6
Obviously I am a newbie. I am interested in knowing how the electronics in household appliances work such as tv's, washing machines, microwaves etc.
I assume they all run off a programmed micro controller is that correct?

What programming language do they commonly use? or is it all manufacturer specific language?
Is it possible to find the microcontroller inside a washing machine, connect the pins to a computer and recode it to change things like the soak duration, wash cycle length? etc
 

djsfantasi

Joined Apr 11, 2010
9,237
I would say that the appliances you list do have a microcontroller (my toaster does not).
As far as the language, it is likely microcontroller dependent, although assembler is a common choice.
It is unlikely that you could reprogram the microcontroller. The circuit board would be missing the required ancillary components required for in circuit programming and its production connections would obviate the possibility of such programming. I suppose that it could be possible (if not a "black blob IC) to remove the microcontroller, program it, and resolder it back. However if it is a SMD (surface mount device) this too could be challenging.
 

hp1729

Joined Nov 23, 2015
2,304
Obviously I am a newbie. I am interested in knowing how the electronics in household appliances work such as tv's, washing machines, microwaves etc.
I assume they all run off a programmed micro controller is that correct?

What programming language do they commonly use? or is it all manufacturer specific language?
Is it possible to find the microcontroller inside a washing machine, connect the pins to a computer and recode it to change things like the soak duration, wash cycle length? etc
Most production practices are to lock the code in once it is programmed so it can't be read. You might be able to replace the chip with another one with your desires in it, but that requires a lot of effort and talent on your part. Browse a data sheet for a PIC16F684 for instance to get an idea what you are up against. That might be a typical chip for a microwave. It is probably too big to post here/ You can find free data sheets on a number of places on the internet. A favorite of mine is www.alldatasheet.com. They don't bug you to buy anything. Others assume you are a buyer. Most distributors also provide data sheets (Digikey, Mouser, etc).
 

GopherT

Joined Nov 23, 2012
8,009
Obviously I am a newbie.
This project is not the right place for a newbie to start. So, to start, buy a book on electronics, then a book on arduino boards. Learn to make LEDs blink with that board. Then learn to use a real, stand-alone microcontroller. Then learn to make a PCB for a project.

Once you are able to do that, then you can start learning to reverse engineer the board on your washingmachine. Figuring out what each trace does and what each pin on the microcontroller(s) are used. Then you will have to set up a plan to write the new software.

As stated, the software on the chip cannot be uploaded to your computer, modified, and dumped back into the chip on the board.

You can re-activate this thread in 2 to 3 years when you have the experience - assuming you put in significant effort to learn between now and then. Seems like it would be easier to buy a higher end washing machine (with even more microcontrollers) that allow you to adjust the soak times. Or, buy a super-low-end machine that has no microcontrollers and you can just stop the machine when you need the soak to be longer (or use a laundry tub).
upload_2016-5-17_10-36-33.png


Good luck.
 
Last edited:

MaxHeadRoom

Joined Jul 18, 2013
30,688
Is it possible to find the microcontroller inside a washing machine, connect the pins to a computer and recode it to change things like the soak duration, wash cycle length? etc
Not sure about yours, but ours has about 30 different program options via the front panel, you virtually need to go on a course to operate it!:eek:
Max.
 

wayneh

Joined Sep 9, 2010
18,116
One place you might start is taking control of a Keurig coffee maker. Those are as complicated as any appliance and, if you find one with a bad controller board (a common failure mode), it'll be free. It's complex but I believe there are examples out there from other people that have done it already. You'll take control of pumps, valves, the heater, etc., all at smaller scale and cost than a larger appliance.

That said, I completely agree with GopherT that this is not the way for a newbie to get started.
 

#12

Joined Nov 30, 2010
18,224
I have one of these new-fangled clothes washers. I will supply one page of my modifications in this post.
After some 50 years in electronics, I choose not to design a new microprocessor for it.
In the end, I adjust my water temp and level settings, turn the machine on, and set the kitchen timer so I can return to the machine and pause the wash cycle after 2 minutes of the factory programmed (minimum) of 12 minutes of agitation. Then I wait for a 10 minute soak and resume agitation for 2 minutes and then cancel the wash cycle. After the tub drains, I return and set my controls for the rinse cycle. I set the kitchen timer so I can return and cancel the activity after one minute of agitation (in the 8 minute minimum agitation cycle). After the tub drains, I return and start the spin cycle, which I allow to run as programmed, except I turn all the water off to stop the machine from adding self-defeating water during the spin cycle.
This is the behavior of a person who is light years ahead of a newbie.
If you can top that within 30 days, M.I.T is looking for you.;)

I also bought a schematic of my TV so I could remove the, "V-chip". There is no V-chip. It is all in one huge microprocessor chip which can not be modified.
 

Attachments

hp1729

Joined Nov 23, 2015
2,304
One place you might start is taking control of a Keurig coffee maker. Those are as complicated as any appliance and, if you find one with a bad controller board (a common failure mode), it'll be free. It's complex but I believe there are examples out there from other people that have done it already. You'll take control of pumps, valves, the heater, etc., all at smaller scale and cost than a larger appliance.

That said, I completely agree with GopherT that this is not the way for a newbie to get started.
Re: where to start
I think the guy has the right idea. Start with a real circuit instead of spending years on theoretical circuits he will never see. It all depends on how he approaches the tasks.
I have one of these new-fangled clothes washers. I will supply one page of my modifications in this post.
After some 50 years in electronics, I choose not to design a new microprocessor for it.
In the end, I adjust my water temp and level settings, turn the machine on, and set the kitchen timer so I can return to the machine and pause the wash cycle after 2 minutes of the factory programmed (minimum) of 12 minutes of agitation. Then I wait for a 10 minute soak and resume agitation for 2 minutes and then cancel the wash cycle. After the tub drains, I return and set my controls for the rinse cycle. I set the kitchen timer so I can return and cancel the activity after one minute of agitation (in the 8 minute minimum agitation cycle). After the tub drains, I return and start the spin cycle, which I allow to run as programmed, except I turn all the water off to stop the machine from adding self-defeating water during the spin cycle.
This is the behavior of a person who is light years ahead of a newbie.
If you can top that within 30 days, M.I.T is looking for you.;)

I also bought a schematic of my TV so I could remove the, "V-chip". There is no V-chip. It is all in one huge microprocessor chip which can not be modified.
Lightyears ahead, no argument at all

You and I grew up with this stuff as it was growing up. My grandson, in contrast, only needs to learn current events and technology and has abundant help we did not.. It is easier today.
We had to struggle to get data books. The primary help was from manufacturer classes. Today everything from basic electronics to bit slice processors is available at their fingertips.
His task can be accomplished far easier than ours was.
 

RichardO

Joined May 4, 2013
2,270
I have one of these new-fangled clothes washers.
I have an old one that still uses a motor and cams to operate the switches. :) One day it quit finishing one of the wash cycles. It just stopped there waiting for the soak to end. :( So, I went to the local supply house for that brand of washer. I had the wrong model number on the first trip. On the second trip, I found out that the replacement switch assembly would cost $160. My reply was "I can buy an entire washer for that." The counter man replied that I was not the first one to say that.

Being cheap, I did not buy the switch assembly. After some fairly easy disassembly, I was able to clean the contacts with a strip of index card. It has worked fine for years, now. :D
 

#12

Joined Nov 30, 2010
18,224
I was able to clean the contacts with a strip of index card. It has worked fine for years, now. :D
I use a bit of that red polishing cloth. It has jewelers rouge on it. Ah...crocus cloth.
I lost my old Kenmore to bad spin tube seals. Poor thing. It was only 26 years old.:(
Started peeing on the floor. I checked the local shops and you can't even buy parts for it.
I would have spent $300 to rebuild it and get another 26 years.
Instead, I spent $300 to buy a new machine that is programmed to destroy your clothes in a year or two.
If the machine lasts that long. The MPU reverses the motor every 4 seconds so it's in perpetual start surge.:eek:
Would I rather polish the contacts or buy a machine that I have to attend like my grandmother did with her wash tub and a motorized wringer?
I bet you know the answer.

Sometimes I think, when this motor quits, I will use the fill and eject features and agitate the clothes with a toilet plunger before I will buy another pre-programmed piece of dreck.
 

Thread Starter

smokemachine

Joined Apr 15, 2016
6
Thanks for the responses. I should make it clear I am not intending to modify the cycles of my washing machine as project number 1, nor would a probably want to, it was just an example. I was basically wanting to know if household appliances like the ones mentioned use the same principles as arduino projects in terms of a programmed micro-controller and what if any differences there are in mass produced programmed electronics which we use every day. I find it interesting to understand each step in the process of how things work when I set a wash cycle for example.

Still a bit unclear on trying to understand what assembly code is vs machine code and how that differs from arduino and C / C++ which are pretty much the only programming languages I have heard of
 

hp1729

Joined Nov 23, 2015
2,304
Thanks for the responses. I should make it clear I am not intending to modify the cycles of my washing machine as project number 1, nor would a probably want to, it was just an example. I was basically wanting to know if household appliances like the ones mentioned use the same principles as arduino projects in terms of a programmed micro-controller and what if any differences there are in mass produced programmed electronics which we use every day. I find it interesting to understand each step in the process of how things work when I set a wash cycle for example.

Still a bit unclear on trying to understand what assembly code is vs machine code and how that differs from arduino and C / C++ which are pretty much the only programming languages I have heard of
Microcontrollers, well all digital processors, work in binary. Represented as 1's and 0's. It is difficult but not impossible for people to write a program in binary. Some of us old guys have written small troubleshooting routines back when minicomputers had a front panel of switches and lights.
Mostly for humans sake we group the 1's and 0;s into three and four bits and reference it as octal or hexadecimal numbers.
Instructions.
012737 000060 177564 might be an instruction for a PDP-11 processor to move the data 000060 to address 177564. "01" specifies a Move instruction. "27" says use the next word as the data to move. "37" means use the following word as the address to move it to. This machine language is still difficult for humans so we write assemblers where the programmer can create a text file like "Mov 0x60, 177564". Or Move #0, Display data Register". The assembler converts the text to machine language creating a binary file to be executed.
We make this even more human friendly by taking human friendly text and converting it into a sequence of machine language commands, a compiler. All you need to type in may be "Print Fred".
The human readable text is Source Code.
Since each processor has its own set of binary codes for instructions we create "C Compliers" and such that interpret a standard language for different systems. We have a C Compiler for Intel x86 processors or Motorola 68xxx family. You learn C++ and you can write a program for many different systems.
So that $1.50 microprocessor in your microwave requires a compiler to assembler to convert the text you write into a program in machine language, and a programmer to upload it into the chip.

That is a few months of classes summed up into one page for you. See, how easy it is. :)

To make all this worthless, your washing machine probably just has a timer made up of a slow turning motor that turns a cam with a bunch of switches on it.
 
Last edited:

Thread Starter

smokemachine

Joined Apr 15, 2016
6
Microcontrollers, well all digital processors, work in binary. Represented as 1's and 0's. It is difficult but not impossible for people to write a program in binary. Some of us old guys have written small troubleshooting routines back when minicomputers had a front panel of switches and lights.
Mostly for humans sake we group the 1's and 0;s into three and four bits and reference it as octal or hexadecimal numbers.
Instructions.
012737 000060 177564 might be an instruction for a PDP-11 processor to move the data 000060 to address 177564. "01" specifies a Move instruction. "27" says use the next word as the data to move. "37" means use the following word as the address to move it to. This machine language is still difficult for humans so we write assemblers where the programmer can create a text file like "Mov 0x60, 177564". Or Move #0, Display data Register". The assembler converts the text to machine language creating a binary file to be executed.
We make this even more human friendly by taking human friendly text and converting it into a sequence of machine language commands, a compiler. All you need to type in may be "Print Fred".
The human readable text is Source Code.
Since each processor has its own set of binary codes for instructions we create "C Compliers" and such that interpret a standard language for different systems. We have a C Compiler for Intel x86 processors or Motorola 68xxx family. You learn C++ and you can write a program for many different systems.
So that $1.50 microprocessor in your microwave requires a compiler to assembler to convert the text you write into a program in machine language, and a programmer to upload it into the chip.

That is a few months of classes summed up into one page for you. See, how easy it is. :)

To make all this worthless, your washing machine probably just has a timer made up of a slow turning motor that turns a cam with a bunch of switches on it.
Thankyou for your response! I am finding this stuff really interesting at the moment.
 

GopherT

Joined Nov 23, 2012
8,009
@GopherT:
Did you belong to a skiffle group in your youth?
Actually, my brother and I were regulars at Shakey's Pizza when they were still true to the founder's vision of family place where you can listen to jazz & ragtime played on banjo & piano, kids could join in on the wash-tub bass or the washboard (see above). When you eventually got thirsty or hungry, you could buy beer & soda by the pitcher and, eat some pizza. I still remember all the lyrics to the old-time songs because they had a slide-projector showing the lyrics so everyone could sing along.

upload_2016-5-19_10-6-19.png

upload_2016-5-19_9-58-13.png
 
Last edited:
Top