Stc-1000+

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I likely missed it somewhere back...but what's the problem with the v1.1 units ? Not able to get the board into a flashable mode ?

(I bought two on Amazon, one turned out to be a WK7016C1, which seems to be a copy without cooling ability, the second is a v1.1, so I'm .. a little irritated).

The other flavors of STC are a completely different processor, so Alpha's code won't work on them.
 
Hi guys!

I have pushed the initial changes for v1.06 to the work branch.

I have added support for a second temp probe. I have added 'OFF' display when in soft off mode and it should work even after power is cut :)

This version adds a couple of items to the 'Set' menu
  • tc2 - temp correction for probe 2
  • hy2 - hysteresis for probe 2
  • Pb - Enable/disable probe 2 (disabled by default)

With probe 2 enabled, the control algorithm will also cut heating or cooling, when temp2 exceeds setpoint +- hysteresis2.
The idea is that it should measure ambient fridge temp (or a smaller thermal mass) and with a correctly set hystereris2, cut heating and/or cooling before beer reaches setpoint and limit under/overshoot. You will need to experiment with the setting to find what suits your system.

To connect an extra probe, you need (apart from the probe) a 10kOhm resistor (preferably 1% tolerance). All the connections needed are available on the programming header, so it is easiest to hook it up there.
From above the board, the connectors on the header (left to right, starting closest to the transformer) are:
ICSPCLK, ICSPDAT, GND, VCC, nMCLR

Connect the resistor between ICSPCLK and GND. Connect the probe between ICSPCLK and VCC.
You can have the probe attached and still program the STC, but if you (like me) want to power the stc's logic from the programming header and do testing, you must disconnect the ICSPCLK line after programming, as having it connected affects the temp reading otherwise.

If you do not have an extra temp sensor, you need a 10k NTC with beta 3435 (25-75 I think, but retailers seldom specify). I've been using these, cheap as dirt, but with wires that are very thin. But they work well. You might want to add a capacitor in parallel with the resistor (for noise suppression) 10-100nF should be the range. With the cap in place, programming wont work, so you might as well have a different header/connector for the the extra probe that you can remove when programming. The cap is not necessary, but would be good (I have not tried yet with a cap myself).

I've had to do a bunch of refactoring to be able to free up the codespace needed to pull this off (it is tight as <insert dirty joke here> now!!!!). And as always, I have only written the code, but not done much more, I need your help testing it! I hope/think the controller algorithm is ok, I think highest probability of bugs lies in handling EEPROM variables and menus. That reminds me, this version has slightly new EEPROM layout, so you'd do best in reinitializing EEPROM, but if you have profiles you want to keep, you can retain it but then you would need to check/set every item in the 'Set' menu.

*Phew*.... Long, post. I hope I got everything down.

In short, please, please. Help testing this version, both with and without the extra probe. Report any bugs. As I said it is tight now, but if there is anything you think should be tweaked or changed. Do tell. I really think this might be the final version, (that is there will be no more features only bug fixes, if they appear).

Thanks and cheers!
//mats

Edit: Dang it! I forgot one thing. With temp probe 2 enabled, you can switch between which temp is displayed by doing a short press on the power button. An additional LED will indicate that you are watching temp 2.
 
Cool ... I'm thinking this 2nd temp probe could come in handy for my "cold box" ... It is chilled by using a modified air conditioner (temp control has been overridden allowing for colder temps) which works great but will sometimes freeze up at lower temperatures. When the coils freeze up it blocks the flow of air and it actually gets warmer in the box, this prevents the air conditioner from getting turned off and the coils never get a chance to 'thaw'.

I'm thinking I can solve my problem by using this second temp probe and placing it on the coils of the AC - this would shut off the the air conditioner if they get too cold and should prevent the coils from freezing up on me. This should allow me to actually run it at lower temps than I can now. At least might be worth a try :)
 
That's a great idea, might have to pick up a 5th stc for when I build my chiller. Please let us know if it works as well as it does in theory!
 
I just ordered a 10pack of those temp probes ... I'd actually like to see if they work better in my thermowells too ...
 
Are ppl really using soft off?


I use it, but I'm not sure I'd miss it. The only time I do it is on brew day between fermenters moving in and out. I turn off the unit so that it won't cycle the fridge/heater on and off as I drastically change the temps and have the fridge door open a lot. I can just as easily unplug the unit in these situations.
 
