Show Posts
Pages: 1 2 [3] 4
31  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 27, 2011, 11:42:37 am
FWIW, as promised, I was able to calculate the S/H coefficients for the Thermoworks probes.  I haven't done extensive testing, but seems to be accurate to a few degrees F using a 10K resistor divider.  I haven't yet calculated if that's the most optimal value yet, but it seems to provide a reasonable starting point.  I created a new threads so hopefully it's easier for others to find in the future.,53675.0.html
32  Using Arduino / Networking, Protocols, and Devices / Nokia 5110 + SD SPI == Fail on: February 27, 2011, 02:56:31 am
So I have my Nokia 5110 LCD working and the SD card shield working; I just can't seem to get the LCD working when I initialize the SD library.  I've already hacked the PCD8544 to allow me to define all the pins to use, but something about the SD library is breaking the SPI bus.  Note: It doesn't matter if the SD shield is connected or not.  The SD card seems to work just fine (I can write files) and I've made sure to use the same SPI pins for both devices.

If you're curious, my hacked version of the PCD8544 library is here:


#include <PCD8544.h>
#include <SD.h>

#define SPI_CLK         13 /* SPI CLK */
#define SPI_MISO        12 /* SPI MISO */
#define SPI_MOSI        11 /* SPI MOSI */
#define SD_SELECT       10 /* SD Card SPI Select */
#define LCD_SELECT      9  /* LCD SPI Select */
#define LCD_DC          8  /* LCD data/command */
#define LCD_RESET       7  /* LCD Reset */

PCD8544 LCD;

