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.
Alpha, I just built one of your cheap programmers and the instructions were spot on. It worked great the first try.

Also, I just grabbed the latest work commit (12a0a2873de5f986adb87781fc02021d94abcf8e) and dropped it on an STC.

I haven't connected a second probe yet. I'm planning to do that soon, but I can't do any logging until my BrewPi is available (fermenting an Oktoberfest right now). I may just set up another BrewPi for logging using an old PC.

At any rate, once I can log I will test 1.06 out and run the second probe with a few different hysteresis settings to see what works best.

In the mean time, a few questions and suggestions:

1) Can you copy the second probe hardware install instructions into the docs?

2) Can the second probe be connected at the solder pad next to the existing temp probe connection and share a common leg?

3) Even though I don't have a second probe installed, I see a temperature on the display that is offset (lower) than the actual temperature and increases as the primary sensor measure increases. Is this expected?

4) I do not get an alarm with pb=1, again, with no secondary probe hardware installed.

5) I like the OFF functionality.

6) Can you go into more detail about how the unit behaves with the second probe installed? Maybe run through some scenarios?

Thanks! Can't believe how much more you've wrung out of this hardware.
 
Any room for an alarm setting? For example if you are using a fermentation chamber to first chill down to pitching temperature an alarm to let you know so you can pitch yeast would be useful.
 
Alpha, I just built one of your cheap programmers and the instructions were spot on. It worked great the first try.

Also, I just grabbed the latest work commit (12a0a2873de5f986adb87781fc02021d94abcf8e) and dropped it on an STC.

I haven't connected a second probe yet. I'm planning to do that soon, but I can't do any logging until my BrewPi is available (fermenting an Oktoberfest right now). I may just set up another BrewPi for logging using an old PC.

At any rate, once I can log I will test 1.06 out and run the second probe with a few different hysteresis settings to see what works best.

In the mean time, a few questions and suggestions:

1) Can you copy the second probe hardware install instructions into the docs?

2) Can the second probe be connected at the solder pad next to the existing temp probe connection and share a common leg?

3) Even though I don't have a second probe installed, I see a temperature on the display that is offset (lower) than the actual temperature and increases as the primary sensor measure increases. Is this expected?

4) I do not get an alarm with pb=1, again, with no secondary probe hardware installed.

5) I like the OFF functionality.

6) Can you go into more detail about how the unit behaves with the second probe installed? Maybe run through some scenarios?

Thanks! Can't believe how much more you've wrung out of this hardware.

Thanks! Nice to hear!

1. Thanks you! I completely forgot about that! That is what happens when you get 'homeblind' as we say in Sweden :) I'll fix it!

2. Yes absolutely! I exchange the 2 pole terminal for a 3 pole on, and solder in the missing 10k 0603 smd resistor (which is very fiddly work). The middle pole is the shared one.

3. I haven't actually tried, but it certainly possible. My guess is second A/D channel is floating without the resistor and probe, and the internal charge/store/sample capacitor therefore retains some charge from ch1.

4. You probably will with the resistor in place. Let me know otherwise.

5. Thanks! I also think it became a whole lot better this way :)

6. Yeah. Lets make it easy. Lets say SP is 70.0, hy 1.0 and hy2 10.0. Now, in order for cooling to turn on, t1 must be at least SP, and t2 SP-(hy2 * 0.5), that is 70.0-(10.0 * 0.5) = 65.0. Cooling turns off when either t1 is less than SP-hy (69.5), or t2 is less than SP-hy2 (60.0). Same thing with heating only signs reversed.
It would be interesting to know if this can be made to work satisfactionally, and if it is better to measure fridge air temp directly or using a smaller thermal mass is better. You will probably need to examine/log your setup to know what kind of overshoots you can expect to get to the correct settings, and also there might be a trade off between active fermenentation or not.

Good luck David! I can't wait to hear your findings! Don't hesitate to report! Thanks a lot for all your work!

Any room for an alarm setting? For example if you are using a fermentation chamber to first chill down to pitching temperature an alarm to let you know so you can pitch yeast would be useful.

Not a bad idea. I'll look into it.
 
Hi!
I want to make sure you are using the correct settings.
What you want is to use 'constant temperature' run mode that is 'rn' in the 'Set' menu should be set to 'ct'.
Then setpoint, 'SP' should be set to 37.7.
When I checked, SP was able to be set past 25.5, but the bug in the menu made SP value only visible when scrolling up through the items in the menu (but not down).
I have fixed that and pushed the change.
Please, let me know if to still have issues. And please, please, to test this setup well before using it 'for real'. I could live with ruining someones mash (even though that would be bad), but I don't want to be haunted by unborn chicken ghosts :)