Well, the soft off functionality stays. I managed to scrape together enough space by refactoring the code. And I think displaying 'OFF' was the correct move. Less confusing and it shows that the unit is powered, but not active.

Has anyone tried flashing 1.06? And has anyone had a chance to play with the mashing firmware?
 
Well, the soft off functionality stays. I managed to scrape together enough space by refactoring the code. And I think displaying 'OFF' was the correct move. Less confusing and it shows that the unit is powered, but not active.

Has anyone tried flashing 1.06? And has anyone had a chance to play with the mashing firmware?


I've flashed the mashing firmware and poked through the menus, still waiting for my RIMS tube to arrive from Brewers Hardware to give it a proper try.

Quick question, though: how does the constant output mode work and what am I adjusting with it? A pulse width?


Sent from my iPhone using Home Brew
 
The way output works is that it takes the chosen timeperiod and divides it in 255 pieces. 0 is totally off, 255 constantly on, and 127 on for half the period and off the other half. Constant output lets you set it yourself, instead of the regulator updating it based on temp.
It can be useful, to set correct power level to maintain boil if you run eBIAB for example.
 
The way output works is that it takes the chosen timeperiod and divides it in 255 pieces. 0 is totally off, 255 constantly on, and 127 on for half the period and off the other half. Constant output lets you set it yourself, instead of the regulator updating it based on temp.
It can be useful, to set correct power level to maintain boil if you run eBIAB for example.

That's awesome, looking forward to testing it out!
 
Hi guys!

I have pushed the initial changes for v1.06 to the work branch.

I have added support for a second temp probe. I have added 'OFF' display when in soft off mode and it should work even after power is cut :)

Alphaomega,
I can't thank you enough for your effort in bringing these mods to the rank & file...
I am very excited about using your control design, and have started my first ever brew (extract kit) using a Vissani wine cooler, which I modified to incorporate the STC-1000+, Recirc Fan and Reptile Heaters. Having seen an overshoot of a few degrees on the fermenter, I will do the 2nd probe mod to see if I can correct that, as soon as I receive a modifiable and an unmodifiable I ordered from your Black Box site. This has been an extraordinarily fun project for me. Here are a few pics of my little chamber.

Oops! About Black Box as your site, that should have been Will Conrad's site. I apologize to you both.

Vissani STC-1000+ Chamber.jpg


First Brew First Hour.jpg


57F Chamber 68.8 Brew.jpg
 
@1RogerRetro: Sweet! Thanks for sharing the pics! Let us know how the second probe works out and if you can make an improvement.

@everybody:
I have pushed a few changes to the work branch just now that I think will be good.
  • I have added a conditional when probe 2 is activated (Pb=1), to only activate heating or cooling if it has also regained at least half of its hysteresis setting. Ideally this condition should not be limiting (as temp 2 should have faster swings). but it should prevent short cycling if cooling delay is set to zero, while still not being overly aggressive (it does not need to return all the way to setpoint).
  • To make the above happen, I was able to free up some code space by refactoring profile and ramping calculations. I've been really careful and the changes are really pretty small, but there is a slight chance I could have introduced new bugs.
  • Allow showing temp 2 even if Pb=0
  • Freed up some codespace by simplifying temperature conversion, and in that process I halved the sampling time. This effectively doubles the filtering, which I think is a good thing.
  • Added alarm on second probe failure as well (if Pb=1)
  • Re-initialize heating/cooling delay if alarm condition occurs (1 minute, allow temperature to stabilize before returning to work, preventing short cycles)
 
Is it possible to have two point calibration for NTC thermistors?

My probe is off by +0.1°C at room temperature and +0.5°C at ice-water slurry calibration. Obviously I can make a note and adjust the set temp to get an actual temperature, but to have it accurate at both ranges would be great.
 
No. that is not possible (because there is no more codespace).
I would say that is pretty decent and probably within what you could expect, just set tc to -0.2 and don't worry about it.
If you really want to calibrate for your sensor, measure up it's temperature/resistance curve and calculate a custom look up table. Then exchange the LUT and compile a custom firmware to upload. It is not that hard, I have included tools to help calculate the LUT from temp/resistance data.
 
