• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

Stc-1000+

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
:mug:
Thank you for your quick response as well as all of your hard work that makes this possible.
Next I will look into using the humidity sketch to control the RH in my cheese cave (small fridge).
Tt
 
Hi!

I'm very pleased to announce the inital release of my project for the last few weeks, STC-1000+.

I have reverse engineered the STC-1000 and reprogrammed it with new firmware that is specifically made for beer fermentation. What that means is that I have added possibility to run temperature profiles (i.e. change setpoints at given times). And yes, I have also made it possible to use Fahrenheit scale (why anybody would want that beats me, but as I understand that is a pet peave for you guys).
Moreover, as I realize most of you (including myself) dont have the programmer needed to perform the upgrade, I have designed a sketch targeted for the Arduino UNO, to do the actual flashing of the firmware. All you need (in addition to the UNO) are a few pieces of wire (and maybe some soldering skills, I guess you could use hot glue or tape or something in a pinch).

It is all released as open source, so feel free to modify, but please contribute if you can.

Now, here's the downside, I've been working my ass off on this project for a week or two now and finally have something to present, but it is not 'done' yet. It is not production ready so to speak.
I would like all the help I could get, please try it if you can and report bugs. Don't try it on beer though, if you do and fail, don't blame me.
Also, the code running on the STC-1000 is protected, that means, once you reprogram, you cant go back. They are pretty cheap though...

If you are experienced in PIC programming, please have a look at the code. I would consider myself experienced in embedded programming, but not so much towards the Microchip line of MCU's.

With the source I provide, it is also possible to repurpose the the STC-1000 pretty much any way you'd want if you are cool with some coding. It could be a PID for example if you exchange the relays for SSRs. The PIC fairly puny though, so you will need to be careful when coding, especially RAM is very tight.

The firmware I provide, features 6 programmable profiles, 10 setpoints each with 1-999 hours between setpoints. You can also set hysteresis, temperature correction offset, cooling delay, you can change current step and duration in the running profile and you can set current setpoint, finally you can choose and run profile or simply thermostat mode.

Right now programming is made by sending the HEX file through the Arduino usiing a serial terminal emulator that supports sending files (I use CuteCom in GNU/Linux). But once I reach something that I feel is good enough I'll provide the option to embed the HEX in the sketch and you'll just need the Arduino IDE to (user friendlier to the non-developer).

The programming header ont the STC-1000 is a bit difficult to reach from the top, you might have better luck on the bottom of the board. I have provided a picture of my dev board, but in it I have already soldered in a pin header.

So, again, if you can, please contribute and maybe soon enough everyone can run a slightly better STC-1000.

Lastly, documentation is suffering right now, I'd like to improve it as well, but I feel like I want to get this project 'out there' as soon as possible.

Find the source here.

Cheers!
//Mats

Edit: Update 04-04-2014, v1.00 now released. This is the first version that should be good enough for actual use :)

Edit2: Update 06-22-2015, there has been a lot of progress to this project.
Most notably Will Conrad has tracked down the manufacturer of the STC-1000's with the correct hardware version. They are manufactured an sold by HongKong U-control electric CO Ltd. They have a store through AliExpress where you can buy individual units.
Check out the github project page for more info on the project.

Hi Matt

I've recently installed a flashed STC 1000 with your OVBSC firmware on my Grainfather. It's a great improvement, thanks. However, I wish to control the pump also but an having a problem. I can get the pump to work during SO output fine, but during the Mash steps the PO output is 0 unless the temperature falls below the set point, no matter what I set the %age to. Am I doing something wrong here or is this a problem with the firmware? In the meantime I can operated the pump manually.

Thanks

Dave
 
@dave-s : Hi! Cool :)
How have you hooked up the pump? Since you are asking about PO output, I'm guessing you have it hooked up through one of the relays?
The firmware does support controlling a pump, but the signal for controlling the pump is not through the relay. The relays are for controlling heaters.
The pump control signal can be found on the back near the tempprobe terminal.
Read this part and I hope it makes it more clear.

Cheers!
 
Thanks, Matt, you are right, I had it connected to the 'Cool' relay. I thought that was what you meant by 'unpopulated output'. Will give what you say a try for the next brew.
 
@dave-s : Hi! Cool :)
How have you hooked up the pump? Since you are asking about PO output, I'm guessing you have it hooked up through one of the relays?
The firmware does support controlling a pump, but the signal for controlling the pump is not through the relay. The relays are for controlling heaters.
The pump control signal can be found on the back near the tempprobe terminal.
Read this part and I hope it makes it more clear.

Cheers!

