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.
Spellman, thank you for your thoughtful reply, but my post was not to ask for assistance in diagnosing an issue as much as to report the positive effect of the second probe and release 1.06. You'll notice that when the second probe is disabled, the temperature oscillation of around 2 deg. where as with the second probe, the internal temperature is far more stable.

Jim

Ahh yes, sorry I misread a number of things in your post. To me however it looks like you were dipping a couple of degrees below your set point in the middle of the graph, which seems like it could still be a lot. However if there is a bit of difference in one temp sensor vs the other that would maybe move your line a bit and mean the actual temps was hovering +/- closer to where it should be.
 
alpha, yesterday I was moving forward a step in a fermentation profile and thought how easy it would be to simply perform a button push action to move forward (backward too maybe). Say for instance I want to move forward from SP0 to SP1, I could simply double-press a certain button. Or, move from SP0 to SP2, I could simply double-press, twice. I'm sure this is a bad idea and I just need you to show me why :D

The buttons are all 'spoken for', so the ability to change the current profile step and current profile duration via the menu is probably all that there will be. My intentions with them is not really to be used, but it is better they are there should you need them.
 
I guess if your controllers are in a situation that's makes them easy to flash then using this generated HEX to quickly update fermentation profiles might be reasonable, otherwise I find it easiest to use this when initially flashing the hardware and then making manual adjustments from there. I find that I'm usually changing an individual duration or temperature, but rarely an entire profile.

Regardless, as it stands now, you have to start from default/base values each time. However, if you simply download the html, javascript, and css files and store them in a directory on your computer then you can manually change the default values in the html file and save your changes. Then simply drag-and-drop that html file into a browser to open it with your new values. The files you would need are:

https://04377c9983bdba740a8b0c997fe...t/0B7OSUyUx3xJzUVlLdkFyQ1lMLTg/hextabbed.html
https://04377c9983bdba740a8b0c997fe...B7OSUyUx3xJzUVlLdkFyQ1lMLTg/jquery-ui.min.css
https://04377c9983bdba740a8b0c997fe...0B7OSUyUx3xJzUVlLdkFyQ1lMLTg/jquery-ui.min.js
https://04377c9983bdba740a8b0c997fe...st/0B7OSUyUx3xJzUVlLdkFyQ1lMLTg/jquery.min.js
https://04377c9983bdba740a8b0c997fe...7OSUyUx3xJzUVlLdkFyQ1lMLTg/jquery.flot.min.js

Hope this helps!

Thank you StPug, but this did not work for me (yet).

When I try to save the htm file, I get a message that the web page could not be saved. However, all of the files do get saved in the target folder. When I open the saved htm file, it has two data entry tables, flashing charts, and other differences that makes me think it did not save properly. I can edit it and save the file, but none of my edits have been saved when I reopen.

Any suggestions? Are you able to save the htm file cleanly?
 
The buttons are all 'spoken for', so the ability to change the current profile step and current profile duration via the menu is probably all that there will be. My intentions with them is not really to be used, but it is better they are there should you need them.

Very good. I knew the buttons had been mostly allocated for but wasn't sure if there was any wiggle room left. Thanks for the insight.
 
Thank you StPug, but this did not work for me (yet).

When I try to save the htm file, I get a message that the web page could not be saved. However, all of the files do get saved in the target folder. When I open the saved htm file, it has two data entry tables, flashing charts, and other differences that makes me think it did not save properly. I can edit it and save the file, but none of my edits have been saved when I reopen.

Any suggestions? Are you able to save the htm file cleanly?

I've put a link for a zip file with all of the necessary files. Simply extract this zip and you can drag-drop the html file in a browser to check that it's working. After that, you can adjust default values directly in the html. While not "ideal", it DOES work and allows you to save your work/profiles for future adjustments.

http://justfortesting.byethost12.com/STC1000HexGenerator.zip
 
I've put a link for a zip file with all of the necessary files. Simply extract this zip and you can drag-drop the html file in a browser to check that it's working. After that, you can adjust default values directly in the html. While not "ideal", it DOES work and allows you to save your work/profiles for future adjustments.

http://justfortesting.byethost12.com/STC1000HexGenerator.zip