Here's what the one I got from Amazon/Lerway last week looks like. Terminals are the 'good' style, but the board is vastly different - lots more parts on main board at other end of display board, and the printing on the orange transformer is on the side, not the top.

Just another data point - I received the same version (20140528 FR-4) from Amazon/Lerway today.
 
No. that is not possible (because there is no more codespace).
....

Just throwing it out there.... the PIC16F1829 is 100% compatible with double the code and EEPROM space, for $1.75 (digikey) and a little soldering.
Now that I have 2 from Will I can play too! Oh, wait, I need them running....
Maybe a winter project.
 
No. that is not possible (because there is no more codespace).
I would say that is pretty decent and probably within what you could expect, just set tc to -0.2 and don't worry about it.
If you really want to calibrate for your sensor, measure up it's temperature/resistance curve and calculate a custom look up table. Then exchange the LUT and compile a custom firmware to upload. It is not that hard, I have included tools to help calculate the LUT from temp/resistance data.

Thanks I think that will work fine!
 
Yes, this has has been discusses somewhere earlier in this monstrosity of a thread.
To be able to desolder the mcu, you need to desolder the led/button/mcu pcb from the base pcb. It can absolutely be done, but neither is trivial, and well beyond what the average user would be willing to attempt. In fact, while I do feel like I provided a cheap and easy way to upgrade the firmware, I've become painfully aware that even this is more than what most are willing to do.
It would be great to have more to play with, but imho doubling up, would still be too little, at least to be worth it.
 
Just another data point - I received the same version (20140528 FR-4) from Amazon/Lerway today.

So got any good photos of the 3rd type? specifically of the micro controller (or just of the chips on the boards).
I don't think anyone has ruled out this one as not being able to be flashed...yet :D
 
I got my flashed units from Will yesterday, and have them installed and running. Wonderous things they are with Alpha's code. Unfortunately they are doing long term lager duty now so I won't be playing with the steps yet. Looking forward to the next lager for that.

While I was in the maint mode, I opened my V1 board non-flashable units that I took out and confirmed a few things I've commented on earlier.

The relays are 12v in these units as well, and they are LOW active. This is in regard to the comments I made about driving an external relay board to be able to run my fan from cool or heat mode, plus my coolant pump in cool mode. I had initially planned to use an external relay board as I thought I'd fried my relays with an external wiring error, but it turns out it was my 'interface board' that blew a trace. I have a 24 screw terminal strip, just like the ones in the STC's, that's connected to a board that all the STC wires go to. So, both STC's I thought were damaged are in fact fine.
Since the relays are not damaged, I can skip the external relay board, and will see about adding my 'or' gate (diode) to the STC board so the Cool circuit triggers both relays. I'll post the details on how that goes in a few days.

For anyone that's not seen the earlier post, my fans produce enough heat alone to keep my chambers at proper ale temps during the winter, and now have glycol radiators mounted to them for cooling. This is why the fan is used for both heat and cool. The cool mode runs the glycol pump. You can see that project here.
 
Hi,

after reading about this Hack in a german homebrew forum I thought I should give it a try. So I ordered an STC-1000 from amazon germany, the seller was lerway tech. Shipping from china got me two weeks of hoping to get the right version. And it was the right one! :ban::ban::ban:
I have never done any arduino work before by my self, but I have an polargraph (http://polargraph.co.uk) at home, so i could use the seeeduino v.2.21 (Duemilanove clone) for the flashing. After some wrong soldering I finally got the wiring correct and an relaxing clicking sound showed me that the software is doing its work.
The STC-1000+ is going to take it's place next to my refrigerator. Finally I can brew my Pilsener-Urquell-Clone the whole year!

Thanks a lot alpha!!!
 
MMM just got finished floating an urquell clone myself. Quite tasty for a bunch of saaz
 
FYI ... Just got the 3 more I ordered from lerway and one was the 20140528 FR-4, the other two were the correct versions to program.


Sent from my iPhone using Home Brew
 
Will is just the nicest guy.
As he started selling more black boxes, he asked me again if I didn't want any money. Nah, I thought, I like that he donates money to a good cause. The he said, he'd continue that anyway.
Well, maybe he could send me something instead? Like something cool from the states? I was thinking something like coasters from a local brewpub, a postcard or maybe some beer glassware?

This is what he sent:

2mfdxg3.jpg


Mind. Blown.

This so damn awesome that I don't even know where to start. Goodbye to the phthalate ridden, bacteria harbouring, beer oxidation devices I've been using. Hello, sweet, stainless thing of beauty. :)

