alphaomega
Well-Known Member
- Joined
- Jul 10, 2013
- Messages
- 1,041
- Reaction score
- 461
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.
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.