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 took a look and there is a PIC 16F1829 that has double the flash space and 4x the RAM. Pin compatible.

What could we do with more memory ?

http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC16F1829

This has been asked and answered at least twice before, here and here.
Short answer: SMD component, badly located for replacement. No point in writing and testing code for something no one is gonna be able to do.
The STC is what it is (and it is good imho), but it's not gonna do everything. C'est la vie.
 
Ah... Yes... Alright... I must have already bumped the version before... Dang it.
Well, no backsies.... I'll just leave the 1.08 to be lost. Like leasure suit larry 4 :)

I'm working on the revising the documentation, that will make it clearer I think. But the vanilla version has probe 2 stuff removed (hy2, tc2, Pb2). Which makes it less confusing if you never intend on adding a second probe.

Otherwise, the only change should be that SP has moved to the front of the Set menu (that + different layouts of eeprom for the different versions, makes for the need to update eeprom data as well).

Edit: Turns out you could tag a previous commit and create a release from it, so I created the release for v1.08 (which added the communication and 433MHz radio firmwares).

Just to clarify once more(sorry). Is sketch generator generated(webpage) *.ino's the same as Master code?
I am not sure if I understand the link between Master(109), final versions(108) and sketch generated code(109).

If the sketch generator use Master/beta code(109), then it cant be used to program latest "stable" version(108)? or am I wrong?

Perhaps the sketch generator page could have an option; use latest stable version or beta?
 
@Hans-Einar: Yes, the webpage generates latest sketches (same as master).
If you'd want to generate 1.08 you'd need to use the webpage supplied with that release.
There are changes in eeprom layout, so supporting older versions would be a mess.
 
Does anyone have any info on how to mod the freezer wiring to have a working light switch? It only works when the STC1000 is in cooling mode.

I'm also installing an air recirculation system from THIS THREAD and was wondering if it's possible to wire the switch so that when the lid is closed the light is off and the fan is on, and when the lid is open the light is on and the fan is off?

Many thanks,
KindofBlues71
 
Can you post a clear pic of the freezer's wiring diagram? Doing what you want will require modifying the internal wiring of the freezer.

Brew on :mug:
 
Here's the wiring diagram for my freezer. It's an old Kenmore that Sears can't tell me anything about because it's no longer in their database:
wIXOntm.jpg
 
Thanks doug293cz, I appreciate it!

I should have been more specific, but I'd like to have the switch controlling the light and fan on its own separate circuit and spliced to a plug, but I think your diagram will get me there!
 
Hey mats,
like the new format with the SP being first on the list. Just wondering if something was missed in the change. If I program using "f" some of the settings are off,most notably, the Alarm, SP, and I believe both HY settings. I can't remember if any others were wrong. As soon as it finished programming, the alarm started screaming because it was set to 70.0 (my SP) and I think my SP was 0.5 (my Hy setting). I believe the HY and HY2 were both set to 0.0. Not an issue if I program using "g", but I just figured i'd let you know.

Thanks again for all you've done! :mug:
 
@RocketBrewer: Thanks a lot for reporting! I'll check it out as soon as I can and see if I can find the issue and fix it. Did you use the profile editor / sketch generator web page or just downloaded the ino file from github?
If from the webpage, then it might be some browser issue or just something I missed. It is a little tricky getting that right...
 
Ok, so now I think I have it fixed :)
@RocketBrewer: You didn't spot the mistake? Well, I didn't either obviously....
I forgot to move SP first in the list of Set parameters in the web page. *doh*
I really thought I did check (and double check) that the parameters were generated correctly by the web page, as I did change a lot of stuff there. But I must have missed that somehow anyway.
Please let me know if any other issues are found!
Thanks again RocketBrewer for spotting this!

Cheers!
 
I have done some refactoring of the web page. I think I've fixed some minor issues.
But most of all, I have added a feature to save/restore the settings to/from a cookie.
Granted, this might not be the most flexible solution, but at least it is something.
Again, let me know if you find any issues.
STC-1000+ profile editor/sketch generator

Cheers!
 
Hmm. Maybe it is only my computer but Chrome and Edge give no reaction when select any shetch version..
 
Whoopsie :)
Thanks a lot for noticing! Funny thing is it worked in FF... Well, my javascript skills are not that great. Special thanks to @HansEinar as you were first on that.

@Balrog: IE? You expect anything to work in IE?

It should be fixed now. Sorry, for that. Please, continue to report if anything else pops up.
As a side note, testing in chrome, I found out that chrome does not allow cookies from locally hosted pages. Works fine from the web though. I'm sure google has some good reason for that in their 'infinite' wisdom, but it sucks...