One last question if I may. Is the pump signal from the pad right next to the probe connector, or is it one of the three pads grouped together behind the probe connector?

Thanks

Dave
 
It is the one unpopulated pad right next to the tempprobe terminals.
The board is actually prepared to house a three pole terminal, but only two are used, so for pump control, the third (and normally unused) one, comes into play.
 
It is the one unpopulated pad right next to the tempprobe terminals.
The board is actually prepared to house a three pole terminal, but only two are used, so for pump control, the third (and normally unused) one, comes into play.

Marvellous, thank you, Matt :)
 
Hi Alphaomega, nickmv and rocket4x4, and all others,
I see everyone on here is smarter than I am, so I wonder-can my semi-cheap controller with its 1200 deg. F. limit be hacked around to achieve 2000 deg. F.? I have today ordered an Auber, but if I could make an arduino do it my dad would be impressed with his tech not-savvy son, and I'd beat the ebay seller who promised between -9999 and 9999 capability. sure it's not for beer it's for a kiln, but I have made mead a couple of times, and exploded some beer bottles in failure too. Cheers to all and any help or directional heading'd be fab. andy
 
Hi all,
New to arduino, hooked it up to my computer today. Loaded the blink sketch - upload complete. Tried to upload the picprog sketch, upload fails.

Here is the message:

sketch\ntc-lut-generator\lut.c:5:20: fatal error: unistd.h: No such file or directory

#include <unistd.h>

^

compilation terminated.

exit status 1
Error compiling.


Board choosen is "Arduino/Genuino Uno" - strange, since Blink works. Anything I miss??
 
@stbernts: You are trying to upload the wrong file. Use one of the .ino files that suit your needs (or better yet, use the sketch generator to dowload the .ino). Cheers!
 
@stbernts: You are trying to upload the wrong file. Use one of the .ino files that suit your needs (or better yet, use the sketch generator to dowload the .ino). Cheers!

Thanks a lot Mats :)

Jag kollade den her: [ame]https://www.youtube.com/watch?v=-DdTweLYyN0[/ame]
så jag gjorde vad han sa i videoen, trodde snubben var samma kille som varit aktiv her inne :)
 
the ntc-lut-generator is not an arduino project. it's meant to be compiled on a unix-like system.. you should not need to use it. (sorry, late to the party.. didn't see the other replies :p )
 
Hi, sorry to bother you, but I generated another file for flashing my second unit (Grainfather usage)
Made a file and downloaded it.

Here is what happens when trying to flash.

Arduino: 1.6.7 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'unsigned char hex_nibble(unsigned char)':

picprog_ovbsc:115: error: redefinition of 'unsigned char hex_nibble(unsigned char)'