I am still having problems because I can't set it up like it should.
I want steady 37.7C but I am confused with this Oh, OL and OP settings.
Tell me what values to use here in my settings:

SET
tc=0
rn=ct
Oh=255
OL=255
OP=255
c1=1
cP=16
Pd=1
SP=37.7
 
Need Help
I loaded 1.4 with out a problem.plugged in the stc and I got nothing. No red display. double checked the power wiring and it's correct.
 
I am still having problems because I can't set it up like it should.
I want steady 37.7C but I am confused with this Oh, OL and OP settings.
Tell me what values to use here in my settings:

SET
tc=0
rn=ct
Oh=255
OL=255
OP=255
c1=1
cP=16
Pd=1
SP=37.7

OP is for constant output mode, you can ignore that since you use constant temperature mode.
Oh and OL limit the output. Oh sets the maximum allowable output (0-255), since you have it set to 255 you allow regulator to be constant on if required. OL sets the minimum allowable output, since you have it set at 255, you never allow output less than full on. So, you should probably lower that significantly or just set it to zero.

Need Help
I loaded 1.4 with out a problem.plugged in the stc and I got nothing. No red display. double checked the power wiring and it's correct.

Do you mean v1.04?
I've gotten a 'dead' unit when trying to flash using the 'manually press pinheader to the pcb' method and flinching. I'd suggest trying to flash again (and update eeprom as well) and keep an eye on the output, to make sure it succeeds.
 
Do you mean v1.04?
I've gotten a 'dead' unit when trying to flash using the 'manually press pinheader to the pcb' method and flinching. I'd suggest trying to flash again (and update eeprom as well) and keep an eye on the output, to make sure it succeeds.
Thank you, I took the time and soldered in a pinheader and re flashed.All is well in the universe.Works great now
 
Alpha, for testing the second temp probe in 1.06, do you think I should use a thermowell (primary probe) or insulate the probe (primary) against the side of the fermentor?

The thermowell is superior, but I didn't know if the 2nd temp probe was aimed more at helping with temp overshoot in general or was aimed at the tape-it-to-the-fermentor setup.
 
Alpha, for testing the second temp probe in 1.06, do you think I should use a thermowell (primary probe) or insulate the probe (primary) against the side of the fermentor?

The thermowell is superior, but I didn't know if the 2nd temp probe was aimed more at helping with temp overshoot in general or was aimed at the tape-it-to-the-fermentor setup.

The idea is to use the second probe to measure fridge air temp or maybe a smaller thermal mass, so that it will react faster to the fridge temperature. I really don't know what will work best, but my gut feeling would be to try to use a termal mass. Water or sand or something to even the swings out a bit. Then trying to find out what hy2 setting would work ok. That might not be all that easy. I would try to fill a fermenter with water, leave it for a day or two in the fridge (with the fridge off), then run the compressor for an hour while logging temperature of the water and the second thermal mass. Continue logging for an hour extra and see how the temperature differ (i.e temperature of smaller thermal mass at the cutout point vs. lowest fermenter temperature). That might give a clue. Or maybe just run a straight fermentation with just the one probe, but log both fermenter temp as well as fridge temp and/or smaller thermal mass and see if any conclusions could be drawn from over/undershoots.

Sorry if I don't have any better ideas... I'd like to experiment with this myself aswell at some point. It would be very cool if we could find some sort of best practice for this. Or some some sane defaults, or something to make this option more useable.

Best of luck!
//mats
 
Alright all, slightly off-topic, but I am about to brew my first lager, an Octoberfest with ECY15 Munich Festbier yeast. Just wondering what your favorite lager fermentation profile is for lagers. I plan on setting my awesome STC-1000+ and just letting it go! Thanks again, alphaomega, for the badass firmware!
 
Anyone know a current Amazon seller that has flashable STC-1000s? I know it's a crapshoot, but I have an Amazon gift card that needs to get used :)
 
I get the following error. "Check wiring" with this output....

