RIMS Arduino Library

Re-circulation infusion mash system library for Arduino.

RIMS Arduino Library

Things used in this project

Hardware components

1 Arduino UNO
1 DFRobot LCD Keypad Shield For Arduino
1 Hall effect flow sensor
1 Temperature probe : any PT-100 RTD
1 Adafruit Windbond W25Q80BV - 1 MByte SPI Flash
1 Any 5V DC power supply
1 Any old PC speaker (or buzzer)

Software apps and online services


Arduino IDE


This library implement RIMS controls for home brewers. For definition of a RIMS, see What is a RIMS?

For me, an Arduino micro controller + a LCD Keypad shield was cheaper and a lot more customizable than a commercial PID controller. So, with this library, a commercial PID controller is unnecessary. Automatic PID tuning toolkit is also included. Temperature can be read with a thermistor, a resistance temperature detector (RTD) or any custom temperature probe. Heater is controlled with pulse-width modulation (PWM) of a solid-state relay (SSR).

rims-arduino-library Web Site

GNU General Public License version 3.0 (GPLv3)




User Interface : temperatures screen

User Interface : timer and flow screen



User Interface : identification screen


User Interface : choosing time


User Interface : choosing temperature setpoint


User interface made with DFRobot LCD Keypad Shield for Arduino or similar (can be customized) Heater action : solid-state relay (SSR) time proportioning control (or pulse width modulation, PWM), LED duty-cycle indicator Temperature sensor : RTD reading with an instrument amplifier and cubic fitting, thermistor reading with voltage divider, custom temperature probe support, measurement pre-filtering before PID PID temperature regulation enhanced : derivative filter, smart integration clamping anti-windup, multiple controller (up to 4, optional) for different mash water quantities Automatic PID tuning : Autotuner based on relay identification, Fourier analysis and Ziegler-Nichols methodsManual PID tuning : Process model identification tools Tripped breaker detection on heater : any 5V DC power-supply Countdown timer that is activated only when temperature setpoint is reached Data logger : simple serial communication (usb port), SPI flash memory (Winbond 1 Mbytes), USB Menu to access brew data on SPI flash memory (by holding <OK> at startup) Hall effect flow sensor : turn off heater if flow is critically low, Alarm with external speaker : bad flow\disconnected temperature probe errors, timer is elapsed, no voltage on heater, different frequencies for each alarms (alarm distinction) 



icon link_to_sourceforge_repo.zip 0KB Download(0)

The article was first published in hackster, October 19, 2016

cr: https://www.hackster.io/francisgagnon9/rims-arduino-library-009bfc

author: francisgagnon9

All Rights