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.
Is is possible to easily fix the issue with the minute time base flash whereby the thermostat set point does not update? I reflashed with the firmware this morning and it is still a problem. I have to either power cycle the unit or swap to a program, change the thermostat setting and swap back to get the new set point to take.
 
Is the AP400 still available from AliExpress, or another shop? anybody who knows?
Or is there another shop / model one can modify?

I do own one of the adapters needed to program, but I never bought a new STC.
 
Yes, I just purchased one from here, a 110v model with the A400P board, and was able to flash the newest firmware just fine. Unfortunately I’ve not had any luck yet in getting it to communicate using alphaomega’s com.ino sketch, so I’m not sure what’s going on here yet. Still, if all you’re looking for is to run the enhanced firmware, this should work.

https://www.aliexpress.com/item/Tem...perature-controller-STC-1000/32340593655.html


Is the AP400 still available from AliExpress, or another shop? anybody who knows?
Or is there another shop / model one can modify?

I do own one of the adapters needed to program, but I never bought a new STC.
 
Yes, I just purchased one from here, a 110v model with the A400P board, and was able to flash the newest firmware just fine. Unfortunately I’ve not had any luck yet in getting it to communicate using alphaomega’s com.ino sketch, so I’m not sure what’s going on here yet. Still, if all you’re looking for is to run the enhanced firmware, this should work.

https://www.aliexpress.com/item/Tem...perature-controller-STC-1000/32340593655.html

I resolved the issue with communicating with the reflashed STC, and all’s well now. I’m able to read data over the comm line as expected, so no issues with the new STC in case anyone is interested...
 
Hi All,

I would like to flash three STC-1000s with the custom firmware. When I try to upload it to the Arduino Uno board, I get a bunch of error messages, like picprog:1204:1: error: narrowing conversion of '250' from 'int' to 'char' inside { } [-Wnarrowing] and so on. When I then make the connections with the STC, nothing happens, the serial monitor window is empty. Can you help me? I have absolutely no idea what is the problem. Thank you.
 
Hi All,

I would like to flash three STC-1000s with the custom firmware. When I try to upload it to the Arduino Uno board, I get a bunch of error messages, like picprog:1204:1: error: narrowing conversion of '250' from 'int' to 'char' inside { } [-Wnarrowing] and so on. When I then make the connections with the STC, nothing happens, the serial monitor window is empty. Can you help me? I have absolutely no idea what is the problem. Thank you.
I’m not in a position to recompile the flasher in the IDE at the moment, but I believe those messages are compiler warnings, not errors and can be safely ignored. (The const hex data is assumed to be an integer value by the IDE and is being assigned to a signed char data type. Signed char holds values from -128 to 127, so some of those values are outside that range. Probably could change the data type for those arrays to unsigned char and avoid those warnings, but I’ve just ignored them.)

So, as for a few basics...are you sure you have the correct board version of the STC (the A400P one)? Have you double-checked your connections from the Uno to the STC? Did you change picprog.ino to specify an automatic upload of either the Fahrenheit or Celsius version? Is the serial monitor set to a baud rate of 115200? I assume you’re seeing the STC is getting power (displaying temp, etc.) when you’re connecting the Uno to the programming header?
 
I’m not in a position to recompile the flasher in the IDE at the moment, but I believe those messages are compiler warnings, not errors and can be safely ignored. (The const hex data is assumed to be an integer value by the IDE and is being assigned to a signed char data type. Signed char holds values from -128 to 127, so some of those values are outside that range. Probably could change the data type for those arrays to unsigned char and avoid those warnings, but I’ve just ignored them.)

So, as for a few basics...are you sure you have the correct board version of the STC (the A400P one)? Have you double-checked your connections from the Uno to the STC? Did you change picprog.ino to specify an automatic upload of either the Fahrenheit or Celsius version? Is the serial monitor set to a baud rate of 115200? I assume you’re seeing the STC is getting power (displaying temp, etc.) when you’re connecting the Uno to the programming header?
Thank you for the answer. Yes, I have the A400P version. I have double checked the connections. I didn't change picprog.ino. The serial monitor is set to baud rate of 115200 with no line ending. The STC is getting power, it's displaying the temperature when connected. So it should work. Maybe I try it with another computer tomorrow.
 