java.io.IOException: Input/output error in writeArray
at gnu.io.RXTXPort.writeArray(Native Method)
at gnu.io.RXTXPort$SerialOutputStream.write(RXTXPort.java:1124)
at processing.app.Serial.write(Serial.java:517)
at processing.app.Serial.write(Serial.java:540)
at processing.app.SerialMonitor.send(SerialMonitor.java:200)
at processing.app.SerialMonitor.access$100(SerialMonitor.java:32)
at processing.app.SerialMonitor$3.actionPerformed(SerialMonitor.java:89)
at javax.swing.JTextField.fireActionPerformed(JTextField.java:492)
at javax.swing.JTextField.postActionEvent(JTextField.java:705)
at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:820)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2886)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
at java.awt.Component.processEvent(Component.java:6040)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:704)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:969)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:841)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:668)
at java.awt.Component.dispatchEventImpl(Component.java:4502)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Also, I have the power wires connected on the back side of the device. Is that ok? (of course no live power)
 
Tjenare pezmannen :)
This sounds like a pretty common issue, where you have the Arduino env (and possibly the serial monitor connected) and then connect the STC to the Arduino. The Arduino then resets, but when it does it opens another virtual serial port (probably due to the previous one being open) and the serial monitor then throws all the errors as the original port is gone.
I'd suggest disconnecting the Arduino from the PC (but leaving it connected to the STC). Close Arduino IDE. Reconnect the Arduino to the PC. Open the IDE again, make sure to choose the correct port and speed and open the serial monitor.
If you have it wired correctly, this should help.
 
Tjenare! :)

Thanks, it now works!

By the way, I saw a post from you about working on getting brewpi on a Yun. Any progress on that?
 
Sorry no, like many of my projects I got proof of concept working, then stc-1000+ started taking up most of my time and it kind of slipped away. I got so far that the basics were working (arduino side and linux communicating over serial, all dependencies for linux resolved), but there were lots of little issues left for it to be working satisfactionally.
Now, I am pretty much committed to this project. I really like the idea of BrewPi on the Yún though, the hardware is pretty much build for that kind of duty. If someone wants to pick it up, I'd be glad to help out as much as I can. It is very possible to do, but it will require some work to get it running smoothly.
 
Last edited by a moderator:
Another two flashed units now out there in the world, waiting to be built into my ferm cabinet! Cheers to alphaomega for all his help and hard work!
 
Ok, trying to grasp ramping. Let's say I want to brew a lager.

1) Hold at 46 degrees for 3 days (to get wort and the yeast to pitching temp)
2) Pitch yeast on 3rd day
3) Ramp up to 48 degrees over 2 hours
4) Hold at 48 degrees for another 10 days
5) Ramp to 65 degrees over 1 day
6) Hold at 65 for two days
7) Ramp down to 35 degrees over 1 day
8) Hold at 35 degrees for 4 weeks
9) Stay at 35 degrees for an infinite time until reset

Assuming ramping is turned on, translated into setpoints (please correct me if I get this wrong):
SP0: 46
dh0: 72

SP1: 48
dh1: 2

SP2: 48
dh2: 240

SP3: 65
dh3: 24

SP4: 65
dh4: 48

SP5: 35
dh5: 24

SP6: 35
dh6: 672

SP7: 35
dh7: 0

Anyone have any observations?
 
Based on your description it should be:
SP0: 46
dh0: 72
SP1: 46
dh1: 2
SP2: 48
dh2: 240
SP3: 48
dh3: 24
SP4: 65
dh4: 48
SP5: 65
dh5: 24
SP6: 35
dh6: 0

With reservations for me understanding your intent wrong :)
Think of like 'ramp from SPx to SP(x+1) over dhx hours'. The last hold for 4 weeks is unneccessary, it will hold the last temp indefinately.

Cheers!
 
Last edited by a moderator:
Hi guys just got 2 STC's from China

guess what?

Yep they are a TOTALLY new design.

Pics attached but there is space on the board for a second sensor and a third relay. There is the crystal blocking the Pic data but what I can see is:

G80F910D
N8S7L
1407-T

There is no Design Id on the main board
The display board is:

PCB-0018 (Top left) and WK-02-K on top rhs

Hey ho!

IMG_0407.JPG


IMG_0398.JPG


IMG_0400.JPG


IMG_0402.JPG


IMG_0403.JPG
 
Wouldn't it be nice if they are planning to build a temp controller that can read 2 temps, control the fridge, and 2 heat sources. I could buy a keezer controller that could actually give me 2 separate serving temps.
 
Hi guys just got 2 STC's from China

guess what?

Yep they are a TOTALLY new design.