Will, you're awesome. This is awesome. While I do love it and there is no way I'm giving it back, you really shouldn't have. This is too much! Thanks again!!!
 
Glad you like it, Mats! It's the least I can do for the tremendous amount of value you've unleashed for us with the STC-1000+!




Sent from my iPhone using Home Brew
 
Glad you like it, Mats! It's the least I can do for the tremendous amount of value you've unleashed for us with the STC-1000+!




Sent from my iPhone using Home Brew

I don't like it, I freakin' love it! I haven't even heard of them before. The only conicals I've seen were ridiculously expensive, and those were plastic. The stainless ones are just out of the question (and too big also).
This is just so perfect. A man... I want to brew now...
 
Edit: Nevermind. I am on Wils website The Black Box that has them...

Does anyone have any non-flashed versions they are looking to get rid of??
I have built one in the past (older version using °C) and am looking to build another so I don't need the flashable version, just looking to help someone out that received the non-flashable version...
 
Hi guys!

If anyone is interested I just pushed to a new project on github. It's the STC-1000+ mash control firmware.Cheers!
//mats

Maybe it's a good idea to open e new thread for this task, just an idea.

I'm actually getting all the parts needed to use it in an electrical small 20 Ltr brewery I will build for this proyect. (I own a workshop)

What I saw at the simulator is that the time (maybe) not count when the setpoint is reached but that won't work.
Stage per stage should hold the temperature once the setpoint is reached for the given time. The time needed to reach the setpoint shouldn't be affect the hold time.

thanks all for the efforts
 
Maybe it's a good idea to open e new thread for this task, just an idea.

I'm actually getting all the parts needed to use it in an electrical small 20 Ltr brewery I will build for this proyect. (I own a workshop)

What I saw at the simulator is that the time (maybe) not count when the setpoint is reached but that won't work.
Stage per stage should hold the temperature once the setpoint is reached for the given time. The time needed to reach the setpoint shouldn't be affect the hold time.

thanks all for the efforts

That is a good idea, I'll start a new thread soon(ish). I still need to put a bit more effort into the old firmware (I'm doing a pretty major overhaul, that will benefit mash firmware as well).

You are right. And this raises an interesting point.
The convention in mashing is as you say that the step time is starting once the temperature of the step is reached.
Now, I'm not thrilled about the idea of the profile being dependent on anything but time. And there needs to be a definition of what is meant by that the step target temp is reached (and that would probably require use of a second temp probe). It would be bad if the regulator is 'hitting' its set temp, but mash temp never quite reach the target.
So, so far I have avoided it and just have a time for each step.
Personally, I see more potential problems than benefits. But, I am not unreasonable, I want to build the best mashing firmware I can. If this is a feature people want/expect then I'll try make something happen.
 
In the voice of prof. Farnsworth: Good news everybody!

Ok, I've started a new thread here.

Also, I have been working long nights this week on the STC-1000+ firmware. I have cleaned up the project file structure, moved the user manual to markdown (from pdf) so it can be directly viewed on github, but mainly I have done a whole lot of refactoring. I've been reluctant to do any major changes since the firmware has reached a stage where is seems pretty stable, but now I though screw that, I'm not playing it safe, I'm in it to win it.
So, I have rewritten the handling of the Set menu (which was pretty ugly, but worked). I have also done a lot of other code size optimizations. The result should be code that is (mostly) more readable, and more maintainable. None of this should be noticeable to the user (i.e. it should not change functionality). But this has saved a lot of code space.
I may have introduced new bugs, but hopefully nothing major. On the other hand, now there is actually code space left to fix any bugs if they arise.

The biggest win is not for this firmware however. I've merged the changes to the mash control firmware, and now had space to implement the regulator in 32 bits instead of 16. That is a major win.

So, please check it out (in the work branch of each project) and report any bugs! The mash control firmware is just getting started, I need you help in improving it!

Cheers!
//mats
 
Back
Top