Arduino based RIMS

I have been looking on the Arduino forums for someone else interested in a simple PID controlled RIMS system, but everyone seems to be into automated everything! While that is all quite cool, and I have seen some amazing systems, I am interested in something more in the lines of the Blichmann Breweasy.

I almost bought one about a month back, and then I realized I had nearly everything I needed to make my own two vessel RIMS system. The biggest missing component was the code, and I think I am nearing completion on that part. My control system will be rather simple: a mash temperature control loop, and a manual control loop for the boil.

Has anyone here done this? I have a few questions for those of you who are interested in responding. I have two options for a mash tun. One is a stainless kettle (9.3 gal from Stout Tanks), and the other is a 10 gallon cooler I got on sale from a LHBS last year.

What are your thoughts on which one to use? Also, I am wondering about temperature probe placement. Does it really matter so much where it sits in the mash tun? Would it be best to have two and average them? Given that not every brew will have the same volume of grain, would it be best to place two or three wells for optimal placement in each brew? Or has your experience been that it does not matter much where the probe is since the liquid is constantly recirculating?

A couple years back I did a fermenter temp controller with a Raspberry Pi. Every 6 months or so the damn SD card wears out. So I’ve been re-creating the temperature controller on an Arduino, and I freaking LOVE the platform. Very versatile, with minimal overhead.

Good luck!

This sounds really interesting.

I have a 2 vessel brew cart, with two 16 gal kettles, that I’d like to convert to electric so I’m very interested in how this works out for you. I do recirc boils now with an inline thermometer but I have to watch the temp and fire the propane burner manually if I need it.

Which arduino board are you using?

Thanks for your replies, it is nice to know someone is reading my posts!

I like the platform as well. I am currently using a genuine UNO Rev3. I got it at Microcenter for about 15.00. When I was there recently, they had clones on sale for something crazy like 5 or 6 dollars. The regular price for their clone is 9.99. With the Arduino price points where they are, it is hard to go wrong trying something.

My hardware profile will be quite simple. There is the Arduino board, an I2C 4X20 LCD from Sainsmart that I bought at microcenter. It only 12.99 and ready to plug right into the board. The LCD I have has only two analog inputs plus ground and power. It was pretty easy to get is working, there are some LCD products out there for which it is very difficult to find working software libraries

The rest of the I&O profile includes: 1 rotary encoder with pushbutton switch (three digital inputs), one on/off switch (one digital input), one or more analog temperature sensors (one analog pin each), and one digital pin to a SSR.

I just ordered some TI LM34 sensors, they seemed to be the most accurate and readily obtainable heat sensors available for a reasonable price. They are pretty easy to program for the inputs, I think (I did it once a few years back).

The program structure is rather simple: inside the main loop is an if/else statement. If the on/off switch is in one state, the mash function runs (with PID). The temperature setpoint is adjusted by rotary encoder and selected by clicking the pushbutton on the rotary encoder.

The other switch state causes the else statement to run. The duty cycle is entered with the rotary encoder and that controls the output to the heating element (ranging from 0-100%). That is it!

The pump till run continuously during the mash cycle.

If anyone has experience with Brett Beauregard’s PID code I have a few questions. I lifted the output statements (to the SSR) from his PID_RelayOutput sample. And the on off switching appeared to be flipped (it was off, when I wanted it on, and on when I wanted) so I swapped the HIGH and LOW commands in the digital write statements. When I implement that code in my final revision with the PID, how can I tell if it is running the right direction (off when the algorithm says it should be off, and on when the algorithm says it should be on)?

Also, I have no tuning loop, I plan to tune the system using a sketch just for that purpose. Does that make sense? Tuning tips would be very helpful! I will post pictures when I have it assembled.

I’m glad to see someone else is thinking of this. BTW, Blichmann has a nice series of coiled heating elements that come with a proper mounting system. It makes converting to electric easier because they come in many sizes. They also have a 120V element for those without access to 220V.