Pics attached but there is space on the board for a second sensor and a third relay. There is the crystal blocking the Pic data but what I can see is:

G80F910D
N8S7L
1407-T

There is no Design Id on the main board
The display board is:

PCB-0018 (Top left) and WK-02-K on top rhs

Hey ho!

G80F910 looks to be the microcontroller number, but may be a Chinese only device. Almost nothing in english in a web search.
I wonder if there are multiple factories all cranking out these things, blindly ignoring any copyrights as is typical there, and each is using their favorite controller.
 
G80F910 looks to be the microcontroller number, but may be a Chinese only device. Almost nothing in english in a web search.
I wonder if there are multiple factories all cranking out these things, blindly ignoring any copyrights as is typical there, and each is using their favorite controller.

Yes, having dipped my toe into the waters of Chinese electronics manufacturing to secure a source for the correct version of these things, I can tell you that this is exactly what's happening. They all claim to be "the factory" and will tell you that everyone else is copying them! They also typically manufacture several other versions of STC-like controllers for other purposes, which is probably the reason for the extra sensor space, etc on the board. I doubt there are any plans for them to produce a dual-sensor fridge controller as they are going for a very basic target customer with these, but I could be wrong.
 
Yes, having dipped my toe into the waters of Chinese electronics manufacturing to secure a source for the correct version of these things, I can tell you that this is exactly what's happening. They all claim to be "the factory" and will tell you that everyone else is copying them! They also typically manufacture several other versions of STC-like controllers for other purposes, which is probably the reason for the extra sensor space, etc on the board. I doubt there are any plans for them to produce a dual-sensor fridge controller as they are going for a very basic target customer with these, but I could be wrong.

I wonder if it would be worth it to make a replacement display board to swap out the non-compliant versions, reusing all the case parts and the relay board, if the compliant ones run out.
A quick check on pcb's is under $3 each for 500 pcs ($4 each for 200) at 1 site I've used in the past, for 4 layers with solder mask. The MCU is under $2, a few resistors are cheap, and the display could be swapped.

Maybe not worth the effort, unless the good ones come to an end. Or if the main board interface is not consistent. I'll look at my non-compliant ones and see if it's even realistic.
 
Well, that is a nice idea, but there are a few issues.
First off, desoldering the LED/MCU PCB from the main board is a pain. Secondly, there is no reason to believe the PCB interconnection follow any standard. You may well end up with a new PCB that only works with one version.
I would rather suggest a kickstarter or something, to develop and manufacture an open hardware/software thermostat platform. Keeping it simple and cheap with only the basic and most necessary hardware by default, but with GPIO to spare to be able to extend functionality. I imagine it like a sort of a mashup of an Arduino Uno and an STC.
 
Well, that is a nice idea, but there are a few issues.
First off, desoldering the LED/MCU PCB from the main board is a pain. Secondly, there is no reason to believe the PCB interconnection follow any standard. You may well end up with a new PCB that only works with one version.
I would rather suggest a kickstarter or something, to develop and manufacture an open hardware/software thermostat platform. Keeping it simple and cheap with only the basic and most necessary hardware by default, but with GPIO to spare to be able to extend functionality. I imagine it like a sort of a mashup of an Arduino Uno and an STC.

Yes I covered the board issues in my comments, maybe not obviously enough. Soldering is an issue for those not comfortable with it. Re-using the LED is probably a bigger issue. For my experience, this is a much simpler direction than kickstarter. Just the case parts could be a huge cost factor. Injection molds are expensive to tool.

I'm going to look at my boards and see how they compare, I have at least 3 different ones. A set of jumpers on a 'new' display board may quickly solve this.
 
Oops, sorry. Yes, you did mention that.
Still, it is the desoldering that is difficult. It is very hard to remove the PCB without breaking off any traces, I have done it twice and broke pads on both occations. Now, I'm no überleet solderer so I'm sure it can be done, but it is non trivial. Desoldering the LED display will be easy in comparison.
Are you sure the physical dimensions even match?
I'm not against the idea, it is a good one. And it would be even better if it would be possible to make one that fits many. But I guess it would not even be so hard to make one pcb for each of the versions.
On the other hand, Will has tracked the source, so as long as they manufacture them, it should not be that hard to find good ones.
I'm not really suggesting that you need to create a whole new product per se. Look at all the 'other' thermostats like the willhi. All use the same enclosure. I'm thinking pretty much along the lines of creating a custom STC hardware, but more versatile. As for manufacturing, a cooperation with sparkfun or the like could be an option.
 
