Improved firmware for fermentation and Arduino based uploader for the STC-1000 dual stage thermostat.
The STC-1000 is a dual stage (heating and cooling) thermostat that is pretty cheap to buy. I (and a low of fellow homebrewers) use them to control the fermentation temperature of beer.
The goal of this project is twofold
- To create the means to reprogram the STC-1000 with a custom firmware
- To create a custom firmware, suited for fermenting beer
The first goal is achieved by using an Arduino (UNO and Pro Mini 5v verified to work) with a sketch to act as a programmer, and the second by using the SDCC compiler and GPUTILS.
Download by visiting the releases page and start by reading the user manual
STC-1000+ is only compatible with the A400_P version of the STC-1000. This is manufactured (and also sold) by HongKong U-control electric CO Ltd. STC-1000's can be purchased directly from them through their webshop on Aliexpress.
Many thanks to Will Conrad for tracking down the manufacturer and for sharing the information!
- Both Fahrenheit and Celsius versions
- Up to 6 profiles with up to 10 setpoints.
- Each setpoint can be held for 1-999 hours (i.e. up to ~41 days).
- Web browser profile editor
- Approximative ramping
- Somewhat intuitive menus for configuring
- Separate delay settings for cooling and heating
- Configurable hysteresis (allowable temp swing) from 0.0 to 2.5°C or 0.0 to 5.0°F
- User definable alarm when temperature is out of or within range
- Different editions of the firmware with special use of RA1 pin:
-
- Secondary temp probe (fridge temp) to limit heating and cooling
-
- Single wire communication to read/set configuration
-
- Use cheap RF transmitter to send temperature wireless
- Button acceleration, for frustrationless programming by buttons
Profile (Pr0-5) menus:
Menu item | Description | Values |
---|---|---|
SP0 | Set setpoint 0 | -40.0 to 140͒°C or -40.0 to 250°F |
dh0 | Set duration 0 | 0 to 999 hours |
... | Set setpoint/duration x | ... |
dh8 | Set duration 8 | 0 to 999 hours |
SP9 | Set setpoint 9 | -40.0 to 140°C or -40.0 to 250°F |
The settings (Set) menu:
Menu item | Description | Values |
---|---|---|
hy | Set hysteresis | 0.0 to 5.0°C or 0.0 to 10.0°F |
hy2 | Set hysteresis for second temp probe | 0.0 to 25.0°C or 0.0 to 50.0°F |
tc | Set temperature correction | -5.0 to 5.0°C or -10.0 to 10.0°F |
tc2 | Set temperature correction for second temp probe | -5.0 to 5.0°C or -10.0 to 10.0°F |
SA | Setpoint alarm | 0 = off, -40 to 40°C or -80 to 80°F |
SP | Set setpoint | -40 to 140°C or -40 to 250°F |
St | Set current profile step | 0 to 8 |
dh | Set current profile duration | 0 to 999 hours |
cd | Set cooling delay | 0 to 60 minutes |
hd | Set heating delay | 0 to 60 minutes |
rP | Ramping | 0 = off, 1 = on |
Pb2 | Enable second temp probe for use in thermostat control | 0 = off, 1 = on |
rn | Set run mode | Pr0 to Pr5 and th |
Date | Release | Description |
---|---|---|
2014-04-04 | v1.00 | First release |
2014-04-11 | v1.01 | Increase approximative ramping steps to 64 |
2014-04-15 | v1.02 | Improved temperature averaging |
2014-04-16 | v1.03 | Added leaky integration filtering, improved averaging (+ bugfix) |
2014-05-25 | v1.04 | A couple of minor improvements and a minor bugfix |
2014-08-02 | v1.05 | Reset both heating and cooling delay when either heating or cooling cycle ends. Improved power off |
2014-09-14 | v1.06 | Add functionality for 2nd temp probe (to limit heating/cooling). Display 'OFF' in soft off mode. Added user definable temperature alarm. Added profile 'editor' webpage. |
2015-01-02 | v1.07 | Fixed bug where every other profile had wrong limits. Fixed soft on tempprobe switch bug. |
2015-??-?? | v1.08 | Added single wire communication and 433Mhz firmwares. |
STC-1000+ Menu Navigation by Will Conrad
STC-1000+ Temp Profile Programming by Will Conrad