Hacker News new | ask | show | jobs
Lighting controlled by a OralB Bluetooth toothbrush (twitter.com)
77 points by imduffy15 2234 days ago
5 comments

When I saw the title I was prepared for a great hack. Something that truly belonged on Hacker News. But this seems a lot more lame.

"I made lighting controlled by a ESP32, then put it inside the brush and connected the button to it."

But reading the twitter replies further down the chain, it seems the toothbrush sends data to the charging base, and the ESP resides there and analyzes the signals sent to the base? Much more interesting. Twitter's character limit really killed this post.

Unrelated, all the hashtags and @s make Twitter quite hard to read. The @ and # characters should be hidden for readers.

Can help fill in some of the blanks for you. The toothbrush has bluetooth. Its bluetooth advertisement contains information about its operating state (running, idle, etc.), mode (brush, daily clean, etc.), pressure and some other things. The ESP32 chip scans bluetooth, detectes these advertisements, parses them and extras the data. It then sends it over to home-assistant.io which can use the data to trigger actions on any other connected device.
Code can be seen on this commit https://github.com/imduffy15/esphome/commit/90c3cb62b37e9ce3... there are likely bugs :D
We had some great demos of AllJoyn[0] at CES doing stuff like this. It would have been great, had it lived. As I recall, Philips had a smart toothbrush that gamified brushing for kids. We had it integrated with Xbox and a home grown smart mirror.

[0]: https://github.com/alljoyn

Right, he didn’t modify the toothbrush to do anything. Just picked up the BLE message going out and used that to trigger his lights which itself is just sending out a different BLE message as I understood it.
My espresso machine turns on my coffee grinder. No wifi/bluetooth/etc.

Just bad EMI immunity.

Your comment rewritten for our modern world: “Life Hack: My espresso machine automatically wirelessly controls third party accessories like my coffee grinder”
Can this really be true? Can you explain more about what exactly is going on? Your grinder must be controlled via a microcontroller (and your espresso machine must make the FCC cry?)? My grinder is a simple physical on/off switch that’s directly wired to the motor.
The grinder is Baratza Sette 270W. The espresso machine is Rancilio Silvia.

The espresso machine has no low voltage electronics, it is basically just switches, thermostats, a heater, a pump and and a valve. It has two inductive components, a pump and a solenoid valve with no protection. This is a recipe for huge amount of EMI when the devices are turned off (when inductive component is turned off at a right time the voltage rises and can cause spark and high voltage that is applied to the outlet).

Since the grinder is connected to an outlet close by it is subject to EMI. I have not looked inside the grinder but there there are components like thyristors and triacs which are used to keep a device turned on until it decides otherwise, that can get turned on by EMI. Generating enough voltage can cause a thyristor or triac to turn on by itself which is then enough to keep it turned on and cause the device to wake itself up without the user pressing the button.

I will also add that I have two versions of the grinder. Only the older one is affected by the problem. I find it likely somebody spotted and fixed the problem (it is extremely easy to fix just as it is extremely easy to overlook).

Lots of home appliances make FCC cry, the Chinese brothers that build these figured it's cheaper to write FCC approval on the label than to implement any meaningful protection.
I have some capacitive (?) touch-sensitive lamps and a big switch for a ceiling fan. Sometimes when I flick the switch the lamps turn on
Coincidentally, I bought an ESP32 (ESP-WROOM-32 Rev1)[0] last month, and have a bluetooth toothbrush and a couple of Amazon Smart Plugs. I guess you could make your own brushing compliance system with an alarm, and add a camera plus CV to detect an absence of motion to prevent basic cheating.

0. https://www.ebay.com/itm/262809348271 It's probably not the best or cheapest available.

I wish it could work in reverse. I want my lighting to control my toothbrush.
just... why?...

I was expecting something silly like Siri Shortcuts... tbh

The demod used case is a silly one that makes zero sense, but instead of asking why, think, what else is possible.

For most peoeple the act of brushing their teeth marks waking up or going to bed.

With such data exposed and combined with timing data you could trigger morning or night time routines. For example, the toothbrush transitioning from running -> idle after 8pm and before 4am could cause the bedroom to go into sleep lighting (gold at 40% fading out over 15 minutes), all other lights to be turned off, all smart plugs turned off, house alarm set to armed, heating turned off and so on..... or I could just continue to be silly and turn it into a TV controller https://twitter.com/imduffy15/status/1256954852996939777

As someone who's done lots of automation and lived with a spouse that isn't as enthusiastic about it, one of the key things to think about is intuitiveness.

The setup of "automatically adjusts lighting based on finishing brushing teeth before bed" could easily be "the bedroom lights do random and frustrating things when I'm trying to get ready for bed". The problem is complex interactions are hard to see, like what happens when someone does something out of order, or adjusts the lights to their liking before brushing teeth, or is brushing early after a late dinner or garlicky snack but not going to bed yet.

That said, if you can do it without annoying others, go nuts! It's super fun, and it's a great learning experience to spend weeks interacting with your software from the real (physical) world. You'll find tons of edge cases, and figure out how to deal with race conditions, less than 100% reliable signals, etc.

Some of my most useful automations are very subtle, like turning on a couple inside lights as it's starting to get dark outside but only if there aren't any lights already turned on. If we're home (and have manually adjusted lights), nothing happens. Yet we never come home to a dark house (There's a similar automation for front outside lights too). This is quite a bit more complicated than a simple timer, yet is so intuitive that you don't even realize you're interacting with it.

What I'd probably do is use it to control lights in the bathroom. You're supposed to brush for at least some amount of time, change the color of the lights as you approach that time.
My Oral B toothbrush came with a little digital clock that sticks on the bathroom mirror, when you start the toothbrush it switches to a timer that counts up, with a little quadrant indicator that changes every 30 seconds.

It also apparently grades how well I clean my teeth, but that appears to be based purely on 1 star per 30 seconds, up to 5 stars.

"because I am stuck at home and bored out of my mind" is a plausible theory to me, though really, I find myself asking the same question about why the hell a toothbrush needs to connect to anything but power in the first place. The toothbrush company's page on the virtues of their Bluetooth toothbrush is not very compelling IMHO: https://oralb.com/en-us/why-switch/
Of course it doesn't. They've saturated the market though, so it gives them something to sell to people who already have a power toothbrush.
I bought one out of curiosity as to what it might add.

It’s sort of like a management consultant: The bluetooth allows my phone to tell me when I’m brushing my teeth. So I paid big bucks to find out something I already know.

~“There are those that look at things the way they are, and ask why? I dream of things that never were, and ask why not?”

― George Bernard Shaw

Sometimes people do things for fun.