unsigned char hex_nibble(unsigned char data) {

^

picprog:115: error: 'unsigned char hex_nibble(unsigned char)' previously defined here

unsigned char hex_nibble(unsigned char data) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'unsigned char parse_hex()':

picprog_ovbsc:120: error: redefinition of 'unsigned char parse_hex()'

unsigned char parse_hex() {

^

picprog:120: error: 'unsigned char parse_hex()' previously defined here

unsigned char parse_hex() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'unsigned char handle_hex_file_line(unsigned char, unsigned int, unsigned char, unsigned char*)':

picprog_ovbsc:130: error: redefinition of 'unsigned char handle_hex_file_line(unsigned char, unsigned int, unsigned char, unsigned char*)'

unsigned char handle_hex_file_line(unsigned char bytecount,

^

picprog:130: error: 'unsigned char handle_hex_file_line(unsigned char, unsigned int, unsigned char, unsigned char*)' previously defined here

unsigned char handle_hex_file_line(unsigned char bytecount,

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void upload_hex_file_to_device()':

picprog_ovbsc:225: error: redefinition of 'void upload_hex_file_to_device()'

void upload_hex_file_to_device() {

^

picprog:225: error: 'void upload_hex_file_to_device()' previously defined here

void upload_hex_file_to_device() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void upload_hex_from_progmem(const char*)':

picprog_ovbsc:280: error: redefinition of 'void upload_hex_from_progmem(const char*)'

void upload_hex_from_progmem(PGM_P hexdata) {

^

picprog:280: error: 'void upload_hex_from_progmem(const char*)' previously defined here

void upload_hex_from_progmem(PGM_P hexdata) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void write_bit(unsigned char)':

picprog_ovbsc:327: error: redefinition of 'void write_bit(unsigned char)'

void write_bit(unsigned char bit) {

^

picprog:327: error: 'void write_bit(unsigned char)' previously defined here

void write_bit(unsigned char bit) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'unsigned char read_bit()':

picprog_ovbsc:336: error: redefinition of 'unsigned char read_bit()'

unsigned char read_bit() {

^

picprog:336: error: 'unsigned char read_bit()' previously defined here

unsigned char read_bit() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void hvp_entry()':

picprog_ovbsc:349: error: redefinition of 'void hvp_entry()'

void hvp_entry() {

^

picprog:349: error: 'void hvp_entry()' previously defined here

void hvp_entry() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void lvp_entry()':

picprog_ovbsc:367: error: redefinition of 'void lvp_entry()'

void lvp_entry() {

^

picprog:367: error: 'void lvp_entry()' previously defined here

void lvp_entry() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void p_exit()':

picprog_ovbsc:395: error: redefinition of 'void p_exit()'

void p_exit() {

^

picprog:395: error: 'void p_exit()' previously defined here

void p_exit() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void write_command(unsigned char)':

picprog_ovbsc:416: error: redefinition of 'void write_command(unsigned char)'

void write_command(unsigned char command) {

^

picprog:416: error: 'void write_command(unsigned char)' previously defined here

void write_command(unsigned char command) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void write_command_with_data(unsigned char, unsigned int)':

picprog_ovbsc:426: error: redefinition of 'void write_command_with_data(unsigned char, unsigned int)'

void write_command_with_data(unsigned char command, unsigned int data) {

^

picprog:426: error: 'void write_command_with_data(unsigned char, unsigned int)' previously defined here

void write_command_with_data(unsigned char command, unsigned int data) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'unsigned int read_command(unsigned char)':

picprog_ovbsc:438: error: redefinition of 'unsigned int read_command(unsigned char)'

unsigned int read_command(unsigned char command) {

^

picprog:438: error: 'unsigned int read_command(unsigned char)' previously defined here

unsigned int read_command(unsigned char command) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void load_configuration(unsigned int)':

picprog_ovbsc:458: error: redefinition of 'void load_configuration(unsigned int)'

void load_configuration(unsigned int data) {

^

picprog:458: error: 'void load_configuration(unsigned int)' previously defined here

void load_configuration(unsigned int data) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void load_data_for_program_memory(unsigned int)':

picprog_ovbsc:462: error: redefinition of 'void load_data_for_program_memory(unsigned int)'

void load_data_for_program_memory(unsigned int data) {

^

picprog:462: error: 'void load_data_for_program_memory(unsigned int)' previously defined here

void load_data_for_program_memory(unsigned int data) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void load_data_for_data_memory(unsigned char)':

picprog_ovbsc:466: error: redefinition of 'void load_data_for_data_memory(unsigned char)'

void load_data_for_data_memory(unsigned char data) {

^

picprog:466: error: 'void load_data_for_data_memory(unsigned char)' previously defined here

void load_data_for_data_memory(unsigned char data) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'unsigned int read_data_from_program_memory()':

picprog_ovbsc:470: error: redefinition of 'unsigned int read_data_from_program_memory()'

unsigned int read_data_from_program_memory() {

^

picprog:470: error: 'unsigned int read_data_from_program_memory()' previously defined here

unsigned int read_data_from_program_memory() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'unsigned char read_data_from_data_memory()':

picprog_ovbsc:474: error: redefinition of 'unsigned char read_data_from_data_memory()'

unsigned char read_data_from_data_memory() {

^

picprog:474: error: 'unsigned char read_data_from_data_memory()' previously defined here

unsigned char read_data_from_data_memory() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void increment_address()':

picprog_ovbsc:478: error: redefinition of 'void increment_address()'

void increment_address() {

^

picprog:478: error: 'void increment_address()' previously defined here

void increment_address() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void reset_address()':

picprog_ovbsc:482: error: redefinition of 'void reset_address()'

void reset_address() {

^

picprog:482: error: 'void reset_address()' previously defined here

void reset_address() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void begin_internally_timed_programming()':

picprog_ovbsc:486: error: redefinition of 'void begin_internally_timed_programming()'

void begin_internally_timed_programming() {

^

picprog:486: error: 'void begin_internally_timed_programming()' previously defined here

void begin_internally_timed_programming() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void begin_externally_timed_programming()':

picprog_ovbsc:491: error: redefinition of 'void begin_externally_timed_programming()'

void begin_externally_timed_programming() {

^

picprog:491: error: 'void begin_externally_timed_programming()' previously defined here

void begin_externally_timed_programming() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void end_externally_timed_programming()':

picprog_ovbsc:496: error: redefinition of 'void end_externally_timed_programming()'

void end_externally_timed_programming() {

^

picprog:496: error: 'void end_externally_timed_programming()' previously defined here

void end_externally_timed_programming() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void bulk_erase_program_memory()':

picprog_ovbsc:501: error: redefinition of 'void bulk_erase_program_memory()'

void bulk_erase_program_memory() {

^

picprog:501: error: 'void bulk_erase_program_memory()' previously defined here

void bulk_erase_program_memory() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void bulk_erase_data_memory()':

picprog_ovbsc:507: error: redefinition of 'void bulk_erase_data_memory()'

void bulk_erase_data_memory() {

^

picprog:507: error: 'void bulk_erase_data_memory()' previously defined here

void bulk_erase_data_memory() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void row_erase_program_memory()':

picprog_ovbsc:513: error: redefinition of 'void row_erase_program_memory()'

void row_erase_program_memory() {

^

picprog:513: error: 'void row_erase_program_memory()' previously defined here

void row_erase_program_memory() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void bulk_erase_device()':

picprog_ovbsc:519: error: redefinition of 'void bulk_erase_device()'

void bulk_erase_device() {

^

picprog:519: error: 'void bulk_erase_device()' previously defined here

void bulk_erase_device() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void get_device_id(unsigned int*, unsigned int*, unsigned int*)':

picprog_ovbsc:526: error: redefinition of 'void get_device_id(unsigned int*, unsigned int*, unsigned int*)'

void get_device_id(unsigned int *magic, unsigned int *version,

^

picprog:526: error: 'void get_device_id(unsigned int*, unsigned int*, unsigned int*)' previously defined here

void get_device_id(unsigned int *magic, unsigned int *version,

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void write_magic(unsigned int)':

picprog_ovbsc:545: error: redefinition of 'void write_magic(unsigned int)'

void write_magic(unsigned int data_word_out) {

^

picprog:545: error: 'void write_magic(unsigned int)' previously defined here

void write_magic(unsigned int data_word_out) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void write_version(unsigned int)':

picprog_ovbsc:552: error: redefinition of 'void write_version(unsigned int)'

void write_version(unsigned int data_word_out) {

^

picprog:552: error: 'void write_version(unsigned int)' previously defined here

void write_version(unsigned int data_word_out) {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void setup()':

picprog_ovbsc:560: error: redefinition of 'void setup()'

void setup() {

^

picprog:560: error: 'void setup()' previously defined here

void setup() {

^

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: In function 'void loop()':

picprog_ovbsc:606: error: redefinition of 'void loop()'

void loop() {

^

picprog:606: error: 'void loop()' previously defined here

void loop() {

^

In file included from C:\Users\Stig Berntsen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.11\cores\arduino/Arduino.h:28:0,

from sketch\picprog.ino.cpp:1:

C:\Users\Stig Berntsen\Desktop\picprog\picprog_ovbsc.ino: At global scope:

picprog_ovbsc:746: error: redefinition of 'const char hex_celsius []'

const char hex_celsius[] PROGMEM = {

^

picprog:746: error: 'const char hex_celsius [9580]' previously defined here

const char hex_celsius[] PROGMEM = {

^

In file included from C:\Users\Stig Berntsen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.11\cores\arduino/Arduino.h:28:0,

from sketch\picprog.ino.cpp:1:

picprog_ovbsc:1237: error: redefinition of 'const char hex_fahrenheit []'

const char hex_fahrenheit[] PROGMEM = {

^

picprog:1210: error: 'const char hex_fahrenheit [9580]' previously defined here

const char hex_fahrenheit[] PROGMEM = {

^

In file included from C:\Users\Stig Berntsen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.11\cores\arduino/Arduino.h:28:0,

from sketch\picprog.ino.cpp:1:

picprog_ovbsc:1727: error: redefinition of 'const char hex_eeprom_celsius []'

const char hex_eeprom_celsius[] PROGMEM = {

^

picprog:1673: error: 'const char hex_eeprom_celsius [691]' previously defined here

const char hex_eeprom_celsius[] PROGMEM = {

^

In file included from C:\Users\Stig Berntsen\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.11\cores\arduino/Arduino.h:28:0,

from sketch\picprog.ino.cpp:1:

picprog_ovbsc:1764: error: redefinition of 'const char hex_eeprom_fahrenheit []'

const char hex_eeprom_fahrenheit[] PROGMEM = {

^

picprog:1710: error: 'const char hex_eeprom_fahrenheit [691]' previously defined here

const char hex_eeprom_fahrenheit[] PROGMEM = {

^

exit status 1
redefinition of 'unsigned char hex_nibble(unsigned char)'

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
 
My bad, only had to make a folder with same name structur as the .ino file
Learning by doing...
 
Has anyone found an amazon source for the flashable units (really love me some prime)?
 
@dagibson: Possible? Probably yes. All the sketch really needs is a couple of GPIOs (digitalRead / digitalWrite) and a reasonably accurate delay function. It should be possible to port this to RPi fairly easily.
A google even found a project to run Arduino code on the Raspberry or WiringPi might be useful as a starting point as well.

Supported? No. So, you're on your own. And with the price of Arduinos (and the clones) being so low, you're probably better off just getting one. If you do decide to give it a try, let us know :)
 
@dagibson: Possible? Probably yes. All the sketch really needs is a couple of GPIOs (digitalRead / digitalWrite) and a reasonably accurate delay function. It should be possible to port this to RPi fairly easily.
A google even found a project to run Arduino code on the Raspberry or WiringPi might be useful as a starting point as well.

Supported? No. So, you're on your own. And with the price of Arduinos (and the clones) being so low, you're probably better off just getting one. If you do decide to give it a try, let us know :)

Will stay with the Arduinos.
Another question please.
Does anybody have the datasheet of the NTC 10k B3435 thermistor that is used with the STC-1000?
 
No, no datasheet that I know of. NTC 10k b3435 does however define the the temperature/resistance curve. I have the data on the github page if you're interested.
But that is pretty much all (at least I) know.
 
Hello,

Im not sure if it has been answered in this thread or not but I am wondering if there was a way to get the mash schedule to operate so that it wont start the timer until it settles out at the correct temperature.

My issue is I was running my STC 1000 OVBSC and I had the mash schedule set at 62C for 60mins then rise to 72C and rest for 20mins then mash out. The problem that I came across was that the pump was running slowly to aid in clarification and also so that I wouldnt get a stuck mash and the wort heated up quickly in the base of the mashtun to a temp of 72C and this is where the mash step started from there. After it turned the element off thinking that it had reached the temp it then rose over the 72C but then settled at around 65C.

This is an issue as if the mash is set to rest at 72C for 20mins and its not getting that stable rest then how can I make sure that the rest is being kept at a constant temperature after a temp rise. This will mean that every time there is a multi step mash schedule used it wont perform properly.

Can anybody assist me with this at all or am I doing something wrong?

Thank you

Aydan
 
Even with a slowly running pump, you should not have that much difference. The pump should even things out faster than the heater heats.
Temp probe placement can be an issue. If it is close to the heater and in a place where flow is restricted å, then it could pick up heat that has not 'evened out'.
Make sure flow is enough to 'even out'. Make sure you're not heating to hard. Make sure probe is located in a good place (where it gets a good reading of actual overall mash temp).
 
I had the probe placed in the return pipe from the pump but the issue was the wort under the grain bed heats up much faster than the remaining grain bed causing it to reach temp under the bed, cutting out the element and starting the rest timer. Once the wort runs through the mash bed it cools it down too much and then it starts the cycle again.

Would this issue be fixed if the probe was right next to the element?

This still means that only around 15-20% of the mash would be at that temp for that mash step as it wouldn't reach equilibrium for around another 5-10 mins depending on the difference between steps (eg. 62c to 78c for mashout).

Cheers
 
No,you are probably bettor off putting the probe in the middle of the mash. However, if the wort at the bottom heats up that much more than the rest of the grain bed, that is probably the real issue.
Before changing the probe placement, try to lower the heating power and/or increase the flow with the pump.
Just moving the probe might help reaching the desired temperature for the mash, but may overheat/scorch/denature the wort in the bottom (by heating it way beyond the desired step temperature).
Cheers!
 
Is there anyway to change the output heat of the element with this setup at all or do you just have to set the % lower to around 10% or something? Lowering it just stops it turning on so often, is that right?
 
I understand that you can adjust how long the element is running for over the allocated time period but is there anyway to throttle the output of the element to something lower. Say turning the output down on a 2400W element to say around 1200W?

Cheers
 
Yes you can (adjust duty cycle with OVBSC that is).
As for throttling: The good way would be to use two elements, say 1kW and 1.5kW. Then you have the option of running both (2.5kW), either one (1.5kW or 1kW) or even both in series (for ~600W), for a total of four possible heat settings.
Limiting the power output of a single existing element, you pretty much have to resort to some type of switching. A simple way to halve the power, is using a power diode in series (that can handle the voltage and current). That will cut out every other half cycle of the AC. Not really much of an improvement over just letting OVBSC do the switching.
 
Power is energy per unit time. So with a 2400W element, if you turn it on for 500ms and off for 500ms, you are operating it at 1200W. Would need an SSR to do this well.
 

Latest posts

Back
Top