Thanks again y'all :)

Cheers!
 
For those of you running the dual probe set-up, what is the general consensus for the hysteresis settings? I am going to run a walk-in cooler using an AC with one probe exposed to air and the other in a probe into a mason jar filled with water.
 
@balrog: I'm in IT as well. The benefit of open source projects is that I can do what I enjoy instead of testing :)
I mean, I try to get it right, but I'd rather not do a whole bunch of regression testing.

@ben58: Sorry, I have no idea. And it will likely be dependent on your particular setup, so I'm not sure anyone else can give you a definitive answer either.
 
Long time lurker but just registered and just done this to my STC, fabulous software extremely impressed. I have a question which has probably been answered somewhere in this thread but there is so much I probably missed it!

To flash the unit it has be be disconnected from the power but I'm wondering if the arduino can be connected when the mains power is on? What I want to do is build my arduino nano into my case with controller etc leaving usb port accessible so I can program profiles from the web editor when the power is off. This would mean the arduino needs to be hooked up all the time, is this possible?

Alternatively would it be a problem to leave it hooked up but with a switch in the 5v line so this link is off when the mains power is on but could be switched on when mains is off and computer is connected for programming?

Thanks for the hard work on this, really appreciated.

Demig
 
Hi and thanks!
There should be no problem leaving the Arduino connected.
I would suggest using a diode on the 5v-Vdd, to avoid the arduino being powered from the STC. But, it should be fine without it as well.
If you don't add the diode, then you should avoid plugging in the usb while mains powered.
 
Hi and thanks!
There should be no problem leaving the Arduino connected.
I would suggest using a diode on the 5v-Vdd, to avoid the arduino being powered from the STC. But, it should be fine without it as well.
If you don't add the diode, then you should avoid plugging in the usb while mains powered.

Thanks, I should have thought of that, nice simple solution and they are the best :)

Demig
 
Has anyone tried this with an ITC-1000? I know they already show Fahrenheit but I am curious to know if it is possible to gain the ability to ferment for a set number of days at a specific temperature then program the unit to change temperatures in case of being unable to manually change temperatures.
 
Ok guys I'm about to pull my hair out with this thing. Long story short, I built a herms system, and I'm using the stc-1000 to show me my mash temp. I only want to use the 1000 for just the twmp, it does not need to control everything, I've tried different probes but all I keep getting is EE. Any ideas ? Do I have to use a ssr to power this thing? Sorry if this is on the wrong post but I couldn't find anything else on this. Thanks in advanced

Halfsack
 
@Halfsack32: EE (plus a nice deafening beep) indicates sensor error if I'm not mistaken. That does not really say that the sensor is broken, but that the controller does not 'see' it correctly.
Make sure you screw in the leads in the right terminal and that the connection is good. Also make sure you have the right sensors. Try another STC if you can, it might be the controller that is wonky (that is, not the sensors).

SSR to power the thing? Don't know what you mean by that...

Cheers!
 
Hi alphaomega. I am definitely not arduino savy but i read all of the info and watch all of the vids and finally had a go at flashing my stc that ive been using for 2 years. It took a few times to get a connection but finally got it. It was really pretty easy. Thanks for the hack and thanks Will for the vids.
 
PS it may be harder to get the settings right than it was to flash the unit lol
 
Yeah i did use the editor. I did a few ale and lager programs. I just have to read the manual a bit to figure out how ramp and set point and some other settings affect the programs and the unit.
 
Hello everyone, long time listener first time caller!

All jokes aside I have just finished reading the entire thread (well timed annual leave really helped), and just want to start by thanking everybody involved in getting this fantastic project to the mature state it is now. Obviously it goes without saying that Mats is the rock god of STC-1000's, but also the early adopters and beta testers that gave all of their time freely to this project, hats off to you all - you know who you are.

I have currently 3 STC-1000P's running:
  1. Single probe controlling my humidor
  2. Dual probe on my fermentation fridge
  3. OVBSC on my "pimped up" Grainfather
My soldering skills are average at best, so I took the novice approach and only soldered a pin header to the controllers then soldered the resistors, connectors, etc into the dupont cables (crude but effective).

I created a lookup table for the Grainfather thermistor and compiled the firmware image by following Mats instructions in Github and I'm no software engineer by any stretch of the imagination, so literally anyone can do it.

I've run a few brews on the Grainfather and have some feedback if you are interested, if so is it appropriate to post them to this thread now that you have merged OVBSC into v1.09, or would you prefer it over in the original thread here: https://www.homebrewtalk.com/showthread.php?t=487104&page=14

Thanks again to all involved!