void setup() {
    pinMode(LCD_SELECT, OUTPUT);
    pinMode(SD_SELECT, OUTPUT);


    Serial.println("Starting LCD");

    /* initialize LCD */
    LCD.begin_custpins(84, 48, SPI_CLK, SPI_MOSI, LCD_DC,
            LCD_RESET, LCD_SELECT);

    // don't talk to LCD while we init the SD
    digitalWrite(LCD_SELECT, HIGH);

    /* initialize SD Card on SPI Bus */
    if (!SD.begin(SD_SELECT)) {
        Serial.println("SD card initialize failed, or not present");
    } else {
        Serial.println("SD card initialize success!");

    LCD.setCursor(0, 0);
    LCD.print("Started LCD!");

void loop() {
    LCD.println("LCD is running!");
33  Using Arduino / Sensors / Calibrated Thermistor for Cooking on: February 26, 2011, 10:40:57 pm
I went looking for a way to measure temperatures for cooking food (specifically smoking meats in a charcoal fired smoker) using an Arduino and couldn't find any simple & cheap plug and play solutions.  Long story short, I purchased three food-grade NTC thermistors for $8/each from Thermoworks: (part #TW362XX) and then did my best to measure their resistance across a wide range of temperatures (approx 3.6-232.2C, or about 38-450F).  Turned out to be more work then I figured and making a number of stupid mistakes along the way didn't help, but I now have what appears to be fairly well calibrated probes by using the Steinhart–Hart equation tools available from and the Thermistor4 Arduino library:

Long story short, here are the Steinhart–Hart coefficients for these thermistors:
a[0] = 1.211111230054231e-04
a[1] = 3.762691542377820e-04
a[2] = -1.735716635603824e-05
a[3] = 6.538964941154940e-07

Maximal error=6.82365 at temperature=232.2

The raw data is available here: if anyone would like to check my work and/or assumptions.

Anyways, hopefully this helps someone else with their cooking related Arduino project!

34  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 26, 2011, 02:25:47 pm

Let me know when you do if you don't mind.

I've also found several examples of thermistors that use a look up table, but I've not figured out how that works yet.


Will do.  Do you have a link of a food-safe thermistor w/ lookup table?  Should just be able to plug in the values into the S/H coefficient calculator and save the effort of manually measuring a bunch of temps.  FWIW, Amwei has some look up tables, but unfortunately it doesn't seem valid for the meat probe on their website (b values don't match).
35  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 26, 2011, 12:36:43 am
FYI, I can now say that the Thermoworks and Maverick/RediCheck probes are not the same.  After comparing them side-by-side there are a few visible cues to indicate they are different- the Thermoworks has a clear silicone strain relief on the probe end for the wire and the connector is grey rather then black being the two easiest.  The Thermoworks wire is thinner and the probe is slightly different shape as well.

Also, comparing the resistance values at a number of temps shows that they're different enough that the S/H coefficents would not be usable.  Anyways, I'll be posting the table of R values vs. Temp and my calculated coefficents for the Thermoworks probes in a different thread if anyone else would like to use them.
36  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 25, 2011, 06:51:39 pm
From what I've read and the testing I've done, thermistors are extremely non-linear (significantly more so then other temp probes) so taking a few reference measurements will only really work if you care about a very small temp range.  In my case at least, where I'm tracking the temp of the meat & smoker temp, I'm looking at a real world range of about 50-350F which is a bit much from what I can tell without taking many many measurements.  Or take fewer measurements and apply the S/H equation.

Seriously though, now that I understand what needs to happen to make the S/H equation work, it's pretty easy.  Take a few reference measurements, process that data with some code available on and then plug the resulting coefficents into the Arduino Thermistor4 library.  Of course, I still have to read up on the whole AREF thing to make sure my analog reads are accurate, but that's required no matter what.

Either way, I'm happy to admit I'm over engineering this- do I really need data logging to generate RRD graphs?  Prolly not.  3 meat/smoker probes and an ambient temp sensor?  Total over kill.  But considering how much work this whole project is, not really a big deal and as long as I'm learning something I'm having fun. smiley
37  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 25, 2011, 06:06:12 pm
I can't speak for JH, but I can say for a complete newbie such as myself, figuring out how to properly use this thermistor has been bit of a challenge.  There's a lot of general documentation about thermistors, but I haven't found a start to finish "how to" for how to setup an unknown thermistor.  Also, for these thermistors, there is NO technical information on them (B values, R @ 25C, etc) included and unless you get lucky and find the Amwei website and do a little digging you're completely on your own, and even then the specs don't seem complete (no Alpha value for example).  Of course, I'm just assuming the parts are the same!

Or you can be like me and miss-understand how to calculate the S/H coefficents and rather then measuring resistance at different temps, you measure the analog voltage via the Ardiuno and then wonder why the numbers don't make any sense. smiley  I'm still not sure about what resistor I should use in the divider circuit... 10K seems to work pretty well, but the listed R value at 25C is ~98K which I thought meant using a 100K resistor.

Anyways, I've got all day saturday to figure this out.  Sunday I'm going to smoke a brisket, so hopefully I can do a little real world testing.
38  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 25, 2011, 04:28:26 pm    US$ 11.85

If you want to use thermocouples, then you must live with the limitations (the finicky wiring, and ice-point interface in particular). You will have to make the trade-off decision whether using cheap thermocouple probes is worth the higher overhead for your project.

I think that's the thermistor that JT said he tried.  Actually reading his comments again, looks like he tried the above thermistor *and* thermocouples (hence the title of this post).  Honestly, sorta surprised that I haven't been able to find the Steinhart-Hart coefficents listed anywhere for that part since it seems everyone points at it as the solution for tracking food temperature (pretty sure it's the same used by Thermoworks)... actually come to think of it, I own one of the Mavericks- I should test their resistance values to make sure.

Anyways, looks like I won't be finishing building my race bike this weekend afterall, so looks like I'll have time to figure out the S/H coefficents myself.
39  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 24, 2011, 07:14:31 pm
If he's smoking meats like I am, then 50-200F would be interesting.  50-400F would be great for also measuring the smoker temp.  I too would love to find a cheap, accurate & food safe alternative to thermistors if available.
40  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 24, 2011, 01:45:14 pm
FYI, 99% sure the OP is trying to interface to thermistors, not thermocouples.
41  Using Arduino / Sensors / Re: Multiplexing a Thermocouple Input on: February 24, 2011, 01:25:08 pm
Thanks for the link, that looks rather small compared to the dime. The type I need to use are all armor cabled and sheathed and some are pointy so you can jab them in the food.

This is the thermistor I tried to get working...


Hey John,

Your project so far sounds very similar to the one I'm building.  I'm pretty sure that is the same probe as the ones I'm using in my project to track meat temperatures in a smoker.  I bought them here:

Although I strongly suspect they're being OEM'd via Amwei: (search for 'meat probe')

I've tried contacting Thermoworks/Amwei for more info, but haven't heard back. smiley-sad

Anyways, I have 3 probes and am going to see if one of them can be setup as an ambient temp sensor for the smoker itself.  Anyways, the probes + LM34 communicate via an Arduino via 315Mhz RF to another Arduino which has an LCD display, SD card for data logging and buttons for setting alarms, etc.  Honestly, the Arduino on the transmitter/probe end is a bit overkill, but was easier for me to design.

I'm pretty new to this whole thing (this is my first real electronics/Arduino project), but I'm learning fast and have a deep programming background.  I'd be happy to work with you if there's some overlap in our projects.  Probably the next step in my project is calculating the  Steinhart-Hart constants for the probes so I can calculate the temperature via the Thermistor4 library.

42  Using Arduino / Sensors / Re: ds1307 loosing 20min/day? on: February 24, 2011, 12:54:39 pm
I'm really impressed by SparkFun's newer RTC breakout module. It's based on the DS3234 chip which has an internal crystal and is also temperature compensated. It's seems only about $5 more then typical DS1307 modules. I think before long I will be purchasing one.


I really wish I could use the DS1307.  Unfortunately I've run out of digital pins for another SPI select and I intend to transfer this project to custom PCB's and trying to do surface mount components is beyond my abilities at this time.  My wireless temperature datalogger/alarm is my first electrical/Arduino project, so I had to draw the line somewhere!

Thanks everyone for the additional pointers!  Should help me prevent these kind of errors in the future.
43  Using Arduino / Sensors / Re: ds1307 loosing 20min/day? on: February 23, 2011, 12:16:14 pm
Pretty sure I've found my problem.  Turned out to be an EBCAK(*).

I was following the Ladyada RTC howto, including the part about setting the time of the clock to the compile time:
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));

Worked great!  Right up until the point I rebooted the Arduino 20 minutes later using the same code.  At that point it re-set the clock to the original compile time and voila... 20 minutes lost in about 3 seconds.  Or at least that's what I'm pretty sure what happened.  Obviously, after flashing & booting the board, you need to comment out that line and reflash the chip so it doesn't keep resetting the clock.

* Error Between Chair And Keyboard
44  Using Arduino / Sensors / Re: ds1307 loosing 20min/day? on: February 22, 2011, 03:10:39 pm
it's all soldered on the board.  is there a good way to test the crystal? 
45  Using Arduino / Sensors / ds1307 loosing 20min/day? on: February 22, 2011, 12:09:47 pm
Yes, I have a new battery installed.  It's a brand new adafruit DS1307 break out board.  Seems to work ok (can read from it and set the time per the spec), but it's loosing about 20min/day.  The board was running on the 3V button battery for most of the time- no external power, but still connected to the Arduino analog pins (Arduino is providing external power).

Pages: 1 2 [3] 4