Exploring the Mpemba Effect with LabVIEW and Pmods

The Mpemba Effect is when hot water freezes faster than cold water. Typically this effect is only seen in unique conditions that are difficult to duplicate. The Mpemba Effect is named after Erasto Mpemba, who noticed it in his childhood while mixing ice cream.


He later brought up this observation to his classmates and teacher and was ridiculed about it. Years later, Erasto asked a visiting professor Dr. Osborne about his earlier observations. Initially Dr. Osbourne was skeptical but after experimentation Dr. Osborne and Erasto Mpemba verified the effect. They co-published their results in 1969.

We were very interested in this effect after discovering it and its history, and we wanted to see if we could observe the Mpemba Effect in Digilent’s break room freezer under more common conditions. We had read a case study in which 100 mL of hot water froze faster than 100 mL of cold water. They used DI water for the cold (25° C) and tap water for the hot (100° C). They also used cookie sheet-like containers. For the hot water, this allowed more particulates and surface area being directly effected by the freezer.

For our Mpemba Effect project we froze two containers filled with 235mL of distilled water at different starting temperatures. We also used the following materials:

1 Laptop with MPIDE and LabVIEW 

1 chipKIT pro MX4 SKU: 410-295

Pmod TC1 SKU:410-315

2 Thermocouple Wire: 1 Meter SKU: 240-080

1 Pmod TPH2 SKU: 410-135

2 6-pin MTE Cable SKU: 310-014

2 1-pin MTE Caple SKU: 240-005

1 235mL/1 Cup Measuring Scoop

1 Gallon Distilled Water

1 Plastic Water Funnel

2 Liquid Containers (I used the plastic cups with lids on the above picture)

We programmed the chipKIT pro MX4 with MPIDE and recorded the data with LabVIEW. Additionally we set up an Instructable to walk you through setting up the hardware and software used in our project. We also set up a Github for the code!20160525_151045


The Instructable contains a detailed walkthrough of the project, from installing the TC1 library to connecting the hardware. We also included instructions on how to make text files and change the path used for recording data in the MpembaDemo.vi in LabVIEW. The LabVIEW VI was made by a co-worker, Sudharsan Sukumar.

The most challenging part of this project was getting the two different SPI Pmod TC1’s to use one port on the chipKIT pro MX4. To overcome this issue we used the Pmod TPH2 to allow us to use the one port for both Pmod TC1’s. We also used pins at RG0 and RG1 for the chipselects. The MPIDE MpembaDemo.pde code alternates which chipselect we are using to determine which Pmod TC1 we are using. The variable we used to determine which chipselect was used also determined which text file the LabVIEW VI writes data to.


Once we filled the cups with 235mL/1 cups of distilled water it takes about 6 hours to completely freeze both containers. We made a couple of changes to our setup process. The first way we set up the experiment we measured and poured the cold into the liquid container. Then we poured 235mL in the pan. We boiled the distilled water in the pan and poured it into the measuring cup, then into the liquid container using a plastic funnel. This process involved too much heat loss before getting the hot liquid container into the freezer.  We eventually found that the best way to get the highest temperature for the hot water in our kitchen was to boil the 235mL measured distilled water and then pour directly into the liquid container using a plastic liquid funnel.


With the new process we were able to get the hot water container to about 70° C and the cold container at room temperature (around 25° Celsius).  We used a few different containers but that did not change the outcome. At this point we have not been able to duplicate the Mpemba Effect, at least not yet.


Every minute we measured the temperature of each liquid container with the PmodTC1’s and recorded the temperature of each container to a text file with LabVIEW.


In an attempt to troubleshoot, we employed LabVIEW and the Pmods to examine what was going on. One interesting thing we found is that the cold water does not take as long to go below 0°C once at 0°C. It takes less than 10 minutes to go below 0°C.


Now the hot water takes about 190 minutes to go below 0°C once at 0°C.


After troubleshooting and modifying the experiment based upon our discoveries, we finally got it to work! Here is the graph of our most recent experiment and as you can see the cold in red froze first and the hot in blue froze much later. Success! The data is available on Github:


This was a very fun project to do! If this was interesting to you, you should check out the Instructable and make sure to let us know if you try this yourself!


Be the 1st to vote.

Leave a Reply

Your email address will not be published. Required fields are marked *