# Precision Cooker SDK

**URL:** <https://community.anovaculinary.com/t/precision-cooker-sdk/89>\
**Category:** Anova Support\
**Created:** [November 6, 2014, 2:51pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89 "2014-11-06T14:51:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Speranza](https://avatars.discourse-cdn.com/v4/letter/s/6bbea6/32.png) [@Speranza](https://community.anovaculinary.com/u/Speranza)\
**Post date:** [November 6, 2014, 2:51pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/1 "2014-11-06T14:51:23Z")

</div>

I was wondering if there is an estimate of when the SDK will be available to those who didn’t order the Hacker Special (or a link to it if it already is available). Just received my unit (thanks!) and would love to play around a bit.

---

<div class="post-metadata">

**Author:** ![npankey](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@npankey](https://community.anovaculinary.com/u/npankey)\
**Post date:** [November 7, 2014, 7:00am UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/2 "2014-11-07T07:00:42Z")

</div>

Not the SDK but I reverse engineered the underlying Bluetooth protocol a while back and documented it here

> **[GitHub - neilpa/circulate: Reverse engineered iOS library for controlling the...](https://github.com/neilpa/circulate)**
>
> Reverse engineered iOS library for controlling the Anova 2 via Bluetooth - GitHub - neilpa/circulate: Reverse engineered iOS library for controlling the Anova 2 via Bluetooth

There’s some proof-of-concept code in there for use with the CoreBluetooth iOS APIs. And here’s the Android equivalent of CoreBluetooth which has a pretty similar mapping.

> **[Bluetooth Low Energy  |  Android Developers](https://developer.android.com/guide/topics/connectivity/bluetooth/ble-overview)**

---

<div class="post-metadata">

**Author:** ![Speranza](https://avatars.discourse-cdn.com/v4/letter/s/6bbea6/32.png) [@Speranza](https://community.anovaculinary.com/u/Speranza)\
**Post date:** [November 7, 2014, 3:41pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/3 "2014-11-07T15:41:17Z")

</div>

Thanks. That’s fantastic.

---

<div class="post-metadata">

**Author:** ![Stephen\_Svajian](https://sea2.discourse-cdn.com/flex016/user_avatar/community.anovaculinary.com/stephen_svajian/32/6222_2.png) [@Stephen\_Svajian](https://community.anovaculinary.com/u/Stephen_Svajian)\
**Post date:** [November 9, 2014, 5:50am UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/4 "2014-11-09T05:50:02Z")

</div>

@npankey‌’s work is impressive.

---

<div class="post-metadata">

**Author:** ![vtemkin](https://avatars.discourse-cdn.com/v4/letter/v/c67d28/32.png) [@vtemkin](https://community.anovaculinary.com/u/vtemkin)\
**Post date:** [November 9, 2014, 8:41am UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/5 "2014-11-09T08:41:56Z")

</div>

To @“Stephen Svajian”: it’s great that you appreciate @npankey‌’s work in reverse engineering. I sure do! It would be even better if you release an official variant of his document. I am about to release to Google Play Store a simple Android controller in next few days. Neil’s guesses for “program” and “date” commands are not exact, and even “timer” commands work in somewhat mysterious ways. I will have to omit some of these functions from my app for now.

---

<div class="post-metadata">

**Author:** ![Stephen\_Svajian](https://sea2.discourse-cdn.com/flex016/user_avatar/community.anovaculinary.com/stephen_svajian/32/6222_2.png) [@Stephen\_Svajian](https://community.anovaculinary.com/u/Stephen_Svajian)\
**Post date:** [November 9, 2014, 5:28pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/6 "2014-11-09T17:28:28Z")

</div>

@vtemkin‌ We’re going to look at this after we release V1.0 of the app.

---

<div class="post-metadata">

**Author:** ![npankey](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@npankey](https://community.anovaculinary.com/u/npankey)\
**Post date:** [November 11, 2014, 1:07am UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/7 "2014-11-11T01:07:25Z")

</div>

@vtemkin‌ Can you let me know what exactly wrong so I can update my readme (or you can submit a PR)

---

<div class="post-metadata">

**Author:** ![vtemkin](https://avatars.discourse-cdn.com/v4/letter/v/c67d28/32.png) [@vtemkin](https://community.anovaculinary.com/u/vtemkin)\
**Post date:** [November 11, 2014, 2:54am UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/8 "2014-11-11T02:54:13Z")

</div>

@napnkey, unfortunately I don’t know exactly how to fix date and program, so I’ll submit issues with my findings on github. OK?

---

<div class="post-metadata">

**Author:** ![npankey](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@npankey](https://community.anovaculinary.com/u/npankey)\
**Post date:** [November 11, 2014, 5:00am UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/9 "2014-11-11T05:00:00Z")

</div>

@vtemkin‌ Please do

---

<div class="post-metadata">

**Author:** ![uiadam](https://avatars.discourse-cdn.com/v4/letter/u/71c47a/32.png) [@uiadam](https://community.anovaculinary.com/u/uiadam)\
**Post date:** [January 1, 2015, 2:07am UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/10 "2015-01-01T02:07:05Z")

</div>

This is really cool. One question: should I expect to get notifications from the Anova when it’s state changes, e.g. so I can display the current temp without having to poll the device from the app? From looking at the code and my very basic knowledge of CoreBluetooth, I’m expecting didUpdateValueForCharacteristic to get called without necessarily having to send a command (which does work). FWIW I’m an experienced iOS programmer but have no particular knowledge of the BT stack.

---

<div class="post-metadata">

**Author:** ![vtemkin](https://avatars.discourse-cdn.com/v4/letter/v/c67d28/32.png) [@vtemkin](https://community.anovaculinary.com/u/vtemkin)\
**Post date:** [January 1, 2015, 12:52pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/11 "2015-01-01T12:52:23Z")

</div>

@uiadam We don’t know the way around constant polling for now. It could be reasonable interface, but it would be kind of inconsistent - the temperature can change (and changes few times a minute); timer changes every minute (if running); the temp history info changes twice a minute; status (running/stopped), set temperature, and units can be changed by user - so there would be plenty of updates; or they could’ve treated the information differently, or have multiple characteristics. They’ve chosen the polling approach. (There might be some other interfaces we can see when they finally publish SDK, or we might guess when they publish the apps - but for now the work of @npankey is the most complete description in public domain.)

---

<div class="post-metadata">

**Author:** ![adnewman](https://sea2.discourse-cdn.com/flex016/user_avatar/community.anovaculinary.com/adnewman/32/470_2.png) [@adnewman](https://community.anovaculinary.com/u/adnewman)\
**Post date:** [February 7, 2015, 3:29pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/12 "2015-02-07T15:29:27Z")

</div>

@vtemkin and @npankey. Thanks so much for all of your efforts (as well as others). I will be ordering a precision cooker and have this idea of designing a paired web site with local agent (think Fitbit) for recipe sharing. I have _no_ intention of competing with the excellent work all have done beating Anova to the punch on mobile applications.

One question though (as I have not yet ordered my cooker). Which of the protocol commands are durable across power cycles? Does the F/C switch “stick” (I would hope so)? Does it remember the timer and/or temperature settings? The set program? Is there an RTC onboard so if you set the clock (modulo normal drift), it will run when the unit is off?

Thanks for any assistance you might be able to provide…

---

<div class="post-metadata">

**Author:** ![vtemkin](https://avatars.discourse-cdn.com/v4/letter/v/c67d28/32.png) [@vtemkin](https://community.anovaculinary.com/u/vtemkin)\
**Post date:** [February 7, 2015, 10:36pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/13 "2015-02-07T22:36:27Z")

</div>

@adnewman Here are the answers. F/C switch sticks, of course. Set temperature too. Timer doesn’t. Set program does. There is RTC, which runs when unit is off (with noticeable drift, of course).

---

<div class="post-metadata">

**Author:** ![M\_HAND](https://avatars.discourse-cdn.com/v4/letter/m/8797f3/32.png) [@M\_HAND](https://community.anovaculinary.com/u/M_HAND)\
**Post date:** [February 8, 2015, 2:50pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/14 "2015-02-08T14:50:02Z")

</div>

Why do you need a remote, mobile app, to control your sous vide cooker?  
Where are you going?  
You have to be home, to set up the cooker, and then it’s “set it and forget it”, isn’t it?

---

<div class="post-metadata">

**Author:** ![adnewman](https://sea2.discourse-cdn.com/flex016/user_avatar/community.anovaculinary.com/adnewman/32/470_2.png) [@adnewman](https://community.anovaculinary.com/u/adnewman)\
**Post date:** [February 8, 2015, 3:35pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/15 "2015-02-08T15:35:39Z")

</div>

> Why do you need a remote, mobile app, to control your sous vide cooker? Where are you going? You have to be home, to set up the cooker, and then it's "set it and forget it", isn't it?

Well… a smart phone (or computer) user experience can be made richer than a couple of buttons on an appliance. You can save your favorite time/temp combinations and associate them with recipes. You can monitor the temperature over time to assure consistent results (although the BLE profile doesn’t appear to have any “notify” characteristics to the service so you would have to poll I suppose).

Remember, this cooker is using Bluetooth so you effectively have to be home to use the remote mobile app anyway.

---

<div class="post-metadata">

**Author:** ![M\_HAND](https://avatars.discourse-cdn.com/v4/letter/m/8797f3/32.png) [@M\_HAND](https://community.anovaculinary.com/u/M_HAND)\
**Post date:** [February 8, 2015, 7:51pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/16 "2015-02-08T19:51:39Z")

</div>

You don’t need to “monitor the temperature over time to assure consistent results”, since the temperature regulation is rock steady, +/- 0.1 degree C.  
I made a refrigerator chart, better than an “app”, showing the times and temperatures, for all the products I cook. I keep adding to it, as I collect new recipes.  
Does this “app” produce a loud alarm, to wake me up, when the food is cooked? My microwave has a timer that does that.

I like the fact, that I can set up the cooker in the morning, and go out to work (no Bluetooth needed), and dinner will be ready and waiting when I get home. I have the more powerful ANOVA ONE, not the new device.

---

<div class="post-metadata">

**Author:** ![adnewman](https://sea2.discourse-cdn.com/flex016/user_avatar/community.anovaculinary.com/adnewman/32/470_2.png) [@adnewman](https://community.anovaculinary.com/u/adnewman)\
**Post date:** [February 8, 2015, 8:44pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/17 "2015-02-08T20:44:50Z")

</div>

@M_HAND glad you are pleased with the Anova product you own. I grant that a computer app isn’t necessary to enjoy a sous vide cooker. For that matter a sous vide cooker isn’t really necessary to enjoy cooking (or eating). I am planning to write a free software product to compliment the Anova bluetooth product (precision cooker). I will do it because I enjoy it. If you ever end up with the bluetooth product you can feel free to use my software and see if **you** enjoy it. Or not.

---

<div class="post-metadata">

**Author:** ![Jonas](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@Jonas](https://community.anovaculinary.com/u/Jonas)\
**Post date:** [February 8, 2015, 9:59pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/18 "2015-02-08T21:59:16Z")

</div>

@adewman Glad to hear you plan on releasing the software, as I would also prefer to be able to monitor and control the Anova from a web interface “remotely”. What platform do you plan to support? I have a mac server that I would like to use for this.

---

<div class="post-metadata">

**Author:** ![adnewman](https://sea2.discourse-cdn.com/flex016/user_avatar/community.anovaculinary.com/adnewman/32/470_2.png) [@adnewman](https://community.anovaculinary.com/u/adnewman)\
**Post date:** [February 8, 2015, 11:57pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/19 "2015-02-08T23:57:26Z")

</div>

@Jonas I will likely produce an agent that is cross platform (PC, Mac, Linux) but as I develop on a Mac, it’s a good bet that it will be available there first.

The basic idea is that it will be a recipe sharing site. You include your recipe along with the time/temp (or program if you use a multi-step approach) for the results. When a user finds an appealing recipe they click “start” and the temperature is set. Once the unit reports that the measured temperature is equal (more or less) to the set temperature, a pop up occurs asking you to start the timer. When the food is in the sous vide you click “Yup” (or equivalent). This configures and starts the timer for the recipe producer’s recommended time. Ideally I’d also like to allow users to register their favorite time/temp pairs for their personal use as well.

---

<div class="post-metadata">

**Author:** ![Jonas](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@Jonas](https://community.anovaculinary.com/u/Jonas)\
**Post date:** [March 9, 2015, 5:21pm UTC](https://community.anovaculinary.com/t/precision-cooker-sdk/89/20 "2015-03-09T17:21:07Z")

</div>

@adnewman Sounds great. Let us know when you have something for us to test 🙂

[Next page](https://community.anovaculinary.com/t/precision-cooker-sdk/89.md?page=2)
