mbirth 58edc59ae6
FAP: Build for multiple SDK sources / ufbt: Build for dev channel (push) Successful in 3m5s
FAP: Build for multiple SDK sources / ufbt: Build for release channel (push) Successful in 2m55s
Move UID and MFG below usage data and separate usage from internals
Signed-off-by: Markus Birth <markus@birth-online.de>
2026-08-15 01:16:00 +01:00
2026-01-26 19:34:31 +00:00
2026-03-31 13:24:27 +01:00
2026-01-26 19:34:31 +00:00
2026-01-26 19:34:31 +00:00
2026-03-20 10:14:05 +00:00
2026-08-14 11:12:24 +01:00
2026-08-14 11:56:12 +01:00
2026-08-08 21:42:15 +01:00
2026-03-30 01:27:07 +01:00
2026-03-30 01:13:35 +01:00
2026-03-30 01:13:35 +01:00
2026-03-31 13:08:21 +01:00

Sonicare Brush Head ID

Each modern brush head for a Philips Sonicare contains a Mifare Ultralight NFC chip (NTAG213). The chip not only signals to the head unit what type of brush it is (to pre-select the recommended mode) but also the recommended lifespan. Usually 6 hours, which resemble 180 brushes (2 minutes each), and, assuming 2 brushes per day, this is 90 days = 3 months. The time after which you should replace your toothbrush (or the head in this case).

The main unit also writes the time you've used the head back into the NFC chip. If you reach the 6 hours, the "replace head" indicator will light up.

The NFC chip is write-protected with a password that can be derived from the UID and MFG code. The algorithm for this has been reverse-engineered by atc1441.

Features

This Flipper Zero app will scan the NFC chip and show the UID, MFG code, lifespan, as well as the used time. It'll also generate the NFC password.

It can also reset the usage counter of the brush head. After reading a head, press the right button ("Reset"), confirm the warning dialog, and hold the head to the Flipper again.

Warning: The NTAG213 in the brush heads permanently disables all write access after 3 wrong password attempts (AUTHLIM). The password is derived correctly from UID + MFG, but if authentication fails for any reason, do NOT retry more than twice.

Download/Install

Releases page

Flipper Lab

Thank You

  • Michael Huber - reset feature
  • Vilém Kužel - also reset feature (a few days after Michael)

TODO

  • verify NTAG213 data to be a Sonicare brush head (check NDEF contents and MFG regex?)
  • determine brush head type from data
  • show last mode and intensity setting
  • show last timestamp if available
  • allow writing other data (different type, different settings, different timestamp)
    • to test: 1B:pp:pp:pp:pp,A2:gg:dd:dd:dd:dd (p=password, g=page, d=data)
S
Description
App to change Sonicare brush head usage data
https://blog.mbirth.uk/2024/01/08/resetting-your-sonicare-brush-head.html Readme
107 KiB
2026-08-14 13:53:04 +01:00
Languages
C 99.6%
Makefile 0.4%