Tasty One Top and an Android app

It all started when Ksusha bought a Tasty One Top appliance hoping that it would help her deep-fry things with using less oil and also ещ conveniently control the oil temperature.

Alas, it did not work quite as planned. Fist of all the app to control it is iOS only (and then iPhone too, does not work on iPad) and then the temp probe includeв needs to be submerged for at least 1.5" - quie a bit of oil.

Anyway, important first task - to get the One Top operational in absense of iPhones - she tasked me with writing a control app ("Just hack iPhone app to work on Android, you are smart!") and I eventually did after reverse-engineering the protocol.

I'll discuss the creating later, but first things first, here's my app you can use to control Tasty One Top without any BuzzFeed support: OneTop Control

[One Top Setup]

One Top device uses BlueTooth LowEnergy (BT LE) for communications and the first thing I needed is something to snoop on this traffic.

One of the cheaper options here was BlueFruit 3.0 from Adafruit, at only $25. Manual is at the AdaFruit website.

As long as you follow the manual precisely (That also means using exactly the versions of software outlined - yes, they are quite old) it works wonders.

Do locate the devices you are sniffing close together and BlueFruit also very close. Pay attention to blinking lights - after pairing it should have all sorts of lights blinking, if you only see solid red - the handshake was missed and you do need to retry the pairing.

[Bluefruit blinking]

Wireshark UI

Very convenient to see attributes coincident with what was done (take notes!) I found that it's best to sort packets by protocol and concentrate on ATT one, the rest are mostly unimportant in BT LE it appears.

And then...

[One Top Blinking]

It's working! Yay!

Another useful tool to examine attributes is called LightBlue - it's an android app that lets you connect to random devices and examine and modify all attributes.

Tags: