SHT15 Humidity and Temperature Sensor - SHT15 Breakout

I’m glad it worked guys! Btw we’re working on a more seamless integration with Spark that will make it simpler to setup this type of code (even if you’re not a programmer :slight_smile: )


@RWB - One more quick question, as I recall mention of adding some form of watchdog code to maintain a consistent web connection. Do you recommend, or have you found the Spark to maintain connectivity over time without that? I’m about to drop this bad boy in the attic, and I don’t really want to be crawling up there to reset it. Just curiuos on thoughts/findings.

My personal experience with the first Spark Cores has been mixed when it comes to needing to reset it by pushing the reset button on the actual board.

I think if your using your homes Wifi connection you may have minimal issues as far as resets will go but only time will tell.

My cellphone provides my WiFi hotspot and its always coming and going as I leave the house and come back. Normally it will reconnect without issues but sometimes it will flash green and will not automatically reconnect unless I do a physical reset. I think this would be less of a issue if I was connecting to a stable home Wifi router.

I say throw it up there and see how it goes over time. Also let me know what your experience is if you do have to actually push the reset button to get it going again.

@h2ogood, @RWB is right and with the (really soon to be released) firmware, the Core will be way better at reconnecting itself. :smiley:

@peekay123 @h2ogood

Good to know Peekay123, I’ve had my temp sensor up and running for what seems like a year now so I’ve had plenty of time with it. The auto reconnecting has become better as the new firmware’s has been released over time.

For me personally the Electron should solve the problems I have ever had since it eliminates the needs for a actual wifi connection which usually never has enough range for what I would like to do.

1 Like

Thanks - good to know (all around)! Honesty - it’s been rock solid on my home wifi… even flashing it many times over, it always seem to reconnect to WiFi without a problem. At this point, I’d have no reservations flashing without access to it. I also moved my WiFi to a non-broadcast, and it’s still hopping right on. Thanks again! Now to start piping in outdoor temp / humidity into my spreadsheet.

Good to hear.

How are you liking Ubidots?

Ubidots is rock solid. However, I’d like the ability to pipe external data sources into it (e.g. outdoor temp, humidity via yahoo weather/etc. API). From what I can tell Ubidots is setup for POST only, and does not have the ability to GET information from outside sources. I’ll also soon be moving to longer-term data review (as in weeks or months), and I feel like it views a day or two better. Still tinkering with all of it. I might give the Google spreadsheet a go (to compare), just so I can view a full years worth of data and pull outside sources into the data graphing. It’s all a work in progress.

1 Like

@h20good yea @aguspg may have some recommendations for you about Post and GET integration.

If you click on the gear icon at the top right of your line graph there are some more features I just found. One of the features is Culumative Graph which is supposed to show you the complete history of the data feed instead of just the last 1000 or 2000 readings. Give that a try.

Funny - I was playing aruond w/ the settings earlier and chose cumulative sevearl times, then it shows setting are saved - and I’m right back at viewing the same graph. I’ve also (seperately) adjusted the amoutn of data points to display to max out at 2000 - again, it shows the same default display. I tried a few different browsers to see if that might be it - but no luck. I’m only logging every 30 min’s now, which should be about 96 dots / day I can’t seem to view beyond 5/8 (for today, 5/11). Minor points.


I was experiencing the same thing after clicking Cumulative also but I figured it was because my unit was offline at the time.

I’m sure @aguspg will chime in here in the near future with some feedback. Ubidots has always been rock solid for me.

Also I think you can download all the data over time from Ubidots and display it via a Spreadsheet.

Google spreadsheet’s was a real pain in the ass and never really worked properly for me over the long haul.

Hi @h2ogood thanks for the feedback.

The cumulative option is supposed to fix the amount of initial datapoints, and then start accumulating the new dots that arrive since the last update of the browser window (is not supposed to show the complete history). We think of the dashboard more for the latest chunks of data, which is why the historical navigation is found under the “Source” --> “Variables” tab. Feel free to loop any further feedback to (we’re also noting the GET external source suggestion for our backlog!)

Btw @RWB great idea, just created a project on Hackster to get Ubidots data from Google Sheets it works pretty well.

Yes please!

My code is posted here: SHT15 Humidity and Temperature Sensor - SHT15 Breakout

1 Like

404 Page Not Found

Thanks @RWB,
I guess you don’t have a pre-ubidots version of the code, or do you?
Im working my way down all the posts and want to learn step by step.
Great stuff here, thanks for all the information!

ps: I have actually starting coping some of your edits from a picture you posted feb 14 :smile:

The code that works now is posted in on post 29 of this thread. I don’t have any other code than what you may find going back into earlier post from this thread.

No worries. Thanks for everything anyway!

1 Like

Hello! I’d like to connect a temperature & humidity sensor Sensirion SHT71 to my Particle Spark Core. Any suggestion on the code or library to use?

Thank you,


at the end I’ve manged to get a Sensirion sensor SHT75 working with my Spark Core board, transmitting temperature and humidity values to Ubidots.

However, compared to the popular lib SHT1x which is for VDD = 5V (like when interfacing to an Arduino UNO), in the case of Particle boards the sensor is supplied with a VDD = 3.3V, then I had to use a different conversion coefficient D1 in formula to convert the digital readout (SOT) to the temperature value.
Interpolating the D1 coefficient values listed in the Sensirion datasheet table 8, the linear interpolated values to be used in the .cpp file are:

In case of degrees Celsius readTemperatureC()
const float D1 = -39.66; // for 14 Bit @ 3.3V

In case of degrees Fahrenheit readTemperatureF()
const float D1 = -39.42; // for 14 Bit @ 3.3V

Also, I’ve noticed that not all the libraries reflect the optimization of the coefficients introduced in Dec 2011 by Sensirion for both Sensirion families SHT1x(SHT10, SHT11, SHT15) and SHT7x (SHT71, SHT75).
In the file .cpp, the corrections are as follows:

For the temperature (14-bit):
D1 = -40.1 For 5V and temperature in Celsius,
D1 = -40.2 For 5V and temperature in Fahrenheit,
For the humidity constants (12-bit):
C1 = -2.0468 C2 = 0.0367 C3 = -0.0000015955

Therefore, I suggest you to refer to the following libraries:
lthiery/SHT1x (a fork with updated coefficients that also allow different VDD voltages from 2.5 to 5V: dynamically determines conversion coefficients based on voltage tables generated by datasheet) and markbergsma/SHT1x (which includes also additional improvements, i.e. CRC checking, cleanups, …)

Hope this helps,

1 Like