[Solved] Can no longer calibrate Temp Sensors

So I calibrated my two temp probes by doing the following:

screen /dev/ttyACM0 57600

h{v:1 to list the sensor(s) and to verify the Arduino can see the sensor.

In my case, both my probes we’re reading 0.5c low, so I adjusted with the following command: U{i:0,j:0.5} and U{i:1,j:0.5}

Doing that worked and BrewPi displayed the adjusted temps, matching my Thermapen reading.

After calibrating, I did an update (including firmware update) with: sudo ~/brewpi-tools/updater.py

After the update, my calibration settings are no longer in place. I attemped to redo the calibration, but no matter what “J” value I put in, it always reads as 0. I’m back to being 0.5c low and it doesn’t seem to matter what number I put in for the J value, it never changes anything.

How do I get my calibration back?

Thanks for reporting it.

I misplaced a bracket in the last update.

Bug has been fixed in develop and the bugfix will be part of next release.

Awesome. Thanks. Is there any way I can apply this fix now?

Take this file: brewpi.bin (104.0 KB)

Flash via the web interface.

From the “Reprogram Arduino” Tab? Not sure I’m in the right place of the web interface

Ah sorry, I assumed you had a Spark Core.

Which Arduino / Shield combo do you have?

You could also compile hex files yourself with Atmel Studio if you want. The repo contains an Atmel Studio project.

I flashed my Arduino Uno with brewpi-uno-revC.hex

Take this:
brewpi-avr.hex (73.9 KB)

For Arduino Uno with RevC shield

This worked! Thank-you!

Update to this. Everything has been working fine up until last night. The error I got in the web UI is:

Warning: Cannot receive version number from controller. Your controller
is either not programmed or running a very old version of BrewPi. Please
upload a new version of BrewPi to your controller.

The logs also showed the additional error:

File “/home/brewpi/brewpi.py”, line 728, in
File “/usr/local/lib/python2.7/dist-packages/serial/serialposix.py”, line 518, in write
raise SerialException(‘write failed: %s’ % (v,))
serial.serialutil.SerialException: write failed: [Errno 5] Input/output error

I rebooted the laptop that I’ve got the arduino hooked up to and things came back and worked again. The temp readings still showed that the fermentation was under control, so does the system keep working even if other parts have crashed? I’m a little concerned that if vigirous fermentation starts and things crash again, that I’ll lose my beer.

The arduino will maintain settings on its own. The rpi only logs and updates the arduino. Elco built it that way for just such occasions where things can get muddled between the rpi and arduino.

Hi Elco,

I am running Brewpi with an arduino (version 0.2.10).

The fix for probe calibration was committed in 0.2.11 but 0.2.10 was the last arduino compatible version if I understand correctly.

Is the “brewpi-avr.hex” file in this thread similar to 0.2.10 with only the fix for calibration in addition?


Yes, this is the fix:

My guess is that the hex file above includes the fix.