
Building an open source Nest - simonbarker87
http://blog.spark.io/2014/01/17/open-source-thermostat/
======
imroot
I've just built something very similar to this last weekend -- For around
$43/sensor (Raspberry Pi Model B, DigiSpark, and 1-Wire Temperature Sensor) I
made 20 of these for my home, farm, and hackerspace for temperature logging. I
did this because we're getting another 'polar vortex' next week and the cows
don't like it if it's colder than 20 degrees out.

This allows me to measure the temperature inside, outside, and get the
relative humidity (not nearly as accurate as the $20 honeywell sensor that
they're using, but, it's close enough for my needs). I then built a simple
website using mrtg (for temperature trending) and a ruby script that checks
the temperatures versus what the set points are and mounted the raspberry pi's
in various locations around my places.

My "Controller" nodes are a beagleboard with a 4 or 8 channel relay board
attached that allow me to turn on or off the individual controls on the
furnace. It works well with my two stage heat pump and fan at my home, but, I
need some work to get it 100% at the hackerspace and at the farm.

I mainly did this because I needed something that allowed me to cover more
rooms than the Nest (and I'm adding duct dampers and fans to my heating
system, so I can selectively heat and cool more rooms to better temperatures).

~~~
shmikshmak
What is the DigiSpark for? Is the Pi's IO not enough? How are you networking
them?

~~~
imroot
The biggest thing that I had against using the Pi's GPIO pins were that
they're really unforgiving, and only ran on 3.3v. My One-Wire sensor
([http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf](http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf))
Needed 5 Volts, and that's something that the DigiSpark gave me with no
issues. I literally soldered pins 1 and 3 to the +5 and Ground pins on the
back of the digispark, pin 2 to the I/O5 on the digispark, and ran a 4.7K
resistor across the front from +5 to Pin 5 for my pull up resistor -- stupid
easy to do and a squirt of epoxy made everything electrically tight.

~~~
mcescalante
Beaglebone might have served you better since it sounds like you actually
needed some control stuff. I've found it's got better GPIO, PWM, etc. options
for projects that require them.

That, or a put together a nice board that you can plug into the RPi to
interface better with it maybe :)

~~~
imroot
I'm working on building a desktop CNC machine so that I can mill out and drill
the holes for my projects...I'm hoping to have this done mid-year, but we'll
see.

------
mrfusion
I like the use of short 2-5 second videos instead of pictures. They did it
tastefully and made it useful.

I never thought I'd see a good use case for auto playing videos. (It kind of
reminds me of Harry Potter too)

~~~
teh_klev
I'd rather I it didn't auto-play and let me choose whether I want a page to
swamp my bandwidth and CPU. Even over an 8Mb/s ADSL connection on a quad core
Xeon workstation with 12GB or RAM and fairly decent video card this page is
one of the worst behaved I've encountered in a while.

Sadly I won't be reading any of the content because even after five minutes
it's killing my browser. To the spark.io blogging team, please don't assume
unlimited wads of broadband. Let the reader decide whether they want to play
your videos, and you know, I can only watch one video at a time on that page,
so why start them all playing at once? This is no better etiquette than CNN or
MSNBC or an adware farm where they start playing videos at you upon arrival.
It's very rude.

~~~
kmfrk
Indeed; autoplay=true is stupid, but on the other hand, it's quite remarkable
how it manage to bring my desktop PC to its knees.

