Philips Sonicare HX681A

Seven years after the last teardown, we once again have an electric toothbrush that failed. Oddly enough the failure mode was exactly the same- top seal breaks, water gets inside, things corrode and battery discharges. This one was a week before the end of the warranty, so Philips was nice enough to send a new one.

2011 vs 2018

As luck might have it, I saved the original board from the 2012 unit, so we can now see how things evolved since then:

What’s inside

It appears the metal frame and actuator are essentially unchanged. They did add a molded TPE damper around the frame that the old design did not have.

The PCBA is a different story. Gone is a PIC16F726 and is replaced with Cypress CY8C4146AZI-S433 PSOC (Cortex M0+ with a bunch of configurable blocks). This chip is likely handling multiple duties from generating drive waveforms to battery charging and gauging to detecting excessive brushing force applied by the user.

NFC reader for identifying and tracking toothbrush heads. This is done using NXP63002 IC and a wire coil at the end of the brush.

NFC reader coil
NXP 63002 NFC reader and its 27.12 MHz crystal

Accelerometer or magnetic field sensor

Used for excessive brushing force detection and wakeup on pickup. Interestingly enough, it wakes up the brush when moved but is not rigidly mounted to the frame you’d expect accelerometer to do. I do wonder if it it’s a magnetic field sensor and it somehow can tell that the field changed due to the brush being picked up. To experiment further, I moved the flex closer and further away from the slot in the frame where the solenoid field live. If moved too close, the brush detects it as an excessive force and starts blinking yellow warning led and changing the brush vibrations pattern to signal it. As soon as I move it away, the warning goes away. So it sure looks like the field inside the actuator gets stronger when the brush encounters resistance and this chip senses it. Since it is flopping around on a flex during all these tests, we can likely assume this is not an accelerometer.

Accelerometer flex

Drive waveform when in this warning mode is rather different and also has a bit of jitter, likely intentional:

Excessive brushing force warning

Power source:

The brush is powered by a Sony 18650 LiIon battery, trickle charged from an inductively coupled charger. The topology is fairly simple- AC voltage from the receiver coil goes through a diode bridge U101 (Marked KLB – likely a Diodes BAT54BRW) to Q102 that appears to be a Constant Current Regulator (CCR) (Marked 402, possibly Diodes BCR402UW6, though not all pins make sense). The output then goes into the battery through a fuse. Seeing no separate voltage regulators or protection for the battery, we may have to assume that the cell itself is protected internally. The VDD rail on the board matches battery voltage, so no downregulation appear to be happening either. The operating range of NFC reader is 3 V to 5.5 V, and the micro from 1.7 V to 5V, so direct operation from battery seems plausible.

Charging in progress

To improve efficiency, the charger drives its coil at a much higher frequency than the 60Hz I initially expected. It’s closer to 88kHz it appears!

AC voltage at charging coil

Receiver coil on the right, soldered to JC1 and JC2. The diode bridge is Q101
O102 is likely a CCR led driver used as charger, U101 is a diode bridge

Drivers:

Q103 and Q104 are obviously transistors and are connected with thick traces to the solenoid solder points ST1 and ST2. Q104 (marked 25N2) is likely TSM250N02D (Dual N-Channel Power MOSFET). Q103 (marked 50P2 ) – is TSM500P02D (P-Channel Power MOSFET), both by Taiwan Semi.

Solenoid driver FETs

Looking at ST1 and ST2 solder points in operation, the driver appears to be an H-bridge, driven at 250 Hz:

Voltage on each terminal of actuator relative to ground

If we subtract the two waveforms, we get the effective voltage seen by the coil.So the coil is on for about 1.5ms, off for 0.5ms and then reverse driven for another 1.5ms. The cycle then repeats. So the total time is just under 4ms or 250 Hz, while the brush head sees 2x of that or around 500Hz. That matches published data of 250-ish Hz being fundamental frequency for Sonicare.

HP scope’s math function. It can still do subtractions!

Toothbrush

Inside the brush is a metal holder with an epoxied wire coil and an NFC tag:

NFC Chip encapsulated in epoxy
Interesting that they used metal substrate for the coil

And now let’s check the data inside the tag using a SmartPhone app called NFC Tools:

The tag reports itself as NXP MiFare Ultralight NTAG213, unsurprisingly made by NXP aka formerly Philips. It has Philips.com record and a serial number. Likely sufficient for the brush to track which brush was used and how many times.

Resources

6 thoughts on “Philips Sonicare HX681A

  1. Do you think the brush stores to memory/tracks serial number of each brush head?

    Looked at NFC data myself but didnt really see what it would be tracking. I guess serial number and a counter per click. No sign of a clock for timely replacement…

    moving the NFC tag from brush to brush, it seems even moving to a new brush it detects the head as needing to be changed so there must be some writing to the tag involved…

    • The tag is rewritten. Try comparing the last few pages of the tag from between brushes. It appears to contain manufacturing date/production line info in text, then brush head type, then data writeable by the handle for tracking things. The tag is password protected with a per-tag password.

  2. Hi, Thank you for the post. I would ask about the CY8C4146AZI-S433 unit. Do you think it has own program made by Philips? I mean, I can not replace the central unit without download the proper program. My unit stopped charging, working, I opened, cleaned, but no charging. I saw corrosion on the leg of the chip so I thought I can replace. What do you think? Could you please let me know? Thx

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.