Cached at:
11/02/26, 07:52 PM
**TL;DR:** The author took apart and read the NFC microchip inside a Philips Sonicare toothbrush head, decoded data such as usage time, intensity, and brush head model, verified a pressure multiplier mechanism, and even rewrote the data and used an old brush head to unlock his computer.
## A Toothbrush That Unlocks a Computer
"Look at this, a toothbrush unlocking a computer. I bet you definitely weren't expecting to see that today."
When the author was a child, a toothbrush was just a plastic stick with some bristles. Now, while examining his Philips toothbrush head, he noticed a small brown dot—a little research revealed that it was a microchip. Which raised the question: why on earth does a toothbrush need a microchip?
## Experimental Setup
The author put together a very simple setup:
- A USB cable connected to an **ESP32-S3**
- The ESP32 connected via **I2C** to a **PN532 NFC reader**
- A white loop around the edge of the reader serves as its antenna
- It operates at **13.56 MHz** and can read cards, small tags, and, of course, toothbrushes
He wrote a small program to read data from the reader: the program connects to the ESP32 over USB, and the ESP32 sends commands to the reader. The page essentially has just a "Connect" button and a "Read Tag" button, with an option to clear the data and read it again.
### The Clever Part of NFC
The chip doesn't even need a battery. When a card comes close, the reader generates a magnetic field to power the chip; the chip then subtly changes that magnetic field to send information back. The reader decodes this signal, sends the data back to the ESP32 over the I2C link, and then passes it to the computer over USB.
## Reading Comparison: Blank Card vs. Toothbrush
First, he connected the reader, set it to reading mode, and placed the included blank card on it—the green light on the ESP32 came on, indicating a successful read, but the card contained nothing beyond a few hexadecimal values.
Then he held the toothbrush vertically above the reader and clicked Read Tag:
> "Boom, look at that, so much information. All of this information is stored in my toothbrush head. Can you believe it?"
The next step was decoding it. The author had two brushes: an old one he had used for a long time and a new one he had never used. He started by checking whether there were any differences between them.
## Decoding the Brush Head Data
His program has a "Decode Data" tab specifically for decoding the information on the toothbrush.
### New Brush Head
The new brush head had a recorded runtime of **0**, because it was new. It stored:
- Actual usage time
- The toothbrush's actual intensity level (high- and low-intensity modes)
- Brush head type—the head was labeled **Sonicare White** (the author said he didn't remember any particular reason for choosing this model; it was simply cheaper on Amazon)
- Manufacturer code
- A unique ID
- Even a website link
Philips claims that it actually monitors pressure data. The author wasn't entirely sure how credible that was, so he decided to test it.
### Old Brush Head
He removed the brush head he was currently using for comparison. Its blue stripes had almost completely disappeared. Reading it revealed that it had used nearly **84%** of its expected lifespan, or **5 hours and 1 minute**, out of a maximum usage time of **6 hours**. The author had been using it in high-intensity mode, and the other information looked much the same as the new brush head's.
## Pressure Tests
### First Test: Running Without Pressure
He put the old brush head back on the handle and ran it at high intensity for two minutes. Afterward, he removed the head and read it: usage time had increased from **5 hours, 1 minute, 08 seconds** (**83.65%** of its lifespan) to **5 hours, 3 minutes, 08 seconds**—exactly two minutes.
### Second Test: Running at Low Power
He ran it for another two minutes at low power (to switch to the low setting, press the power button twice). Reading it afterward showed that **exactly two minutes had been added**, and it now recognized that the last use had been in **low-power mode**.
> "Both high power and low power only recorded two minutes of runtime, so how does the system actually record how much force you're using? I haven't seen any change."
### Third Test: Actually Brushing Teeth
The author decided to actually brush his teeth with it. The reading showed that the last use had been at low power, with a usage time of **5 hours, 5 minutes, 08 seconds**. After brushing at high intensity for two minutes, he read it again—the increase was quite noticeable, and the system was back in high-intensity mode.
The key point: **the brush head was clearly detecting how hard he pressed**, because pressing too hard while brushing made the toothbrush vibrate slightly differently, and the author could feel the warning going off. This time, the recorded usage time increased by **more than two minutes**.
## Data Analysis: Pressure Multiplier
Putting the data together:
| Run | Actual Duration | Recorded Time |
|---|---|---|
| Initial | — | 5 hours, 1 minute |
| First (no pressure) | 2 minutes | 2 minutes |
| Second (no pressure) | 2 minutes | 2 minutes |
| Third (with pressure) | 2 minutes | More than 2 minutes |
| Fourth (with pressure) | 2 minutes | More than 2 minutes |
Conclusion: the toothbrush actually applies a **multiplier** based on the force or pressure you apply to your teeth. That's an interesting approach.
## Can You Write Data to It?
Further down, there is some password information—writing to the brush head is actually protected, so it isn't easy to do with this NFC reader/writer. But some other people have put a great deal of effort into it:
- **Markus Birth**: Did excellent work decoding and extracting all the information from toothbrush heads and identifying many different patterns
- **Cyrill Künzi**: Also reverse-engineered the brush heads
Their combined work resulted in a **GitHub repository** that can be used to write data to these devices.
The author followed their instructions. He entered programming mode, held the toothbrush above the reader, and **reset it to 50%** (purple indicated a write operation, followed by another read to confirm). The reading showed a recorded runtime of **10,800 seconds**, equivalent to "three hours," with **50%** remaining.
The author wasn't quite sure what the point was, since it wouldn't make the brush head look any younger—but you really can write data to them.
## Unlocking a Computer with an Old Brush Head
Writing data gave the author an idea: what else could he do with this brush?
He doesn't like creating lots of plastic waste and wanted to find another use for old brush heads:
> "Ta-da! You can actually use it to unlock your computer."
He tried again, and it still worked. He switched to the new brush—**nothing at all**. Only that ugly old brush could unlock the computer.
## Taking Apart the Brush Head
The author decided to take out what was inside:
1. First, he tried removing the **metal collar**—it came out quite easily, with very little effort
2. Next, he removed the **antenna**—it lifted out easily, revealing the small antenna loop and the tiny chip embedded there
The footage was a little shaky because he was filming the close-up with his phone. He didn't take it apart any further:
> "But it still unlocks my computer, so I'd better not lose it."
All that sophisticated technology inside a toothbrush.
## Conclusion: Does a Toothbrush Need a Microchip?
**Absolutely not!** But it is very cool technology. The author likes that it records both time and applied pressure, allowing it to tell you when the brush head is worn out.
He ended by asking viewers whether they could think of any interesting ways to use these old brush heads.
Source: There’s a microchip in my toothbrush. But WHY? — https://youtu.be/aq0aTRG8YTE (https://youtu.be/aq0aTRG8YTE)