Announcement

Collapse
No announcement yet.

HeatSnob - modifications and hacks

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • HeatSnob - modifications and hacks

    Hello,
    I like to tinker with devices, and was able to pull up the heatsnob on an HID-API interface.
    I can get the binary readout of the temperature, but don't know how to convert that to celsius.
    I noted there are always 8 non-zero bytes in the read() result. And bytes 4...7 are changing.

    Would you please share how to convert to celsius?
    I want to screw around with my own C code to make graphs.

    Thank You,
    ~Bruce

  • #2
    Hi Bruce,

    I pulled mine apart to add a USB isolator to it, see this thread. (http://coffeesnobs.com.au/home-roasting-tips-tricks-ideas/43209-heatsnob-grounding-errors-non-supplied-probes.html)

    The thermocouple amplifier is a Maxim MAX31855 and the micro is a PIC18F2550, no idea about the data protocol though.


    Gary
    Last edited by gazza; 14 April 2016, 05:18 PM. Reason: missed a bit

    Comment


    • #3
      Originally posted by gazza View Post
      Hi Bruce,

      I pulled mine apart to add a USB isolator to it, see this thread. (http://coffeesnobs.com.au/home-roasting-tips-tricks-ideas/43209-heatsnob-grounding-errors-non-supplied-probes.html)

      The thermocouple amplifier is a Maxim MAX31855 and the micro is a PIC18F2550, no idea about the data protocol though.


      Gary
      Thanks Gary! I just pulled mine apart today too, before I read your post here.
      Took a look at the Maxim data sheet and was able to reverse engineer the encoding.
      I can extract the thermocouple temperature and internal temperature of the chip, now.
      Its pretty easy, using hid_api.

      It seems nobody else has tried this with a heatsnob before.
      I really like the Roast Monitor software, but I think its a nice option to be able to use this excellent little device with your own software, or link it into other software packages (like Artisan for example).

      Cheers,
      ~Bruce

      Comment


      • #4
        Just a quick update.

        I have 2 HeatSnob temperature probes working in Artisan.
        Have to say, the HeatSnob device is very well designed and well built.
        And, the programming interface, using USB HID is pretty slick.

        If anybody is interested, let me know and I may be able to provide source code.

        Cheers,
        ~Bruce

        Comment


        • #5
          Good work Bruce.
          I've only just seen these posts (I'm overseas for another week odd). I split these posts from the other thread as it gets cleaned when a new version is released.

          Off the top of my head I don't know the details on the data output but there were some additional data bits from memory. Sometime after I return I'll hook-up with the developer and get a "spec for the output" from the HeatSnob and post in this new "Modification and Hack" thread.

          Comment


          • #6
            Originally posted by gobears View Post
            Just a quick update.

            I have 2 HeatSnob temperature probes working in Artisan.
            Have to say, the HeatSnob device is very well designed and well built.
            And, the programming interface, using USB HID is pretty slick.

            If anybody is interested, let me know and I may be able to provide source code.

            Cheers,
            ~Bruce
            Good stuff - I've been roasting blind since my multimeter's dial's contacts corroded and one of the spring loaded contacts flew away somewhere when I tried to clean them up.

            Have resisted buying the heatsnob as wanted to move to Artisan because of source code availability. Will grab one next bean order. Appreciate your offer of sharing the source.

            Comment


            • #7
              Originally posted by Andy View Post
              Good work Bruce.
              I've only just seen these posts (I'm overseas for another week odd). I split these posts from the other thread as it gets cleaned when a new version is released.

              Off the top of my head I don't know the details on the data output but there were some additional data bits from memory. Sometime after I return I'll hook-up with the developer and get a "spec for the output" from the HeatSnob and post in this new "Modification and Hack" thread.
              Hi Andy,
              Appreciate the encouragement!
              And, glad to know that you are open to hacks & mods.
              Linking the device into the open source world will make increase its appeal for some folks, like me...

              The data sheet is available here:
              https://www.adafruit.com/datasheets/MAX31855.pdf

              The tricky part was figuring out how the chip output was mapped into the HID USB interface, which is best described by the source code, which I posted over at the Artisan web site, on issue #92.

              Cheers,
              ~Bruce

              Comment


              • #8
                Originally posted by simonko View Post
                Good stuff - I've been roasting blind since my multimeter's dial's contacts corroded and one of the spring loaded contacts flew away somewhere when I tried to clean them up.

                Have resisted buying the heatsnob as wanted to move to Artisan because of source code availability. Will grab one next bean order. Appreciate your offer of sharing the source.
                Yes, source code availability is a big upside for me too. And, its nice to have an ecosystem with a few software options.
                I have been using RoastMaster until now, and am quite pleased with it, its done a good job for me.
                Excited to try something new though. My first roasts will Artisan will come this weekend.

                BTW, the source code is over at:
                https://github.com/artisan-roaster-s...isan/issues/92

                If you want to make it work with your heatsnob, you have to do the following:
                (1) Download hid_api version 0.7.0
                (2) Go to /mac directory inside hid_api directory. I have only tried mac, but I imagine windows would work equally well. hid_api is a well regarded cross-platform library.
                (3) Replace the hidtest.c file with my code posted at github.
                (4) type "make"
                (5) type "./hidtest" to run the application. It will find all heatsnob devices connected by USB, and report all their thermocouple temperatures.
                (6) Load Artisan, go to Config->Device->Program tabs and then set the path to the "hidtest" application.

                If you want to know whats going on in details, then type: ./hidtest verbose at the command prompt, and the program will dump a list of all usb devices, and hex/binary readouts of the chip, along with internal temperature of the chip.

                Cheers,
                ~Bruce

                Comment


                • #9
                  Originally posted by gobears View Post
                  Thanks for this Bruce, I have compiled your hidtest under linux, just couple of minor fixes required, not sure if copy/paste problem but there's a bunch of empty #includes at the top of your file. Also I had to add <stdio.h> and <string.h>. Not at home at the moment where my heatsnob is but can't see why it wouldn't work. I'll give it a go this afternoon and report back.

                  Comment


                  • #10
                    Originally posted by Agrajag View Post
                    I'll give it a go this afternoon and report back.
                    Confirmed working in linux with artisan.

                    Comment


                    • #11
                      Glad to know you got it working!

                      And, good catch, I did not even see that problem with the includes.
                      The site where I posted, does not display they < > signs, so I changed the includes to "" and now you can see them.
                      Also modified the instructions about how to compile. You have to go to hidtest directory and modify hidtest.cpp, and then go to /mac or /linux directory, type make, and then finally run it by typing ./hidtest.

                      Cheers,
                      ~Bruce

                      Comment


                      • #12
                        G'day Bruce, I did my first actual roast with heatsnob + artisan. I just had the default artisan settings, 3 second sample, no oversampling or anything. It went pretty well but the curve/RoR was hard to follow in real time because it wasn't smooth. After the roast if I applied smoothing it looks nice but just wonder if you've found some good settings to use? I thought maybe increasing to 5 second samples and turning on oversampling might help?
                        Last edited by Agrajag; 4 May 2016, 02:56 PM. Reason: typo

                        Comment


                        • #13
                          Ok this is a revelation to me. I effectively binned the HeatSnob cause the Artisan documentation said it doesn't work with HID devices though I certainly tried. But I am not as tech savy as you guys.

                          My sampling rate is 3 seconds with oversampling. Delta BT Span is 6 sec and Smooth Deltas is 10. My realtime ROR was off the chart when I first started. I did a lot of things to bring it under control so I'm not sure exactly what I did to resolve it TBH but playing with those settings helped. At least now it is only slightly bumpy and definitely usable. However note I'm not using the HeatSnob but a Centre 304 thermometer so maybe the settings are device specific. If you can show a screen grab of you ROR before smoothing I can tell you if mine is now better or worse than yours. I'm not roasting for a while but the next batch I'll try and remember to get a screen shot.

                          Hope that helps.

                          Comment


                          • #14
                            Originally posted by MrFreddofrog View Post
                            I effectively binned the HeatSnob cause the Artisan documentation said it doesn't work with HID devices
                            Yeah it doesn't directly, this method is using an external program which reads the value from the heatsnob. Artisan has support for calling the external program which it reads from.

                            Originally posted by MrFreddofrog View Post
                            I did a lot of things to bring it under control so I'm not sure exactly what I did to resolve it TBH but playing with those settings helped
                            Yeah I reckon I'll end up just trying a few things and see what works, bit of trial and error it sounds like.

                            Originally posted by MrFreddofrog View Post
                            If you can show a screen grab of you ROR before smoothing I can tell you if mine is now better or worse than yours.
                            Click image for larger version

Name:	16-05-02_1959-indonesian-nosmoothing.png
Views:	1
Size:	69.0 KB
ID:	742009
                            This was my first go (also new roaster - so ignore the overall profile, while I think not too bad, I didn't really have any idea what I was doing!)

                            Comment


                            • #15
                              Yep, mine started out much worse than that but now only deviates by about 10-20 C, so about that last blip in your chart in real time. As mentioned I did play around with many things but try the Delta BT Span and Smooth Delta and see how you go. Just run the roaster on manual and change the profile setting so you don't waste any beans.

                              Btw are you using the tangent/interpolation line that predicts what the temperature will be in the future given the current ROR. Can't see it in your pic so not sure if you've discovered that setting. It is great. I use it all the time.

                              Comment

                              Working...
                              X