Talk:Freezer to Refrigerator Conversion

From Open Source Ecology
Jump to: navigation, search

Compiling Errors

Using Ubuntu 16.04 and Arduino 1.6.8, we have

sorry - this program has been built without plugin support exit status 1 Error compiling for board SparkFun Pro Micro.


What temperature should a refrigerator be?

The FDA recommends between 32°F and 40°F (0°C to 4°C).

Energy Star recommends between 35°F and 38°F (2°C to 3°C) to reduce energy use.


10K Ohm @ 25 celsius
20.13 @ 5 C
24.30 @ 0 C

voltage divider

Vout = (R2/(R1+R2)) x Vin

24.3 Ohm -> 0.962V = 0 C
24 Ohm -> 0.97V => (24.3-24)/(24.3 - 20.13) * 5 = 0.4 C assuming linear resistance of thermistor
21 Ohm -> 1.06V => (24.3-21)/(24.3 - 20.13) * t = 4 C

Analog to Digital Converter

Arduino's onboard ADC converts voltage to a range of 0-1023 based on arduino's base voltage

so on a 3.3V arduino, analogRead(A1) will equal

0V = 0 reading
1.65 = 511
3.3V = 1023


24.3 Ohm = 298.25 = 0 C
24 Ohm = 300.88 = 0.4 C
21 Ohm = 329.99 = 4 C

Relay Trigger Voltage

Arduino MKR 1000 is a 3V board. The Solid State Relay minimun trigger voltage is 3V. I had trouble getting the relay to activate. measured 2.8V. This was not enough to trigger. I changed the wiring to share a ground with the temperature. May need a diode? Sparkfun makes a 5V board. going to switch to that, but need to figure out where im losing the 0.2V.

  • try using the 3V out pin then pull to ground?


could use VCC pin on MKR1000 to connect to the Relay (+) terminal, then pull to ground the relay's (-)

"VCC This pin outputs 3.3V through the on-board voltage regulator. This voltage is the same regardless the power source used (USB, Vin and Battery)." -


Potentiometers to dial in HI and LO temp

To Do

  • might try using Digital out pins to send voltage to Pots
    • might need a plain resistor between the digital out and pot
      • calculate for max 30mA at either 3.3 or 5v
  • Set 50% point on both knobs as 36 fahrenheit
    • Max knob turn adds 5, Min turn subtracts 5.

or could have pot#1 set the mid point and pot#2 change the allowed range

Other Aplications

Air Conditioner

  • with a WiFi enabled microcontroller, could possibly remote control/monitor an air conditioner window unit. Could also schedule run times.
    • would need to make sure air conditioner start up routine doesnt require button press.

Wear and longevity

In general, the way the freezer is being used for lower duty cycle should reduce wear and frequent cycling. I recall from electronics hearing about refrigeration engineers spending a lot of effort on timing inductive circuits to minimize arcing and maximize the MTBF of the mechanical relays, but the quality of those may have increased in the last couple decades. So, it is questionable what wear external power control might increase.

I see the triggers are set far apart in the code, but I wonder what are common times between cycles? Is there any case when frequent cycling could occur? Component failure modes? There is nothing in code currently to prevent it, but if needed the on/off timing should be easy to do in code alone.


I defrosted one of those "mini fridge-freezer combos" today (it seems like none have auto-defrost sadly, and most neglect to do the advised maintenance to prevent the coils icing over)

I remembered this project and it got me thinking if this, or something similar could be used to convert a non-self defrosting one into a self defrosting machine.

I don't remember if they do it via reversing the heat pump and/or via just turning it off until the ice melts

Either way it would be a neat application, or at least similar project

--Eric (talk) 2:38, 28 March 2020 (UTC)