Thank you so much for trying to help me. From your zip, I get a perfect html file, but I just cannot save any edits. In my "File" menu, the "Save" selection is greyed out. I can "Save As," but then I get a screwed up file that does not contain my edits. :(
 
Thank you so much for trying to help me. From your zip, I get a perfect html file, but I just cannot save any edits. In my "File" menu, the "Save" selection is greyed out. I can "Save As," but then I get a screwed up file that does not contain my edits. :(

I think I understand now.

To "view" the file, you open/drag-drop with an internet browser.

To "edit" the file, you need to open the html file with something like notepad in windows or textedit in osx. Then you'll want to scroll down to about line 284 to start changing those values. You'll see six sections that look like this:
Code:
<table>
	<tr><td>sp0:</td><td><input class="temperature" type="text" id="sp0_0" name="sp0_0" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 0"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh0:</td><td><input class="plainnumber" type="text" id="dh0_0" name="dh0_0" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 0"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp1:</td><td><input class="temperature" type="text" id="sp0_1" name="sp0_1" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 1"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh1:</td><td><input class="plainnumber" type="text" id="dh0_1" name="dh0_1" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 1"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp2:</td><td><input class="temperature" type="text" id="sp0_2" name="sp0_2" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 2"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh2:</td><td><input class="plainnumber" type="text" id="dh0_2" name="dh0_2" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 2"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp3:</td><td><input class="temperature" type="text" id="sp0_3" name="sp0_3" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 3"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh3:</td><td><input class="plainnumber" type="text" id="dh0_3" name="dh0_3" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 3"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp4:</td><td><input class="temperature" type="text" id="sp0_4" name="sp0_4" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 4"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh4:</td><td><input class="plainnumber" type="text" id="dh0_4" name="dh0_4" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 4"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp5:</td><td><input class="temperature" type="text" id="sp0_5" name="sp0_5" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 5"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh5:</td><td><input class="plainnumber" type="text" id="dh0_5" name="dh0_5" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 5"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp6:</td><td><input class="temperature" type="text" id="sp0_6" name="sp0_6" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 6"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh6:</td><td><input class="plainnumber" type="text" id="dh0_6" name="dh0_6" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 6"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp7:</td><td><input class="temperature" type="text" id="sp0_7" name="sp0_7" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 7"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh7:</td><td><input class="plainnumber" type="text" id="dh0_7" name="dh0_7" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 7"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp8:</td><td><input class="temperature" type="text" id="sp0_8" name="sp0_8" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 8"/><span class="tscale">[&deg;C]</span></td></tr>
	<tr><td>dh8:</td><td><input class="plainnumber" type="text" id="dh0_8" name="dh0_8" maxlength="3" size="4" autocomplete="off" value="24" title="Duration 8"><span class="durscale">[h]</span></td></tr>
	<tr><td>sp9:</td><td><input class="temperature" type="text" id="sp0_9" name="sp0_9" maxlength="4" size="4" autocomplete="off" value="16.0" title="Setpoint 9"/><span class="tscale">[&deg;C]</span></td></tr>
</table>

And you can see the values of each step/duration if you scroll to the right. Make changes to those number, save your file (keep it open though), and refresh your browser to see the immediate changes. You'll need to work in Celsius for the temp values. Again, it's not IDEAL, but it works.
 
I think I understand now.

To "view" the file, you open/drag-drop with an internet browser.

To "edit" the file, you need to open the html file with something like notepad in windows or textedit in osx.

Make changes to those number, save your file (keep it open though), and refresh your browser to see the immediate changes. You'll need to work in Celsius for the temp values. Again, it's not IDEAL, but it works.

It works!!! Thank you StPug!

I had tried opening and saving it with Word. Word gives a format similar to what you see in the browser, but I couldn't save and still have a functioning hex generator.

I used WordPad for success. Select "View\Word wrap\No wrap" to get the values to line up in a nice column.

Thanks again for all the help! :)
 
Very good. I'm glad you got it working and that it will be useful.
 
I successfully flashed a STC1000. I was attempting to control a lager while simultaneously tracking temperatures with an immersed beerbug and chest freezer air temperature with a Fluke Hydra setup. It didn't work out to good. Power blip and dead beerbug. For my next attempt one useful thing would be to be able to see where in the control profile I am such as on what SP or hour. Is this possible? Is this the right place/thread to ask this question?
 
Sure. Press and hold down button.
Edit: That is press and hold down button to see what profile is running, which step and at what hour. Press up button to see current setpoint.
 
Clarification, if needed: Press and hold the 'down' button

I saw this and thought, "press and hold down WHAT button??" :D
 
Clarification, if needed: Press and hold the 'down' button

I saw this and thought, "press and hold down WHAT button??" :D


Hehehe... Yeah, that's right, well it made sense in my head, but I can see now how it wouldn't for others :) thnx!
 
STC+ profiles and BeerSmith.

As many others I use BM for my brewing and I love the STC+. I also use the profile builder in Excel but it seems like this step might be removed.