Cheers,

Kal
 
Hello everyone, long time listener first time caller!

All jokes aside I have just finished reading the entire thread (well timed annual leave really helped), and just want to start by thanking everybody involved in getting this fantastic project to the mature state it is now.

You masochist! Really, there wasn't anything watchable on TV at all? :)

Obviously it goes without saying that Mats is the rock god of STC-1000's, but also the early adopters and beta testers that gave all of their time freely to this project, hats off to you all - you know who you are.

I have currently 3 STC-1000P's running:
  1. Single probe controlling my humidor
  2. Dual probe on my fermentation fridge
  3. OVBSC on my "pimped up" Grainfather
My soldering skills are average at best, so I took the novice approach and only soldered a pin header to the controllers then soldered the resistors, connectors, etc into the dupont cables (crude but effective).

Cool, glad you like it :)
And that isn't crude, just plain effective!

I created a lookup table for the Grainfather thermistor and compiled the firmware image by following Mats instructions in Github and I'm no software engineer by any stretch of the imagination, so literally anyone can do it.

I've run a few brews on the Grainfather and have some feedback if you are interested, if so is it appropriate to post them to this thread now that you have merged OVBSC into v1.09, or would you prefer it over in the original thread here: https://www.homebrewtalk.com/showthread.php?t=487104&page=14

Thanks again to all involved!

Cheers,

Kal

Sweet! That might be of interest to others!
I'd love feedback! Here, there, anywhere is good for me, just fork it over :)

Cheers!
 
You masochist! Really, there wasn't anything watchable on TV at all? :)

Actually it was more to ensure I didn't request anything that had already been requested and I have to commend your patience throughout this project as I can see it did happen to you on several occasions

Cool, glad you like it :)
And that isn't crude, just plain effective!

So here is the STC-1000p ready to go back into the Grainfather:

2015-10-11-104744-66286.jpg


(on the dual probe unit I just used a stereo 3.5mm socket instead of a mono like this one)

This is the cable with the resistor, etc for the pump controller:

2015-10-11-105021-66287.jpg


Then I connected an outlet to the cooling relay (1) and hooked up the in built heater element to that, which I have set to the mash setting (Normal = 2000w, Mash = 500w), and then knocked a hole in the side of it and fitted a 2200w immersion element (2) which I connected to the heating relay:

2015-10-26_1844-66289.png


Sweet! That might be of interest to others!

I created a lookup table for the Grainfather thermistor using a 4000 step multimeter and with the STC-1000's thermistor connected to the controller and a brand new Thermopen to keep it honest:

2015-10-18-090214-66288.jpg


I'd love feedback! Here, there, anywhere is good for me, just fork it over :)

So as for feedback, firstly it's AWESOME!!! I could happily use it as is without any further development required.

Some observations though:

Mash out temp is hard to maintain at the same output level as other mash steps, this is easily overcome on the Grainfather by switching from Mash back to Normal but for other setups might not be as easy. A possible solution would be a new output setting the utilises existing outputs for the final mash set eg. P6o has a value of 0 = SO, 1 = PO, 2 = HO, 3 = BO with a default value of 1 so that if someone does not change it then it will be the same as other mash steps.

A flame out alarm would be really cool for flame out hop additions, allowing negative values for the alarms might be an elegant solution here eg. -10 would be an alarm 10 mins after the boil has finished?

The other observation is more of a "nice to have" rather than valid feedback and that is that the profile editor page would be awesome if you could add the lut output if you are using a non-standard thermistor.

So the low hanging fruit would be a couple of free text areas where you could paste in your lut output and it would replace the corresponding lines in the page0.c file:

Code:
const int ad_lookup[] = { 0, -552, -312, -158, -40, 58, 143, 220, 291, 358, 421, 483, 543, 602, 660, 719, 778, 839, 901, 965, 1033, 1104, 1180, 1263, 1353, 1455, 1571, 1709, 1880, 2105, 2439, 3073 };

Code:
const int ad_lookup[] = { 0, -484, -351, -266, -200, -146, -98, -55, -16, 21, 56, 90, 124, 156, 189, 222, 255, 288, 323, 359, 396, 436, 478, 524, 574, 630, 695, 772, 867, 992, 1177, 1529 };

This does still require the user to be able to make the lut so the ultimate solution would be a table with two columns and 32 rows to enter the temperatures and resistance values into?

Anyway, sorry for the picture heavy post but I feel t makes it a lot easier to describe.

Cheers!

:mug:
 
Last edited:
Actually it was more to ensure I didn't request anything that had already been requested and I have to commend your patience throughout this project as I can see it did happen to you on several occasions