Thank you for the answer. Yes, I have the A400P version. I have double checked the connections. I didn't change picprog.ino. The serial monitor is set to baud rate of 115200 with no line ending. The STC is getting power, it's displaying the temperature when connected. So it should work. Maybe I try it with another computer tomorrow.
So, I assume you compiled and downloaded picprog.ino to the Uno before you connected to the STC as pointed out in the README? If not, I’d try that first and open the serial monitor without connections to the STC to see if you get any output. You should at last see the intro message from the program along with the prompt to send a ‘d’ to detect the STC.

Though not necessary I’ve found it easier to modify the DEFINEs in the beginning of picprog to eliminate one or the other of the Fahrenheit or Celsius data, and to specify an automatic download of the preferred hex data.

If you don’t see the intro message in the serial monitor with the STC disconnected, sounds like you either have a problem with the Uno itself, or perhaps an issue with the selected COM port (driver issue or USB port problem...both are pretty common).

As mentioned in the README, it is possible to fry either the Arduino or the STC if connections are made prior to first downloading the programmer to the Arduino.
 
So, I assume you compiled and downloaded picprog.ino to the Uno before you connected to the STC as pointed out in the README? If not, I’d try that first and open the serial monitor without connections to the STC to see if you get any output. You should at last see the intro message from the program along with the prompt to send a ‘d’ to detect the STC.

Though not necessary I’ve found it easier to modify the DEFINEs in the beginning of picprog to eliminate one or the other of the Fahrenheit or Celsius data, and to specify an automatic download of the preferred hex data.

If you don’t see the intro message in the serial monitor with the STC disconnected, sounds like you either have a problem with the Uno itself, or perhaps an issue with the selected COM port (driver issue or USB port problem...both are pretty common).