Maybe using whatever [https://mediacru.sh/](https://mediacru.sh/) returns
instead will help.

~~~
Kliment
Bluekitten, you are hellbanned for no apparent reason as of 21 days ago.

~~~
ewoodrich
This is the second time she's been hellbanned too.

For no real reason either time. I'm not sure what's going there.

~~~
pg
Bluekitten is just the 100th or so reincarnation of recoiledsnake, which is as
far as we can tell a Microsoft astroturfing campaign. Lately their sockpuppets
are often female, to give people the impression we're banning women when we
ban them.

~~~
grinich
Are there many accounts like that on HN?

~~~
pg
This person or group has created lots of accounts, but there are no others
like them that we know of.

------
grinich
Funny-- the first Nest thermostat prototypes were also built with acrylic and
wood. (I used to work there.)

I always hoped they would switch back to wood, but it's incredibly hard to do
right in mass manufacturing.

~~~
ama729
> but it's incredibly hard to do right in mass manufacturing.

Any particular reason? From the outside, wood seem easier to use than plastic.

~~~
kitcar
Wood is basically more expensive than plastic for mass-manufactured items. The
basic raw material is more expensive. You can't source a large volume of
aesthetically-identical pieces, so its harder to produce identical items. You
can't injection mold wood, so higher manufacturing costs.

There are "manufactured" woods which address many of these issues, but they
also tend not to be deemed as beautiful / strong as the real thing.

~~~
swalsh
As a hobby woodworker, i'd love to be able to buy the parts, and make the
enclosure myself. I got some scraps of walnut that would look awesome.

~~~
jsilence
Well, you can buy the parts for the spark version.

------
parfe
This makes me happy. I have a house with electric heat and eight thermostats
pushing Nest costs into unreasonable territory. I'd love to be able to
remotely set all my thermostats to 55 degrees or get certain zones to react
based on events fired from my phone, (e.g. coming, leaving, charging with
screen off aka sleeping, pending alarm)

Unfortunately, with my electric heat the thermostats sit inline with the
heater's power source so I need devices that can safely handle 120v.

~~~
jusben1369
Why do you have 8 thermostats? Is your house very very large? If true then is
the personal cost to you of 8 Nest's really prohibitive?

~~~
parfe
Not large at all. One thermostat per room. With electric heat you have to put
a thermostat in line between the circuit breakers and the heating element
(radiant panels in my case). Centralizing the house on a single thermostat,
like you would with forced air, would actually be incredibly difficult. It
would also lose the benefit of fine control; one of the few positives of
electric heat.

~~~
aconbere
Worth pointing out (and you touch on this above) that this is not a function
of electric heat but a function specifically of the type of electric heat
(radiant in this case). I have electric heat by way of a ducted electric heat
pump which is not zoned and thus centralized. Zoned ducted and non-ducted
electric heat pumps both offer localized control over heating.

~~~
URSpider94
for what its worth, people in the trades would not consider a heat pump
"electric heat", even though of course the power does come from electricity.

electric heat refers specifically to heat generated by heating an element with
current.

~~~
aconbere
Fascinating! (coming back to this late). What would the consider an electric
heat pump, or what would they call it?

------
noonespecial
One thing I found about hardware is that the prototype is only 10% of the
effort. Sourcing components for mass production, government regulatory
hurdles, and then that damn enclosure are 90% _when everything goes right_.

I can build all kinds of things with my arduino and all of those awesome
little one-off function boards you can snag on ebay from china theses days. I
can't build 10000 of any of them.

~~~
jevinskie
See, hobbyists have it lucky! Well, nowadays samples are harder to get..

------
pessimizer
>we built our own approximation of the Nest Learning Thermostat in one day —
and we’ve open sourced everything. In this process, _we’ve come to respect the
incredible technical challenges that Nest has solved_ while also coming to
understand how much the game has changed since they first started.

I missed the technical challenges - this seems trivial, and exactly how easy
that I would imagine it to be. The only challenge that I see is figuring that
people would want a thermostat controlled by a phone app.

Since that's been figured out, I'm going to be very surprised if within 2
years 10 vendors don't have $50 versions sold at Wal-Mart, and there aren't
2-3 different open source software stacks competing to support a few of them.

~~~
jcastro
The tricky bit is the learning; the first few weeks or so with it I was
adjusting it all the time, now I don't need to do that, it knows I prefer to
go to bed warm and wake up cool and just sets the right temperature.

I thought the phone app would be gimmicky, but it's nice to be able to get off
the plane and un-autoaway the thing so by the time you get home it's
comfortable.

~~~
ghaff
My problem is that I don't really have patterns. Sometimes work from home,
sometimes don't. Do a lot of traveling. Hours vary quite a bit. The only thing
that would tempt me about Nest other than general coolness is that I could
remotely turn down heat when traveling if I forgot before leaving. But that's
not worth $250.

~~~
dclara
Totally agree with you. The down side is not only machine learning may not
meet my satisfaction, it may make me annoyed. My current thermostat works
pretty well for me if I need adjust not too frequently everyday. A scheduled
plan should be good enough if we really want to improve this kind of devices.

The second problem is that it's lacking of systematic design. Think about we
are going to have some many "Intenet of the things" in our home or office, we
have to download some man apps, each of them needs cloud services which
usually not free. This is how they make money after the hardware sales.

\- Eggs should not be washed.

------
zedpm
I'm trying to understand if you can self-host the server-side piece of this.
I've wanted to have a networked thermostat for a while, but all the ones I
found connect to the vendor's server, which is silly. I'd like to be able to
point the device at my own server so I have full control.

EDIT: Yep, the Common Questions section of their website[1] says that they'll
be releasing an open source version of their Cloud. Awesome.

[1] [https://www.spark.io/](https://www.spark.io/)

~~~
dsr_
Even better than not sending your usage information offsite: not having the
system stop working when spark.io goes out of business (or is purchased, or
goes to version 3, or...) and stops their servers.

~~~
dclara
Strongly agree.

------
mwsherman
I think this is great but there are lessons here from desktop Linux, Facebook
clones, etc, which is that retail is hard.

In order to ship a widely used operating system, you need a support
infrastructure, consumer research, drivers for lots of hardware, warranties,
marketing, payroll, operations, accountants, regulatory compliance. The
product is almost the easiest part.

I imagine that Nest understands all this. Putting a piece of hardware in
someone’s house – one that’s connected to a furnace or which claims to protect
against fire – means a lot of liabilities, broadly defined.

I’d love to see an open source version get to that level of maturity and
support. It does happen but it takes a _lot_ of people.

–

(Tangent, but when I started at Stack, a lot of people said they could (and
did) build a clone in a weekend. Sure, as an approximation of the technical
product. But that ain’t the ‘retail’ product, which is actually comprised of
community, goodwill, SEO, quality control, and a lot of other things.)

~~~
maxerickson
In that context, this is a well done promotion for their hardware platform.

------
batoure
I think that this is a really cool project. But I think that the problem here
is still fundamentally the same as the one faced by the nest.

The thesis of spark.io is "you can trust us with your data" not you have
control of your data.

The spark is built on a cloud connected platform. even if you can see and
control outputs from your board you still exist as part of their ecosystem.
Which is basically the functional equivalent of using the dropbox api to build
something instead of google drive.

I won't be excited about home automation until someone goes the way of an open
protocol for these types of devices that doesn't require a centralized pass
through.

Because if history has been any kind of teacher, it shows us that spark.io
will probably get sucked up by google or somebody in the near future.

~~~
enjo
This simply isn't a big concern for the _vast_ majority of users. Nest has
$3.2 Billion dollars as testimony to that.

~~~
batoure
First I would say that nest certainly has a good user base. Keep in mind 3.2
Billion is just what google was willing to pay for the company this is in no
way a metric for the success of the product. Liberal estimates give the
company a potential revenue of 111 million a year based the amount of units
they claim to produce, but this is a maximum sales number. Also the argument
that most users don't care about this issue has been clearly shown to be
incorrect. [http://torrentfreak.com/bittorrent-sync-hits-1-million-
users...](http://torrentfreak.com/bittorrent-sync-hits-1-million-
users-30-petabytes-transfered-131105/) Spark is still like nest a company, and
THEIR argument is that their product is great because of the control it gives
you over making your own solution. I am not saying that nest isn't a valid
product for the market I am simply saying that sparks thesis isn't really
valid because they claim to put the user fully in control when really they are
still the gatekeepers.

~~~
maxerickson
The current messaging on the Spark.io website is that you can do everything
locally.

From the "Common questions" section at the bottom of
[https://www.spark.io/](https://www.spark.io/):

 _If you want the simplicity of the Cloud but you want it on your own server,
we 'll be releasing an open source version of the Cloud designed for quick and
easy deployment._

(They also don't seem to restrict the device very much)

~~~
batoure
yeah once the open source cloud release happens I think that my view would
change. But as it stands you do currently need to use their cloud to connect
to the device.

------
davexunit
There is a project called GNU remotecontrol that I just discovered that could
be used for this purpose. It's important that _you_ can be in control of your
thermostat data instead of handing it over to Google/Nest/some other malicious
vendor.

~~~
deelowe
"malicious"... ohh, comeon. That's a stretch. This suggests there is an
intention of doing harm. Creepy, maybe, but not malicious.

~~~
davexunit
They are harming your privacy and freedoms.

~~~
aioprisan
can you quantify that harm?

~~~
g8oz
Since the lack of transparency is part of the harm, no, we can't quantify it.
It's theoretical until it isn't.

------
zellyn
I was under the impression that one of the major challenges faced by Nest was
running off only the power available by safely drawing from the existing
wires.

Without that constraint, it's a much easier problem.

~~~
Florin_Andrei
Wait, there's power there? Where from?

~~~
twoodfin
Thermostats turn your heat/AC/fan on and off by connecting and disconnecting
an electric circuit. Older analog thermostats did this mechanically; newer
ones do it with electronic switches. That circuit has some small amount of
current running through it to signal to the heating unit whether it's
connected or not.

The control circuitry in the heating unit is sensitive to a range of voltage
values. It has to be, because V=IR, and there's no way to know exactly how
much wire (and thus R) will be strung through your house. The Nest can thus
pull some current off the wire to charge its battery but keep the signal
strong enough to flip the heater on and off.

My house has a new electronic "zone box", which, because it's all
semiconductors, only needs to run a very small amount of current through the
wires. That's not enough for the Nest to charge. Fortunately, the standard
home heating wiring includes a "common" wire, with a low amount of constant
voltage suitable for devices like the Nest.

------
g8oz
Nice, but I'd rather not be tied to a 3rd party service like Spark Cloud.
Indeed thats my problem with Nest. It would be great if it would just connect
to my private VPS or something.

~~~
middleca
see zedpm's comment earlier:

Yep, the Common Questions section of their website[1] says that they'll be
releasing an open source version of their Cloud. Awesome. [1]
[https://www.spark.io/](https://www.spark.io/)

~~~
dclara
Is it possible to have private server on the local network without building
the Cloud by ourselves from the open source?

\- Eggs should not be washed.

------
malandrew

       "At Spark, we’re making it easier to bring connected 
       devices to market with the Spark Core, our Wi-Fi 
       development kit, and the Spark Cloud, our cloud service for 
       connected devices."
    

I found SparkCore on github[0] and the C++ communication lib for Core to
communicate with SparkCloud [1], but I did not find SparkCloud itself on
Github. Is that component going to open-source as well?

It would be nice if you had the option to host your own cloud service. You
could protect your business model at least partially by using an open source
license that requires people to change the name if they decide to fork it and
productize it, such as the Artistic License v2.

[0] [https://github.com/spark/core](https://github.com/spark/core)

[1] [https://github.com/spark/core-communication-
lib](https://github.com/spark/core-communication-lib)

~~~
amanfredi
Yes, they have said it will be.

------
coreymgilmore
I have built a similar system, and expanding it to more devices (think:
devices other than thermostats). However, I use my own custom messaging/web
server for communicating with the device from anywhere in the world. Think
controlling your (ex: toaster) in NYC from LA without configuring any
networks, vpn, ports,...aka Nest-like. Combined with some machine learning and
machine "thinking", its pretty powerful.

The Spark Thermostat is great minus the fact that you need their web api for
communicating with it. But for a 1-day build, how can anyone disappointed!
Great job Spark team.

In regards to my own devices, I am definitely going to have to take a look at
Spark now. Cool hardware.

------
skue
Are there any specifics on how the underlying Spark platform handles security?
On their product page it says that Spark Cloud "creates a secure environment
without forcing your web browser and the Core to speak the same language,
which would be taxing on a low-power, low-cost microcontroller." Which isn't
reassuring.

They don't provide any specifics in the docs either, only this:

 _" Security is hard. It’s especially hard on an embedded system, because
encryption is resource intensive. But it’s also important, because you don’t
want anyone turning on and off your lights, or worse, locking and unlocking
your front doors.We hand-picked a set of rock-solid security protocols that
are secure and efficient, so they work great on an embedded system. They’re
baked into the Spark Protocol, which is open source and ready to be extended
to other products."_

I get that encryption may be difficult on embedded systems, but I would also
argue that if a small embedded system can't handle strong encryption then it's
not ready to connect devices to the web. I can't find any links to source code
- anyone know what sort of encryption they use?

~~~
towynlin
RSA encrypt initial handshake message to cloud:
[https://github.com/spark/core-communication-
lib/blob/master/...](https://github.com/spark/core-communication-
lib/blob/master/src/spark_protocol.cpp#L102)

Return message from cloud is decrypted with an RSA private key on the Core:
[https://github.com/spark/core-communication-
lib/blob/master/...](https://github.com/spark/core-communication-
lib/blob/master/src/handshake.cpp#L53)

An HMAC signature is verified: [https://github.com/spark/core-communication-
lib/blob/master/...](https://github.com/spark/core-communication-
lib/blob/master/src/spark_protocol.cpp#L1022)

If everything checks out, AES-128-CBC session key is saved and IV is rotated
with every message exchanged:

encrypt: [https://github.com/spark/core-communication-
lib/blob/master/...](https://github.com/spark/core-communication-
lib/blob/master/src/spark_protocol.cpp#L989)

decrypt: [https://github.com/spark/core-communication-
lib/blob/master/...](https://github.com/spark/core-communication-
lib/blob/master/src/spark_protocol.cpp#L267)

Cheers, Zachary Crockett Spark CTO ;)

~~~
skue
Thanks!! Please consider adding that some of this to the Security
documentation, and more prominent links to the source code as well.

I actually found your GitHub profile and should have realized that core-
communication-lib is what I wanted, but it appears new and doesn't have many
stars yet, so I missed it.

~~~
towynlin
Great suggestion! I just added this as a security overview section of the
README.

[https://github.com/spark/core-communication-
lib](https://github.com/spark/core-communication-lib)

------
strick
If your next iteration includes a physical switch to put the fan in 'always
on' mode, it will already be superior to the Nest.

~~~
jisaacks
The nest cannot be _always on_ because it is not provided with enough power.
It has to use the power it has to charge an internal battery so they it can
work at all. Always on would not have sufficient power.

~~~
strick
I was talking about a switch for the HVAC fan, not the nest itself. With the
nest you have to fiddle through a bunch of screens to turn the fan on and off.
It is a personal pain point of mine.

~~~
joezydeco
Totally agree. I've been tinkering with my own project to do this. I wanted
the recirc fan under programmable control as well to try and mix the house air
once in a while and distribute the temperature a little better.

 _Nobody_ has ever offered this in a thermostat with the possible exception of
the RadioThermostat CT30/3M50, which has a JSON API and lets you manually
control the relays.

~~~
pvarangot
??? My 30 dollar third-world built brazilian crappy on-off thermostat has
manual fan on and off. It can be programmed to turn on automatically when
over/under a given temperature and also to not run for more than a predefined
ammount of minutes.

As I understand it any temperature control designed for big refrigerators or
freezers has this features. Some even allow you to pre-configure fan cycles
(i.e. on for x minutes, off for y, repeat) and turn the cycle on or off
depending on temperature or compressor state.

------
boise
you can buy the components for ~$36: [http://octopart.com/bom-
lookup/x7lnOrCu](http://octopart.com/bom-lookup/x7lnOrCu)

(not including the Spark Core at $39)

------
potench
How does the thermostat control temperature? Am I crazy, I feel like I'm
missing a section on how this device connects to the central air, Ac, heater,
fan or something that can affect temperature. Under _hardware_ : "relays to
control the furnace and the fan." But I don't see details on the relay.

~~~
pmorici
You just wire the relays to the control wires coming out of the wall. You can
turn your furnace on and off by just touching these wires together. It will
depend on how your system is wired there can be a lot of variations. Of course
making sure your product works with all those variations is one of the hard
parts that they didn't address.

------
lowglow
If you're interested in building IoT, wearables, and externals, I'm getting an
expo + hackathon together called Hackendo
([http://hackendo.techendo.co](http://hackendo.techendo.co)) for April. I
would really love the community's support in helping make this awesome, so
anyone with experience in this area or feedback on how I should run the event,
please reach out.

Also if you're in the bay area, you should check out this meetup group run by
my friend Nick Pinkston:
[http://www.meetup.com/HardwareStartupSF/](http://www.meetup.com/HardwareStartupSF/)

------
jaredcwhite
I gotta say -- the use of video in this blog post is outstanding. Best use
case of HTML5 Video I've yet come across, frankly. Sorry, I'm supposed to
comment on the actual comment...haha. Just saying I love the format. :)

~~~
SDMattG
Yea I really enjoyed that too. Now, if only I lived somewhere other than San
Diego where I actually needed a thermostat ;-)

------
arianvanp
This reminds me of the time I hacked an old hard drive to use it as a rotary
encoder. Started with the idea in the morning, finished the idea the next
morning:
[http://www.youtube.com/watch?v=i1U83BMi7vw](http://www.youtube.com/watch?v=i1U83BMi7vw)

I've now extended the idea into a fully working DIY DJ Controller. My first
big electronics project... I've been planning to open-source the build
documents for quite a while now. :
[http://www.youtube.com/watch?v=BFhLQzisx90](http://www.youtube.com/watch?v=BFhLQzisx90)

------
emmelaich
Also have a look at ninjablocks.com; their hardware is open source.

The software is partly open sourced.

[http://ninjablocks.com/pages/open-source](http://ninjablocks.com/pages/open-
source)

------
blcArmadillo
This is pretty cool. For some time I've been interested in building a Nest
clone. I like the concept of Nest however it doesn't work for me because my
wife's work schedule can't be predicted with machine learning and therefore I
think Nest would actually end up being less efficient for us. She keeps her
work schedule in a calendar though so my plan was to have the thermostat use
her work calendar to optimize our heating/cooling plan. This project looks
like it could be a good starting point.

------
excellence24
this is great but with these devices and 'the internet of things', the most
important part is not the devices but the data. And with this, instead of
Google getting all the data, Spark is getting the data, and the data is where
the money is. And once they get more data and learn to use it, they will
become a more valuable company and eventually might get acquired.

I think for something to truly be open-source and beneficial for everyone,
everything about it must be open, including the data. The data from all the
connected devices globally could be stored on an open database that anyone can
access and use. Its one thing to 'learn' with the limited data that one device
might generate, but for a machine to 'learn to learn' it should be able to
study ALL the data that might be useful.

This kind of organization could lead to a type of opensource corporation where
anyone can be an 'employee'. Employment and compensation could be based off a
public list of contributions to the project. To each according to his
contribution.

This idea could be applied to anything that's used in public and generates
data. Autonomous cars, home automation, drones, (NSA data, slightly more
complicated but still could be open sourced). But as long as we're tricking
ourselves into thinking we need 'money' to survive, the organization or
company with the most of it wins.

------
nilkn
Any ideas for stuff to build with this besides a thermostat? I'm talking about
for a fun side project to learn the ropes, not necessarily the next $3.2B IoT
company.

~~~
maxerickson
A temperature logger?

There are lots of microcontroller-that-you-program-via-usb communities.
Arduino is a good search word.

Also, this discussion:

[https://news.ycombinator.com/item?id=7071080](https://news.ycombinator.com/item?id=7071080)

included this tumblr:

[http://bltuc.tumblr.com/](http://bltuc.tumblr.com/)

~~~
technomancy
Once you add networking, Arduinos don't really have much cost benefit over a
full-fledged Linux SOC board. An Uno plus an Ethernet shield ends up being
nearly the cost of a Raspberry Pi, which is several times more powerful.

I built out my XMPP-controlled office thermostat on a BeagleBone Black, which
costs a bit more than the Pi but has way more pins, including analog inputs,
which are pretty important for temperature sensors. Plus using a Linux machine
meant being able to choose your language instead of being stuck with C, so I
took the chance to learn some Erlang:
[http://technomancy.us/171](http://technomancy.us/171)

~~~
maxerickson
Yeah, there are lots of options.

The $40 wifi-included board featured in this story sort of has a nice
installation story though (maybe fussy setup, but one less cable).

------
dzhiurgis
God damn it. I've just received STM32F4 Discovery board yesterday, tried to
run Espruino on it to no avail. And now this thing popped up!

Is it possible to run your software on other dev boards?

Does it have enough processing power for HTTPS POST? I see someone complain
here: [https://community.sparkdevices.com/t/how-to-send-http-
post-r...](https://community.sparkdevices.com/t/how-to-send-http-post-request-
to-a-secure-url/740)

------
josephpmay
The site is broken on mobile (Safari). An autoplay video pops up and keeps
reopening when closed.

------
patcheudor
Building a thermostat for a gas furnace is never worth it because someone
could die:

[https://community.sparkdevices.com/t/burning-down-the-
house/...](https://community.sparkdevices.com/t/burning-down-the-house/2204)

~~~
maxerickson
To the extent that this is a popular idea, it wouldn't be a big deal for
someone to come up with a commercial 'final logic module' that sat between the
user interface and the furnace. It could do a sanity check on the requested
operation before carrying it out.

(Sure, it would have to have most of the functionality of a thermostat, but so
what.)

------
goofygrin
Probably a dumb question but it seems as if the thermostat is dumb. Ie all it
is is an interface to the hardware.

If your Internet/wifi is spotty (very common)... Does your thermostat not
work? Are you stuck being hot or cold?

------
Aardwolf
Make it run on mains or USB power, with the battery only being used if the
power is disrupted.

After all, one wouldn't want to have to charge their smoke detector every day
like a smartphone, right? (Not once a month either).

------
Eduardo3rd
Documenting a company hardware hackathon this way is super interesting. I
think we'll have to give something like this a shot next time we do some rapid
prototyping over here. Way to go Spark!

------
spyder
Cannot view the page in Firefox because it's freezing the browser and the
memory usage jumps from 155 MB to 880 MB (even with clean profile without add-
ons) :(

Edit: It's doing the same in Chrome too

------
auvi
Who knows Google will also acquire Spark some day. They have bought a bunch of
robotics companies, Nest and so on. A cloud connected controller, why not?

------
650REDHAIR
This is beautiful. Love your 'Nest'!

Looking back to 5-10 years ago you would have had a really hard time building
this in a week let alone 1 day.

------
sixothree
I don't see any information about how they interfaced with the hvac system.
Did they use a relay board or optoisolators?

------
mistakoala
That webpage killed my laptop. Presumably the video that did it? So thoughtful
of them to play it automatically.

------
mark_l_watson
+1 that is so cool. I sometimes wish I was also a hardware person, especially
when I see projects like this.

------
3VWguy
You allow way new people on here? Want to built the spark thermostat. Where
are schematics?

------
levlandau
This looks pretty interesting. Definitely heading over to github to look in
more detail.

------
blueskin_
Now Nest is part of Big Google, this is amazing. Time to add this to my
projects list.

------
aabalkan
Wow those HTML5 videos totally caused my browser to freeze on a very good
hardware.

------
serf
Those videos were way distracting.

Also the firmware definition bugs me.

neat product/concept tho.

------
codex
Why would you want an open source Nest? Is there a market demand for something
which is uglier, harder to use, takes more time to install, and works worse?
Do you also build your own toasters or automobiles?

~~~
dangrossman
I buy connected devices so that I can, well, connect them -- I have a server
running that does things like change the temperature on my Nest based on a
different brand motion sensor in a different room, or based on voice input on
my phone.

[http://i.imgur.com/8fFkdQ9.jpg](http://i.imgur.com/8fFkdQ9.jpg)

In that dashboard of mine, you see devices from 6 different companies that
I've integrated. 3 of them required reverse engineering some kind of website
for remote control, even though all that website does is pass on a command
from my home network back to my home network.

This would break if the website goes down, the website rate limits me, the
website blocks my IP, or the website owner decides to sue me under CFAA
because their TOS probably didn't authorize remote control outside of their
official apps. Nest is one of those websites. There's no official public API.

I consider alternatives where I could just talk to the device directly a
selling point, and it has nothing to do with privacy. I don't care about
Google having my temperature history at all.

------
analog31
What are the failure modes?

------
baldajan
very ugly, but very cool (I do like the wood finish though)

------
ankitg12
Nice work guys..

------
meerita
3D printing comes to my mind.

~~~
sliverstorm
When you have a hammer, everything starts to look like a nail...

Seriously, the case was possibly the least important part of this and they had
no troubles manufacturing it.

