Home>Automotive>Igloo 12V electric cooler arduino modification for the van

Igloo 12V electric cooler arduino modification for the van

At the thrift store I found another one of these 12V Igloo electric coolers. They have a 35W Peltier cooler installed in them and can keep food and drinks nice and cold even on a warmer day. This particular unit I managed to score for only $7.00, which I thought was a good deal.Arduino cooler testAfter getting it home and plugging it into 12V, I discovered that it didn’t work at all, so I decided that I was going to order a replacement cooler and make it a better unit, one that could potentially freeze things if I desired. I knew that the cooler wouldn’t need to run continuously, and not only do I need to just shoot for a target temperature, but I could introduce an energy saving mode where the cooler shuts completely off for a period of time in an effort to extent the overall run time.


I decided to use an arduino, a couple new fans, a couple of DS18b20 temperature sensors like this one:

1wiretempsensorThen there was the matter of obtaining a replacement peltier cooler. I found something rather interesting and neat at this eBay auction (click here). This cooler is a pre-cascaded unit, meaning that there are two modules operating in a cascade and they’re already the appropriate sizing offset and everything. It is thicker than a standard single layer module, but that’s okay. Check out the datasheet here:


Right now I’m just using a relay to switch the cooler on and off, along with the fans. I’m using a PWM output pin on the Arduino to actually drive the speed control on the external fan. For now at least, the internal fan is at a fixed low speed.

DSC00603I ran the cooler overnight, and the temperature sensor said that it was 49*F inside the cooler. When I measured the temperature of the water using a thermometer, it said it was 36*F. Clearly the air inside the cooler, or the internal sensor as a result of being affected by the warmer air outside is creating warmer readings and doesn’t accurately represent the temperature of the contents inside. For now I just picked my cutoff temperatures to be in an area where I know the food will remain very cold but not frozen. I’m not sure totally how I’m going to remedy / improve the temperature measurement inside. We’ll see how it works for now. Here is my laptop doing some datalogging of the cooler, checking out the functionality:

DSC00605 DSC00606One of the other things you’ll notice is how low the voltage is, 10.8 while the cooler is drawing a 5.5amp load from a power supply outputting 12.5 volts. I need to put the voltage sense wire at the actual power socket itself, but clearly there are some losses in the 16 gauge wire that I’m using inside the unit. The feed cord which is 6 feet long is also 18 gauge, so there are some losses there. This skews the results, but we can adjust our calibration values to match. For example, when you look at the code, you’ll notice that the voltage when it goes into “high power” mode is set to 12v, this is actually about 13 at the battery, which is only attainable during a charge state or while the vehicle is running. If I change the cord / wiring around, it’ll be interesting to measure and see how the voltage changes. At Its peak, it draws around 5.5 – 6 amps, and around 4.5amps in the lower power modes after the internal temperature is cold.

Here is the code that runs on the arduino for the cooler controller. It’s probably what most would consider rudimentary, I am not terribly experienced when it comes to coding, but it works quite alright, so there is that..

There are definitely some things I’d love to do differently, such as:

  • Picking up voltage monitoring from the power input port
  • Using 4 wire fan PWM to also control the internal fan to help run a defrost cycle / adjust cooling
  • Adjusting the code to monitor temperature changes at a frequency more often than a minute.
  • Not using linear voltage regulation and instead a switching converter for lower power.
  • Eliminating the relay and using a FET to switch the cooler on and off.
  • Ditch the arduino and utilize a PIC microcontroller instead

I am not done with the code yet, expect it to be updated again / change over the next couple weeks. I may even accomplish some of the above goals.

4/5 - (1 vote)