My idea, that I do not have the skills to implement, is to have "something" (html5 or whatever) to read the file Age.bsmx (xml-file) in your local BM install, let you select the profile you want to use and then it shows you how to program the STC+. It should not be to hard to build a parser for this?
 
You're basically looking to have a BS profile like:
Code:
<Age><_MOD_>2014-11-19</_MOD_>
<F_A_NAME>Warm Ale Profile</F_A_NAME>
<F_A_PRIM_TEMP>64.0000000</F_A_PRIM_TEMP>
<F_A_PRIM_END_TEMP>68.0000000</F_A_PRIM_END_TEMP>
<F_A_SEC_TEMP>68.0000000</F_A_SEC_TEMP>
<F_A_SEC_END_TEMP>70.0000000</F_A_SEC_END_TEMP>
<F_A_TERT_TEMP>70.0000000</F_A_TERT_TEMP>
<F_A_AGE_TEMP>36.0000000</F_A_AGE_TEMP>
<F_A_TERT_END_TEMP>36.0000000</F_A_TERT_END_TEMP>
<F_A_END_AGE_TEMP>36.0000000</F_A_END_AGE_TEMP>
<F_A_END_TEMPS_SET>1</F_A_END_TEMPS_SET>
<F_A_PRIM_DAYS>2.0000000</F_A_PRIM_DAYS>
<F_A_SEC_DAYS>7.0000000</F_A_SEC_DAYS>
<F_A_TERT_DAYS>3.0000000</F_A_TERT_DAYS>
<F_A_AGE>5.0000000</F_A_AGE>
<F_A_TYPE>2</F_A_TYPE>
<F_A_NOTES>Warm ale fermentation profile for warm ale yeast, typically British yeast strains that you want some ester influence from.</F_A_NOTES>
</Age>

translated into STC profile assignments like:
Code:
SP0: 64
dh0: 48
SP1: 68
dh1: 168
SP2: 70
dh2: 72
SP3: 36
dh3: 0
SP4: 
dh4: 
SP5: 
dh5: 
SP6: 
dh6: 
SP7: 
dh7: 
SP8: 
dh8: 
SP9:

It seems like it could be implemented (potentially fairly easily) using various techniques. Thinking in PHP; the file could be uploaded, read, parsed into an array, spit back out in STC1000+ terms with appropriate calculations.

The downside are the limitations of the BeerSmith fermentation profiling utility. For instance, rest at a temp for a while, ramp up, rest at another temp, ramp up again, rest again, ramp down, maintain. But, I guess that belongs in another thread :D
 
Yes. That is what I'm looking for. Not rocket science but would help a bit.
I have posted to the BS wishlist that BS should be able to show this in the BS GUI but I guess it will not be a high priority request (unless all in this thread push for the same feature...).

I know that STC+ can do more advanced profiles than BS but I guess the profiles in BS have produced a lot of really good beer so should be enough for most of us. But BS can rest for a while (static temperature) or do ramping since you can set the start and end temperature and a duration for the step.
 
FYI, these units have arrived (dual-sensor capable from the factory) and are now available flashed here. No mods required for the dual-sensor firmware, these will come to you flashed and ready to install with the 2 sensors included.

Thanks,
Will

Thanks Will, the 3 showed up today, got to work and built one up as an assembled unit for show and tell.

I will put up a post in sponsor showcase section for them assembled.

Greg

20141119_193815.jpg
 
Is there any way to change hours to minutes instead?
That way you could use it for automated step mashing.

I am sorry if this is already answered, I just found your thread here on this forum about the project.
 
Is there a way to set it to cycle between two set temps in 12 hours cycles and repeat indefinitely? For example 12 hours @ 72F then 12 hours @62F and repeat forever? I know strange but it is for another use.
 
No, not repeat forever. Eventually it will enter thermostat mode where it will sit forever. Stress aging profiles (for wine of course) won't work with this unit ;)
 
Well darn....Not even with modifications to firmware code?

The code side of things and what is possible with an STC1000, I'm not overly familiar with. Maybe alphaomega can enlighten us with the possibilities of endless changing between to setpoints.
 
AFAIK, linking profiles is not implemented in v1.06 - none that I've seen - and that's the current revision. I wonder what decision alpha made on a new revision with linkable profiles - you know, because he has soooo much time with a new baby and such :D. Give it 5-6 years, that time should free up a bit :p
 