Commendable! Well, I don't really have that much patience. I wish ppl could use this feature a bit more:
mlpelj.png


All the images that you included are malformed, maybe you can edit the post to fix it?
I could still see them in your gallery, and it is looking sweet :)
Seems you're set up to brew more than beer :) Though, let's not talk more about that...

So as for feedback, firstly it's AWESOME!!! I could happily use it as is without any further development required.

Some observations though:

Mash out temp is hard to maintain at the same output level as other mash steps, this is easily overcome on the Grainfather by switching from Mash back to Normal but for other setups might not be as easy. A possible solution would be a new output setting the utilises existing outputs for the final mash set eg. P6o has a value of 0 = SO, 1 = PO, 2 = HO, 3 = BO with a default value of 1 so that if someone does not change it then it will be the same as other mash steps.

Well, personally I feel like it is complex enough to use as it is. Ideally, I'd like to have completely independent settings, but that is just not feasible. It would be too much work to set up for the user.
Secondly, I find it hard to believe that 500W is not enough to maintain mashout temp. Maybe adding some insulation might help? That is not a bad idea anyway.
Anyway, I'm reluctant to make the kind of change you suggest to the main branch. It seems like a special case.

A flame out alarm would be really cool for flame out hop additions, allowing negative values for the alarms might be an elegant solution here eg. -10 would be an alarm 10 mins after the boil has finished?

I hear ya. Unfortunately, as of now program ends when boil is done. What happens after that is not the concern of the controller (i.e. it can't control cooling).
I'm not saying no to this, as a hop stand probably could be incorporated, and the idea of using negative hop alarms is pretty elegant.
I need to think this over a bit :)

The other observation is more of a "nice to have" rather than valid feedback and that is that the profile editor page would be awesome if you could add the lut output if you are using a non-standard thermistor.

So the low hanging fruit would be a couple of free text areas where you could paste in your lut output and it would replace the corresponding lines in the page0.c file:

Code:
const int ad_lookup[] = { 0, -552, -312, -158, -40, 58, 143, 220, 291, 358, 421, 483, 543, 602, 660, 719, 778, 839, 901, 965, 1033, 1104, 1180, 1263, 1353, 1455, 1571, 1709, 1880, 2105, 2439, 3073 };

Code:
const int ad_lookup[] = { 0, -484, -351, -266, -200, -146, -98, -55, -16, 21, 56, 90, 124, 156, 189, 222, 255, 288, 323, 359, 396, 436, 478, 524, 574, 630, 695, 772, 867, 992, 1177, 1529 };

This does still require the user to be able to make the lut so the ultimate solution would be a table with two columns and 32 rows to enter the temperatures and resistance values into?

This will be very hard to do, as the LUT is compiled into the program HEX file.
Also, generating LUT data from javascript will be hard.
Not impossible, just way more work than I ever think will make it justifiable.

Finally, if you ever feel like your life is missing something that can only be filled with the development of another STC-1000p project, I have a suggestion that I thought of while making my wife's drinks (she doesn't drink beer sadly), here's a clue:

2015-10-25-131600-66290.html


Anyway, sorry for the picture heavy post but I feel t makes it a lot easier to describe.

Cheers!

:mug:

Well, that looks nice. Unfortunately, HBT forum rules prevents discussion of this.

Cheers!
//mats
 
*sigh* Looks like I'm running into an issue no one else has mentioned.

Background is that I bought a cheap ebay board, and have successfully uploaded the "Blink" sketch to verify function.

When I try to upload the picprog though, I get errors on compile:

Code:
Arduino: 1.6.5 (Windows 7), Board: "Arduino Leonardo"

