# STC-1000 Custom Open Source Firmware



## Edak

I am not sure whether anyone on here saw this or not but I think it's a great project for those who want to use a cheap thermostat replacement for their brew fridge and schedule lagering, etc. A cheap and common platform that is now more useful? I think that's a cool thing...

Anyone tried it? Experiences?

HBT Thread:
http://www.homebrewtalk.com/f51/stc-1000-a-464348/

Source Code:
https://github.com/matsstaff/stc1000p

How I found out about it:
http://hackaday.com/2014/03/15/temperature-controller-gets-open-source-firmware-upgrade/


----------



## MastersBrewery

Epic!!


----------



## sp0rk

Already posted this in the main STC thread 
It'll actually be a great cheap alternative to a PID, should work for controlling a HERMs


----------



## Mardoo

Wow! Pretty awesome. Thanks for sharing. I really need to update my under-the-hood knowledge.


----------



## alphaomega

Hi!
Just signed up as this thread turned up on google.
I'm the guy behind this hack.
First, I just want to say thanks for the attention. I'm stoked the news has traveled around the world (I'm swedish) 
Secondly, I'd be very glad any of you would like to try it out. Version 1.00 has just been released.
I just want to inform you that,
1: it is not possible to revert to original functionality as the original code is protected.
2: it seems that not all STC-1000's are compatible, so check your STC-1000 hardware before proceeding
However, I do think you will like the firmware if you do decide to try it. Should you have questions or if you should happen to find a bug, please ask in homebrewtalk thread, as that is what I will follow regularly.

Cheers!
//mats

Edit: I just read some of the coments in the main STC-1000 thread and wanted to clarify. This firmware will not be suited for HERMS usage (at least not any better than stock firmware), as it is still thermostat control and not PID. What it brings to the table is temperature profiles for fermentation, (i.e. keep temperature X1 for Y1 hours, then temperature X2 for Y2 hours and so on).
But, my next order of business is to try to implement a PID control firmware, so give it a couple of weeks and maybe...


----------



## MastersBrewery

alphaomega said:


> Hi!
> Just signed up as this thread turned up on google.
> I'm the guy behind this hack.
> First, I just want to say thanks for the attention. I'm stoked the news has traveled around the world (I'm swedish)
> Secondly, I'd be very glad any of you would like to try it out. Version 1.00 has just been released.
> I just want to inform you that,
> 1: it is not possible to revert to original functionality as the original code is protected.
> 2: it seems that not all STC-1000's are compatible, so check your STC-1000 hardware before proceeding
> However, I do think you will like the firmware if you do decide to try it. Should you have questions or if you should happen to find a bug, please ask in homebrewtalk thread, as that is what I will follow regularly.
> 
> Cheers!
> //mats
> 
> Edit: I just read some of the coments in the main STC-1000 thread and wanted to clarify. This firmware will not be suited for HERMS usage (at least not any better than stock firmware), as it is still thermostat control and not PID. What it brings to the table is temperature profiles for fermentation, (i.e. keep temperature X1 for Y1 hours, then temperature X2 for Y2 hours and so on).
> But, my next order of business is to try to implement a PID control firmware, so give it a couple of weeks and maybe...


Is there any way of telling if the STC-1000 I have is compatible


----------



## Ducatiboy stu

Alphaomega

Your in good company. There are quiet a few on here that play & code Arduino type setups so you wont have many problems getting brewers play with your STC code. 

Any chance that it can be LAN conectable so that temps can be logged via PC. I realise that it will need an ethernet port etc....but thats the fun of doing it.


----------



## alphaomega

So far the only way to know, is to open it up. The process is pretty well described in the user manual so have a look at that if you are interested.

There is little chance of adding communication of any kind. I've put pretty much work into cramming all the current functionality in. The MCU in this thing is truly tiny.


----------



## Ducatiboy stu

Fair enough.


----------



## mr_wibble

Ducatiboy stu said:


> Any chance that it can be LAN conectable so that temps can be logged via PC. I realise that it will need an ethernet port etc....but thats the fun of doing it.


You could make your own logger, that would be an interesting little project.

There's a few Arduino ethernet+SD-card piggy-back boards. 
I reckon that would only be a page of code too.


----------



## kjparker

Mr Wibble said:


> You could make your own logger, that would be an interesting little project.
> 
> There's a few Arduino ethernet+SD-card piggy-back boards.
> I reckon that would only be a page of code too.


If your going to go to that trouble though, I question why you wouldnt just base your entire controller off the arduino, instead of using both.....


----------



## Ducatiboy stu

Because its a challenge.....and allways good to be the first to do it


----------



## vortex

