After some close inspection of the Philips Sonicare toothbrushes we have at Ionic Industries for testing, not only do the basic Li-ion battery models (FlexCare, EasyClean) have a lot in common with the most expensive model (DiamondClean) in terms of the physical actuator that vibrates the brush-head but they also have the same microcontroller on board to run the brush – a PIC 16F726 from Microchip (sorry for the blurry photo!)
The main clue for hackability comes in the form of these conveniently labelled test-points on the PCB near the switch:
The pads made available are labelled Tx, Rx, Vdd, Vpp and two Ground points. Wow, serial communication lines and possibly a way to supply the higher programming voltage required (Vpp) for burning new code into the PIC. This got us thinking – could you re-program a cheap single-mode toothbrush like the EasyClean to behave like the expensive 5-mode DiamondClean?
Well, we just need to read through the 300 page datasheet for the PIC 16F726 to find out! Philips will surely have used the code protection features of these chips so that we can’t just read their code straight off and modify it. It could be a fun project for someone to write their own code and program it into their toothbrush. Motor that plays a tune anyone? Disco light feature? Add a bluetooth chip and build your own SmartGuide equivalent to display your brushing progress or write a smartphone app? Oh the possibilities…
If any students are looking for a domestic appliance final-year degree project working with these Microchip PIC microcontrollers then let us know – it could make for a great dissertation project!
10 thoughts on “Can you hack a Philips Sonicare Toothbrush?”
I always thought that Philips made a mistake by not having the Sonicare Quadpacer feature sing a tone at the end of the time instead of just stopping. “shave and a haircut, two bits” . … . ..
Good suggestion Tim!
It would also be great if they could be hacked to include SIX intervals instead of just four, so you can include your teeth’s chewing surfaces in your nightly regimen.
I seem to remember reading that you can modify the number of 15 second stages of the diamond clean from 4 to 5. I’ll see if I can dig that up.
make that 30 second stages… and no I don’t see that possibility in the manual. Must have been a different model and or make.
You can change the “quadpacer” timer on some Sonicare models. Some models have cleaning modes that give extra cleaning which add an extra 30 second stage.
Perhaps the brushes could also be “overclocked” to drive the heads at the higher frequency used by the latest models. The HX9100 series (FlexCare Platinum models) and HX8900 series (5-series / HealthyWhite+ models) claim to run at 62,000 cycles/min (1033Hz) rather than the 31,000 cycles/min of the rest of the Sonicare range (517Hz.)
Assuming they have the same motor, it might be possible to overclock them to double the speed.
Just need to work out the UART settings to talk to the PIC over a serial connection!
I always like the pleasant and subtle beep from the Sonicare. Can anyone identify the component part used? Common buzzers are loud, high pitch and annoying. So I find it quite unique. Thanks.
There is no dedicated buzzer, the sounds come from sending signals to the motor/solenoid assembly at audible frequencies that are too low-powered to move the motor. A similar effect to this electric train!
I have made a fairly nice lock picking tool with my sonicare toothbrush. I simply affixed a thin piece of street-cleaner bristle that has been polished to the metal end that connects to the removable brush head. Then stick the metal extension into any lock, turn on, and while applying tension with a tension wrench rake back and forth maybe three or four times max and the lock pops open. The higher security lock, the better it works – except of course side bar style locks or ones requiring pin rotation.