Well, that is a nice idea, but there are a few issues.
First off, desoldering the LED/MCU PCB from the main board is a pain. Secondly, there is no reason to believe the PCB interconnection follow any standard. You may well end up with a new PCB that only works with one version.
I would rather suggest a kickstarter or something, to develop and manufacture an open hardware/software thermostat platform. Keeping it simple and cheap with only the basic and most necessary hardware by default, but with GPIO to spare to be able to extend functionality. I imagine it like a sort of a mashup of an Arduino Uno and an STC.


Or you could just build a brewpi…
 
BrewPi is a nice project, and you can absolutely go that route.
In fact, it would be nice to have an "STC" that could act as a BrewPi device. What I want is a standalone, completely autonomous, reliable, compact, ready to use unit per default, but has the ability to be extensible. Add a nrf24l01 tranciever and you could use it as a BrewPi unit for example.
The STC is compelling for one set of reasons and BrewPi for another set (over simplified). It would be cool, if they could be merged. I'm not against logging, graphing web interface and such, but I'd like it to be optional and keep the core cheap, simple, reliable, easy to setup and use.
 
Just to point out that this version is hardly a cheap knock off of the originals!

Look at the simple logical layout of the components, the fact that they have allowed for a 3rd realy and second sensor means they are up to something else with this board.

Also notice the milled slot around the mains voltage relay contacts as some low voltage tracks run round the edge of the pcb.

This is a class pcb design!
 
I get you…

I'd totally love some sort of stc device that could be coupled with a brewpi setup. But I also wish that the brewpi guys and the rpints guys would become best buddies and save us all the hassle of a double install and just join forces already to dominate the HB software field, but I digress. A bit of info on the brewpi setup, because I believe you think that you HAVE to log data and serve websites and **** with a brewpi.
An arduino uno can be bought on amazon for 16.80 which is about what I spent on an stc-1000 knock off, without dual relays (since I don't need heat I'm my keezer). A few temp probes can be bought for about 5-8 bucks here and there. And you don't have to run brewpi on a raspberry pi. Once you setup the arduino, it can be allowed to run indefinitely without the pc or rpi logging the data, if you so choose. You have options as to what kind of relay type you want to use (which means you can run any kind of fridge unit you want). You don't have to buy anything from brewpi.com. In fact you don't have to buy anything but an arduino, temp probes, and your choice of relay device, and a resistor. The code is open source and you can change anything you want if you know just a little bit on how to use atmel studio (most every feature has a detailed description commented out within the code).
It's easy to setup the logging if you want, from any os. Or you can do what I did for my testing phase, and build a vm that can handle the logging and programming of the arguing units. Or you can couple it up to a 20x4 lcd unit and rotary encoder and never have to hook it up to a pc again (unless you intend to update).

Plus most people doing the stc mods have some sort if arduino kicking around.

Not trying to downplay the significance of the work done here. I already have a couple devices with stc shaped holes in them that could benefit from a simple plug and play controller setup. Just trying to point out that a lot of people shy away from the brewpi world because of cost or because they think you need a cs and ee degree just to build one. The first(and only) arduino project Ive ever tackled was the brewpi. Now I'm working on getting 4 instances running in one fridge…
 
Oh, reading my last post I can see I gave that impression. I have actually submitted code to the brewpi project (for running profiles on the arduino instead of the rpi), so yes I have a pretty decent idea about what brewpi is. So, yes brewpi will run without the rpi, but to my knowledge they have not merged my profile code, so without rpi no profiles.
As I said brewpi is awesome for a few reasons, stc for a few other. I'd like the best of both worlds :)
 
I'm going to look at my boards and see how they compare, I have at least 3 different ones. A set of jumpers on a 'new' display board may quickly solve this.

I looked at the V1.1 board last night, and it's not as 'simple' as I may have suggested to clone it with the programmable MCU circuit. The edge connector is around 24 pins, although only about 8 are active signals. There are a lot more resistors than I remembered, and there are 2 resistor arrays, plus 4 switches. The board is unusually thin, and standard boards may not fit the slot in the relay board. And no place to connect the programming header on the relay board.
So much for that idea.....
 
Wondering if anyone has put this on a 220V unit. I'd buy the Black Box if I could get one in 220 for use in Europe...
 
Should work just fine. Your only switching 1 wire on the circuit but the relays are rated up to 250v
 
Back
Top