Hi!
Yeah, the linking of profiles is in the works for v1.07. But I've been working on the mashing firmware lately.
Also be aware that there is no real time clock availiable, so over time it will drift. It may not matter if aging wine, but it may matter if you'd like to wake up to a warmer room every morning for example.
I'll try and get around to v1.07 soonish, but as st.pug pointed out, I don't have a lot of spare time.
Cheers!
 
As far as I can tell from the pictures, the wiring seems correct. One thing that has happened to me a couple of times is applying too much heat when clearing the pads of solder and one pad comes off, this leads to a bad connection. In that case, it can be bridged with solder to the solder joint connection between the pcbs.
If you are certain the wiring is correct, then check for continuity and try to see if there is any connection problem.
 
I am not experienced in circuit boards, what would I test continuity between the individual pin header sockets and ______?

Thanks


Sent from my iPhone using Home Brew
 
Your first picture actually shows the STC powered on when connected to the arduino. You might want to ensure you have the correct COM port and baud rate selected because you should not be seeing that message since it looks correctly wired and powered.
 
If the baudrate and/or wrong port were selected, then no communication whatsoever would be the result. The fact that the error message appears, says that the problem is between the arduino and stc, not the arduino and the computer.
As far as continuity, I'd say that gnd and vcc seems ok, since the display lights up. So what you want to check is that the other three connections are ok. A multimeter would be good. You could also start by visually inspect the soldering if there might be some issue.
If you have a multimeter, check the connection between the solder point of the pin on the arduino and the solder point of the connection where the two pcbs are joined together. Also check for shorts. Visually inspecting the soldering has solved it for me most of the times, but a multimeter is a great tool to confirm.
There is an off chance that there is something wonky with either your arduino, your wires or your stc, but I'd say there is a 99% probability that you have a short or a bad connection.
 
I've put a link for a zip file with all of the necessary files. Simply extract this zip and you can drag-drop the html file in a browser to check that it's working. After that, you can adjust default values directly in the html. While not "ideal", it DOES work and allows you to save your work/profiles for future adjustments.

http://justfortesting.byethost12.com/STC1000HexGenerator.zip

When I open my saved file and then "Switch scale" to Fahrenheit, the profile values convert correctly, but some of the settings do not. For example, the hysteresis and temperature correction values change, but they do not change to the correct values. My temperature correction is -0.3 C, so I expect it to convert to -0.5 F. Instead, it converts to -1.0 F. It isn't a big problem to change these values before I generate the hex code, but I thought I should point it out in case others are using this utility the way I am.

Thank you again for creating this.
 
When I open my saved file and then "Switch scale" to Fahrenheit, the profile values convert correctly, but some of the settings do not. For example, the hysteresis and temperature correction values change, but they do not change to the correct values. My temperature correction is -0.3 C, so I expect it to convert to -0.5 F. Instead, it converts to -1.0 F. It isn't a big problem to change these values before I generate the hex code, but I thought I should point it out in case others are using this utility the way I am.

Thank you again for creating this.

I've worked on the temperature scale switching javascript function and seem to have it worked out on my end using FireFox. If you swap out the function with the one below then it should resolve the issue.

This function is found on lines 129-156:

Code:
function switch_cf(){
	if($("#tempscalestate").val() == "C"){
		$("span.tscale").html("[&deg;C]");
		$("span.tscalename").html("Celsius");
		$(".temperature").each(	function(){
			var t = $(this).val();
			$(this).val((Math.round(((t-32.0)*5.0)/0.9) / 10.0).toFixed(1));
		});
		$(".tempdiff").each(	function(){
			var t = $(this).val();
			$(this).val((Math.round(((t*5.0)+0.00001)*100)/900).toFixed(1));
		});
		$("#tempscalestate").val("F");
	} else {
		$("span.tscale").html("[&deg;F]");
		$("span.tscalename").html("Fahrenheit");
		$(".temperature").each(	function(){
			var t = $(this).val();
			$(this).val((Math.round(((t*9.0)/0.5)+320.0) / 10.0).toFixed(1));
		});
		$(".tempdiff").each(	function(){
			var t = $(this).val();
			$(this).val((Math.round(((t*9.0)+0.00001)*100)/500).toFixed(1));
		});
		$("#tempscalestate").val("C");
	}
	calc();
}
 
I've worked on the temperature scale switching javascript function and seem to have it worked out on my end using FireFox. If you swap out the function with the one below then it should resolve the issue.

Wow! That was fast! Yes, that fixed it for hysteresis and temperature correction. Setpoint alarm is still off. I don't use an alarm, but some may. Thanks for the quick fix!
 
Well after much screwing around with solder I finally tested my DuPont wires and sure enough one was bad. All works now.

Thanks
 
Back
Top