picprog:13: error: stray '\' in program
picprog:13: error: stray '\' in program
picprog:100: error: missing terminating ' character
picprog:125: error: missing terminating " character
picprog:295: error: stray '#' in program
picprog:295: error: missing terminating " character
picprog:321: error: invalid suffix "ffa618e86f6ea20dba4ea6336d2" on integer constant
picprog:700: error: stray '#' in program
picprog:704: error: stray '#' in program
picprog:708: error: stray '#' in program
picprog:712: error: stray '#' in program
picprog:725: error: stray '#' in program
picprog:729: error: stray '#' in program
picprog:733: error: stray '#' in program
picprog:737: error: stray '#' in program
picprog:741: error: stray '#' in program
picprog:745: error: stray '#' in program
picprog:758: error: stray '#' in program
picprog:762: error: stray '#' in program
picprog:766: error: stray '#' in program
picprog:770: error: stray '#' in program
picprog:774: error: stray '#' in program
picprog:778: error: stray '#' in program
picprog:782: error: stray '#' in program
picprog:786: error: stray '#' in program
picprog:790: error: stray '#' in program
picprog:794: error: stray '#' in program
picprog:798: error: stray '#' in program
picprog:811: error: stray '#' in program
picprog:815: error: stray '#' in program
picprog:819: error: stray '#' in program
picprog:823: error: stray '#' in program
picprog:827: error: stray '#' in program
picprog:831: error: stray '#' in program
picprog:835: error: stray '#' in program
picprog:839: error: stray '#' in program
picprog:843: error: stray '#' in program
picprog:847: error: stray '#' in program
picprog:851: error: stray '#' in program
picprog:855: error: stray '#' in program
picprog:859: error: stray '#' in program
picprog:897: error: stray '#' in program
picprog:905: error: stray '#' in program
picprog:977: error: stray '#' in program
picprog:977: error: stray '#' in program
picprog:986: error: stray '#' in program
picprog:1027: error: stray '#' in program
picprog:1043: error: stray '#' in program
picprog:1059: error: stray '#' in program
picprog:1087: error: stray '#' in program
picprog:1121: error: stray '#' in program
picprog:1121: error: stray '#' in program
picprog:1133: error: stray '#' in program
picprog:1133: error: stray '#' in program
picprog:1145: error: stray '#' in program
picprog:1145: error: stray '#' in program
picprog:1157: error: stray '#' in program
picprog:1157: error: stray '#' in program
picprog:1169: error: stray '#' in program
picprog:1169: error: stray '#' in program
picprog:1173: error: stray '#' in program
picprog:1173: error: stray '#' in program
picprog:1177: error: stray '#' in program
picprog:1177: error: stray '#' in program
picprog:1193: error: stray '#' in program
picprog:1193: error: stray '#' in program
picprog:1205: error: stray '#' in program
picprog:1205: error: stray '#' in program
picprog:1229: error: stray '#' in program
picprog:1229: error: stray '#' in program
picprog:1253: error: stray '#' in program
picprog:1253: error: stray '#' in program
picprog:1289: error: stray '#' in program
picprog:1289: error: stray '#' in program
picprog:1329: error: stray '#' in program
picprog:1329: error: stray '#' in program
picprog:1341: error: invalid suffix "x" on integer constant
picprog:1482: error: stray '#' in program
picprog:1482: error: stray '#' in program
picprog:1490: error: stray '#' in program
picprog:1490: error: stray '#' in program
picprog:1498: error: stray '#' in program
picprog:1498: error: stray '#' in program
picprog:1506: error: stray '#' in program
picprog:1506: error: stray '#' in program
picprog:1530: error: stray '#' in program
picprog:1530: error: stray '#' in program
picprog:1566: error: stray '#' in program
picprog:1566: error: stray '#' in program
picprog:1639: error: stray '#' in program
picprog:1639: error: stray '#' in program
picprog:1639: error: stray '#' in program
picprog:1639: error: stray '#' in program
picprog:1639: error: stray '#' in program
picprog:1639: error: stray '#' in program
picprog:1791: error: invalid suffix "x" on integer constant
picprog:1840: error: invalid suffix "x" on integer constant
picprog:1885: error: invalid suffix "x" on integer constant
picprog:1893: error: invalid suffix "x" on integer constant
picprog:1901: error: invalid suffix "x" on integer constant
picprog:1941: error: invalid suffix "x" on integer constant
picprog:1966: error: invalid suffix "x" on integer constant
picprog:2015: error: invalid suffix "x" on integer constant
picprog:2023: error: invalid suffix "x" on integer constant
picprog:2031: error: invalid suffix "x" on integer constant
picprog:2155: error: stray '#' in program
picprog:2155: error: stray '#' in program
picprog:7480: error: missing terminating ' character
picprog:7497: error: missing terminating " character
picprog:4: error: expected unqualified-id before '<' token
picprog:295: error: 'protocol_type' does not name a type
picprog:295: error: 'padding' does not name a type
picprog:295: error: 'display' does not name a type
picprog:295: error: expected unqualified-id before string constant
picprog:872: error: expected unqualified-id before '<' token
picprog:876: error: expected unqualified-id before '<' token
picprog:880: error: expected unqualified-id before '<' token
picprog:884: error: expected unqualified-id before '<' token
stray '\' in program

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

I've tested with the other versions as well with the same results/errors, and well.. now I'm up against a wall of ignorance. I simply don't know enough of programming/arduino to go further or even search out the right questions.

Help? Frustrating to be the first with this kind of issue that I can find.

Thanks
 
Back
Top