Category Archives: Uncategorized
Motor Vehicle Calamity
Abandoned Potato
Well, that’s interesting.
My Electric Tea Kettle
I bought a Bonavita brand electric tea kettle (model BV382510V). It’s nice – configurable temperature presets and preferences, heats up fast, not too big, all-metal, and has a nice gooseneck spout. Only problem was it didn’t retain any settings. I reported this to the manufacturer and they sent me a whole new one for free, and didn’t want the old one back. So I thought I’d have a look inside and see what was up.
It’s very well designed. Completely separate boards for power and logic, thin conformal coating on both boards, socketed JST connectors between them, and everything is labeled on the PC board soldermask(!)
The small, cheap mask-programmed 8 bit MCU is a SN8P2722 made by a Taiwanese company called Sonix, and there’s an i2c eeprom (24C02) for nonvolatile storage – this would be where the temperature presets and the F/C temperature display preference are stored.
Since the eeprom is a separate part, it’s trivial to look at the communication between it and the MCU. When you change a setting, it immediately tries to write the changed value to the eeprom.
When you power the kettle on, it tries to read the settings, but it fails and gives up after a couple of tries, falling back to default settings. Good on whomever wrote the code for it – it tries the eeprom twice, times out quickly, and does the right thing when it fails.
I hot-aired the 24C02 eeprom off the logic board and tried reading it externally – it didn’t respond at all. I checked a 24C04 I had lying around and that read and wrote fine, though I initially confused myself by trying to use i2c eeprom code I’d used with bigger eeproms which use a high and a low byte for addressing, whereas the 24C02 uses a single byte with one of the address bits as a page selector.
Amusingly when I dumped the contents of the junk-box 24C04, it had a message in it that I’d apparently left for myself 8 years ago – “Congratulations! You found a secret message. Left by eric, may 20, 2010, 2:48 am. Have a nice day!”
Anyway, I overwrote the new eeprom with 0xFF’s under the assumption that the kettle’s firmware would interpret a new, blank looking eeprom as meaning it was being powered up for the first time and initialize everything properly. I soldered it back on to the kettle’s logic board in place of the dubious 24C02 and behold – everything works now, all settings are retained across power cycles.
I was semi-expecting that the temperature readings would be off after replacing the eeprom, thinking the old one probably had a factory calibration value for the NTC temperature sensor, but that appears not to have been the case, because the temperature reading is still within a degree or so of my thermometer reading.
Looks like the eeprom was just bad, despite the “QC PASSED” sticker. I wonder if they had a whole batch of bad or fake chips, or if mine was just a fluke.
Santa is here.
Mystery Jars
Mister pie face
Heepy.
That is all. There is no other message at this time. Please carry on.