As mentioned in the README, it is possible to fry either the Arduino or the STC if connections are made prior to first downloading the programmer to the Arduino.
Yes, I downloaded picprog.ino to the Uno before connected to the STC. I tried the serial monitor without connections, but didn't get any output, still just a blank window. I will try with another computer, and if that's not gonna work, another Uno (though I don't have a spare right now).
 
Hi all,
Looking for some advice here on an STM8 board.

I have a new revision of the STM8 (XD-1000-V1.0) board that I can flash Emile666's firmware to just fine, but once flashed the temperature probe no longer works as it should instead it just counts up. I have four units and flashed two of them with the same results.

With both of the flashed units, a calibration with a 10.003ohm resistor results in the unit counting up from 25C until it hits 40C (about 20 minutes), it then oscilates between 40-42C indefinitely.
With one of the non-flashed units, the same resistor sits rock solid at 24.7 for over an hour without ever changing.

In troubleshooting, I have traced out the entire frontpanel (LCD) board and found it to match Emile666's exactly, despite the different IC package for the STM8. I have also traced the temperature probe to make sure the resistors were the same value on the backplane as Emil666's. Everything checks out.

Any ideas what would cause this?
My first thought is a floating input-- Do I need to have two probes attached?

Photos of the boards attached in case anyone is interested or has the same model.
XD-1000-V1.0_RelayBoard.jpg XD-1000-V1.0_RelayBoard_Back.jpg XD-1000-V1.0_LCDBoard_Back.jpg
 
Forgive me if this has been asked, but I was not able to find the answer. Is there a flashable version that outputs 12v instead of 110v?
 
Forgive me if this has been asked, but I was not able to find the answer. Is there a flashable version that outputs 12v instead of 110v?
Because it's just a contact closure, you can run you 12v supply though either the hot or cold sides and it will work just fine. You'll need to avoid doing the pigtail wiring with 110 that most diagrams include. You can even go so far as to desolder the inverter and run the whole board off of 12V in which case you'd could go back to the pigtailed wiring.
 
Because it's just a contact closure, you can run you 12v supply though either the hot or cold sides and it will work just fine. You'll need to avoid doing the pigtail wiring with 110 that most diagrams include. You can even go so far as to desolder the inverter and run the whole board off of 12V in which case you'd could go back to the pigtailed wiring.
Great! I'll give it a try. Thanks!
 
I am sorry if this has been asked, but I have an issue with setting SP in thermostat mode. When I change SP in Thermostat mode in SET menu, SP is not changed as I would expect (in SET menu there is new value but when I press UP button, I still can see previous SP) and STC is keeping previous SP until I restart STC.
I would expect that by changing SP in menu thermostat will be following a new SP value.

I am using 1.09 firmware with Communication.

Thanks for your help.
 
Is is possible to easily fix the issue with the minute time base flash whereby the thermostat set point does not update? I reflashed with the firmware this morning and it is still a problem. I have to either power cycle the unit or swap to a program, change the thermostat setting and swap back to get the new set point to take.
I have the same issue with Comm firmware 1.09. Did you solve this somehow?
 
Same thing happens with the minute time base. I've asked for it to be looked at but I haven't gotten any traction. I am ignorant enough about coding that I don't know how to even go fix it myself.
 
Same thing happens with the minute time base. I've asked for it to be looked at but I haven't gotten any traction. I am ignorant enough about coding that I don't know how to even go fix it myself.
My understanding of the firmware is that new temperature values are updated when the duration of the previous step is reached. It 'Th' mode there is no duration, so changing the temp during an active cycle would not take affect without something to trigger it, like a simple power cycle (hold off button for a few seconds and then repeat to turn back on).

Cheers,

Kal
 
It would be great if there was a new 1 min cycle for Th mode. Possible changes of SP in Th mode would be applied in every 1 min.
 
I tried to review code and I think I have found how to implement control of SP in Th mode. I added a few lines in source file "page0.c" - please see parts "/////start and ////end". Could someone who used to code STC before review this changes if my implementation makes sense? I do not have any STC1000+ near by me so I cannot try it yet.

Code:
                   if(((unsigned char)eeprom_read_config(EEADR_MENU_ITEM(rn))) < THERMOSTAT_MODE){
                       // Indicate profile mode
                       led_e.e_set = 0;
#if defined(MINUTE)
                       // Update profile every minute
                       if(millisx60 >= 1000){
                           update_profile();
                           millisx60 = 8;
                       }
#else
                       // Update profile every hour
                       if(millisx60 >= 60000){
                           update_profile();
                           millisx60 = 0;
                       }
#endif
                   } else {
                       led_e.e_set = 1;
/////start                     
                       if(millisx60 >= 1000){
                           setpoint = eeprom_read_config(EEADR_MENU_ITEM(SP);
                           millisx60 = 0;
                       }
//////end                      
                   }
 
I tried to review code and I think I have found how to implement control of SP in Th mode. I added a few lines in source file "page0.c" - please see parts "/////start and ////end". Could someone who used to code STC before review this changes if my implementation makes sense? I do not have any STC1000+ near by me so I cannot try it yet.

Code:
                   if(((unsigned char)eeprom_read_config(EEADR_MENU_ITEM(rn))) < THERMOSTAT_MODE){
                       // Indicate profile mode
                       led_e.e_set = 0;
#if defined(MINUTE)
                       // Update profile every minute
                       if(millisx60 >= 1000){
                           update_profile();
                           millisx60 = 8;
                       }
#else
                       // Update profile every hour
                       if(millisx60 >= 60000){
                           update_profile();
                           millisx60 = 0;
                       }
#endif
                   } else {
                       led_e.e_set = 1;
/////start                     
                       if(millisx60 >= 1000){
                           setpoint = eeprom_read_config(EEADR_MENU_ITEM(SP);
                           millisx60 = 0;
                       }
//////end                      
                   }
I could test it on one of mine tomorrow if that helps?
 
I am trying to re-compile the code with changes, but I am getting this error message:
'error: No target memory available for section ".code".' I get same error even without any changes in code.

Code:
svecko@pc:~/stc1000p/src$ ./build.sh com

Building stc1000p_com
sdcc -c -o build/page0_celsius_com.o page0.c --use-non-free -mpic14 -p16f1828 --opt-code-size --no-pcode-opt --stack-size 8 -DCOM
sdcc -c -o build/page1_celsius_com.o page1.c --use-non-free -mpic14 -p16f1828 --opt-code-size --no-pcode-opt --stack-size 8 -DCOM
sdcc -o build/stc1000p_celsius_com build/page0_celsius_com.o build/page1_celsius_com.o --use-non-free -mpic14 -p16f1828 --opt-code-size --no-pcode-opt --stack-size 8 -DCOM
message: Using default linker script "/usr/local/share/gputils/lkr/16f1828_g.lkr".
warning: Relocation symbol "_cinit" [0x0000] has no section. (pass 0)
warning: Relocation symbol "_cinit" [0x0004] has no section. (pass 0)
warning: Relocation symbol "_cinit" [0x0018] has no section. (pass 0)
warning: Relocation symbol "_cinit" [0x001C] has no section. (pass 0)
warning: Relocation symbol "_cinit" [0x0000] has no section. (pass 0)
warning: Relocation symbol "_cinit" [0x0004] has no section. (pass 0)
warning: Relocation symbol "_cinit" [0x0018] has no section. (pass 0)
warning: Relocation symbol "_cinit" [0x001C] has no section. (pass 0)
error: No target memory available for section ".code".
error: Error while writing hex file.
Makefile:13: recipe for target 'stc1000p_celsius_com' failed
make: *** [stc1000p_celsius_com] Error 1
rm build/page0_celsius_com.o build/page1_celsius_com.o

Create picprog_com.ino
cat: build/stc1000p_celsius_com.hex: No such file or directory

Size
2188
1624
total 3812
rm -f build/*.o *~ core build/*.asm build/*.lst build/*.cod

Is here anyone who could help me with that? Thx
 
Last edited:
I have a question on wiring. I have a 1000 and 1000+. The regular 1000 when it calls for heat or cool my LED lights I have wired in go on and stay on. I just wired a 1000+ and plugged in a floor lamp to test it, and when it calls for heat or cool both the LED i have wired in and the floor lamp flick on and off rapidly. Any thoughts?
 
Hi all,
first of all thank you very much for the great job you've done on the STC1000.

Could somebody provide me a recent link to buy a STC1000 with the STM8 micro inside (yes sorry I'm more used to ST Micro chips rather than Microchip ;-))

Thanks in advance.

Blairy
 
Hello. I bought a STC-1000 from China. But I found that he had a factory defect in firmware. I cannot reduce the value of the difference to less than one. On the datasheet it says "F2" The difference value is from 0.3 to 10.0. But the fact on the device is the minimum value of the difference 1 C. How can I fix this? Where can I find the original firmware and how to install it?
 

Attachments

  • stc10.jpg
    stc10.jpg
    116.4 KB · Views: 82
  • stc100.jpg
    stc100.jpg
    33.7 KB · Views: 82
  • stc1000.jpg
    stc1000.jpg
    76 KB · Views: 84
Hello. I bought a STC-1000 from China. But I found that he had a factory defect in firmware. I cannot reduce the value of the difference to less than one. On the datasheet it says "F2" The difference value is from 0.3 to 10.0. But the fact on the device is the minimum value of the difference 1 C. How can I fix this? Where can I find the original firmware and how to install it?



Reach out to the seller, or the manufacturer.
 
I bought one of these from black box brew way back, I am in need of another now and it appears the people who were flashing and selling have moved on, does anyone know if there are places I could yet buy a stc1000+? I would prefer that over buying an arduino, etc. Or have other temp controllers hit the market that can do the same thing now?
 
I bought one of these from black box brew way back, I am in need of another now and it appears the people who were flashing and selling have moved on, does anyone know if there are places I could yet buy a stc1000+? I would prefer that over buying an arduino, etc. Or have other temp controllers hit the market that can do the same thing now?
Have you looked on Amazon? I've seen them on there before.
 
Amazon only has unflashed from what I can tell, and inkbirds are all single program and no ramping from the descriptions.
 
Last edited:
Back
Top