And if you're going to use an Arduino, you may as well just use a RaspberryPi - then you can do anything you're capable of coding without hardware limits that make it feel like you're coding in the 1970s again.


----------



## Edak

I prefer punch cards myself...
On a serious note, the reason why this is good is because the device already has a display and analogue frontend so not much work to do.


----------



## anthonyUK

clueless said:


> If your going to go to that trouble though, I question why you wouldnt just base your entire controller off the arduino, instead of using both.....


The Arduino is only used for programming. It is not required after.


----------



## mrsupraboy

What does this hack actually do. I read through the top links but still not sure


----------



## Edak

Allow you to create ramp profiles and timed set points so you can slowly change the fermentation fridge temperature. Think consistent profiles for crash chilling, diacetyl rests, etc


----------



## sp0rk

alphaomega said:


> Edit: I just read some of the coments in the main STC-1000 thread and wanted to clarify. This firmware will not be suited for HERMS usage (at least not any better than stock firmware), as it is still thermostat control and not PID. What it brings to the table is temperature profiles for fermentation, (i.e. keep temperature X1 for Y1 hours, then temperature X2 for Y2 hours and so on).
> But, my next order of business is to try to implement a PID control firmware, so give it a couple of weeks and maybe...


Just wondering, is this because the NTC Thermistor doesn't have the accuracy of a PID?
Your firmware still offers set temps for certain timings, I can't see why that wouldn't work for a HERMS (This being said, I don't use a HERMS)
As long as I flick my pump on at the same time as the STC-1000 starts to heat, everything should work, right?


----------



## Kodos

sp0rk said:


> Just wondering, is this because the NTC Thermistor doesn't have the accuracy of a PID?
> Your firmware still offers set temps for certain timings, I can't see why that wouldn't work for a HERMS (This being said, I don't use a HERMS)
> As long as I flick my pump on at the same time as the STC-1000 starts to heat, everything should work, right?


the big difference between a PID and a thermostat is the ability to compensate for residual heat and overshoot. EG if the STC was to turn on your element and heat up to 65 deg, the power to the element would get cut off when it hit that temperature, but the element is still freaking hot, and will continue to heat your wort/liquor/whatever, and you might overshoot your temp by 5 degrees or more while the element cools down.

PIDs work out how quickly the element is heating the liquid, and will slow down by pulsing on and off as it slowly approaches the set temperature.

Or I've completely misunderstood most of what I've read about PIDs (a real possibility) :blink:


----------



## Edak

You are right in that a PID is for predicting future temp rather than hiring a set point. The reason why they didn't put pid into this project is a lack of code space.


----------



## loco88

Anyone in Melbourne done this and willing to help out and do the same for an Arduino-less brewer? I'd love to get a lager profile going but don't have an Arduino (and can't justify buying one at the moment)


----------



## MartinOC

Bump! Similarly "technologically-challenged" here & would love to see how it's done, so I can replicate it.


----------



## Moad

Me too, would prefer not to have to invest in an arduino.

Anyone in Newcastle willing to help out?


----------



## Moad

Just got one for $15 delivered from HobbyKing.

Ordered 2 x stc for $27 delivered so I don't risk my keezer/fermenting fridge stc's. Hopefully they are compatible

If it works and is easy to do (ie doesn't take much time) I will flash them for my fellow brewers


----------



## PeteQ

Moad grab some leads and a female header from jaycar or similar to make life easier for you.

It is extremely easy to flash, but once flashed the firmware isn't all that easy to navigate and use. I always have the manual handy in the brewery.

I would be happy to flash anyones correct STC in Sydney?


----------



## loco88

Moad said:


> Just got one for $15 delivered from HobbyKing.
> 
> Ordered 2 x stc for $27 delivered so I don't risk my keezer/fermenting fridge stc's. Hopefully they are compatible
> 
> If it works and is easy to do (ie doesn't take much time) I will flash them for my fellow brewers


Which model was it on their site? There's tonnes, and for $15 I may take the plunge but I want to get it right obviously!


----------



## PeteQ

This will work - http://www.ebay.com.au/itm/Latest-UNO-R3-development-board-DCCduino-UNO-R3-compatible-for-arduino-EW-/261528526960?pt=AU_B_I_Electrical_Test_Equipment&hash=item3ce450a070


----------



## Moad

The one they mention in the guide...uno?


----------



## anthonyUK

PeteQ said:


> This will work - http://www.ebay.com.au/itm/Latest-UNO-R3-development-board-DCCduino-UNO-R3-compatible-for-arduino-EW-/261528526960?pt=AU_B_I_Electrical_Test_Equipment&hash=item3ce450a070


Sure will. Even the nano will work if it has enough memory e.g. 32kb for the flashing program.


----------



## Moad

Well gear arrived but I ordered the wrong bloody temp controllers, they are hot/cold only and not both. I'll hook one up to the keezer and keep one spare.

Then I have two hot/cold ones to flash, they are elitech. Are they flashable?

I'll have a crack at this tonight just need to pick up the cords and header from jaycar...


----------



## Moad

I had checked both STC's and one of them was V 1.0 but I didn't realise at the time it also needs to be A_400.

No compatible STC's but an arduino and cables with header etc

bugger!


----------



## anthonyUK

Moad, You have a v1.0 but it isn't an A_400?
You gotta love Chinese quality control :blink:


----------



## Moad

yeah it doesn't have the programming headers on the board, says v 1.0 though. Dissapointing!


----------



## anthonyUK

Any chance of a pic for reference?


----------



## Moad

I'll post a pic, I ordered another one and it is v1.1. Absolutely no luck with these at all.

If anyone has a v1.0 with no intention of flashing I'd love to swap for a non flashable unit. I'll even swap a fully assembled one for just the stc v1.0


----------



## MastersBrewery

Moad said:


> I'll post a pic, I ordered another one and it is v1.1. Absolutely no luck with these at all.
> 
> If anyone has a v1.0 with no intention of flashing I'd love to swap for a non flashable unit. I'll even swap a fully assembled one for just the stc v1.0




Moad I have one V1 A400_F, I was going to flash myself it came in an order of a couple so if the others are the same happy to sort something out with you.

MB


----------



## Moad

Mate that would be awesome, let me know if you have one spare. Do you have an arduino etc? If not I could flash yours too if you like


----------



## MastersBrewery

I'll open up the other two over the weekend, both are currently fermenting, I'm good to flash and will probably leave that for early next year when I do a full brewery strip down and clean, with a few little upgrades along the way  The spare I was going to use for the keezer when I get around to doing it, so no ramping required.

MB


----------



## Moad

Too easy, keep me posted. If you have a use for 5 amp ones you can have two of them plus a v1.1 for the trade. Pm me and we can sort it out. Really hoping its the right version!


----------



## Moad

any luck mate?

I'm going to buy another one as a spare anyway, does anyone have a source for A400_P's?


----------



## MastersBrewery

will PM some details tonight, but this one's yours unused, as I said had it as the spare with plans to control keezer, only came out of box to check it's specs.


----------



## Moad

Flashed successfully to v1.4

Went to flash to 1.6 and it fell over half way through, no I think I have a dead stc hahaha


----------



## MastersBrewery

great news Moad, should have that conical filled and chugging away by the end of the weekend!


----------



## Moad

just flashed 1.4 back on to it, it was only the LCD not displaying.

MB you are a bloody legend for sending that up can't thank you enough. Will get yours in the post tomorrow!


----------



## Moad

If anyone in Newcastle would like theirs flashed I am happy to return the good karma and do it for free.

Also happy to do it for other people who would cover postage for themselves, it only takes 5 minutes to do.

I have found a source for the right hardware so might stock up on a few...


----------



## Moad

Has anyone had an issue with the profile not starting? Just got home and it looks like it was looking for a non existent second probe (v1.06) even though its disabled. Seemed to be displaying the wrong temp, was showing 16.5 with a target of 17. I pressed the power button and it displayed 23 which is what it felt like.


----------



## Moad

Spamming this thread but the profile hadn't started until I pushed the power button to "activate it" not sure what it was displaying.

I have had a couple of requests for pre flashed units so...







I am ordering 2 at a time, they are costing me $26.70 each (expensive I know but they have all been the right hardware so far). 

Will send pre flashed units for $43 in a 3KG bag or $38 if I can get them in a 500g bag. 

Cheers,

Nick.


----------



## keifer33

Might be worth giving this eBay seller ago Moad. http://www.ebay.com.au/itm/360837379326?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

I have got about 6 from them now and all are flash-able.


----------



## Eagleburger

keifer33 said:


> Might be worth giving this eBay seller ago Moad. http://www.ebay.com.au/itm/360837379326?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
> 
> I have got about 6 from them now and all are flash-able.


three of mine are from that seller and are all flashable.


----------



## Moad

I've still got 2, might grab two more from this seller thanks fellas


----------



## barneey

I have fitted the above connector to make it easier to program in the future, the socket could also be easily fitted by the side of the STC. & rather than messing around with the internal resistor needed for the 2nd probe why  not just get another jack plug and only use the ground and ICSPCLK for the 10kOhm resistor & the new temp probe Vcc and ICSPCLK, that way the 2nd probe is totally portable.


----------

