The initial inspiration for our project was found while we were brainstorming in a meeting in our extracurricular activity, SPACE, at Dawson College. When we pitched our idea, SPACE sponsored us for the McGill hackathon for the entry fee as well as the Arduino boards and components that we needed. Finally, we were provided mentorship that greatly helped us enable this project.

For the idea itself, it started when we played around with various Arduino sensors. We were also curious about thermodynamics because three of us haven't done anything advanced in this field yet, so we decided to try something and we would learn even if we fail.

What it does

When sensors are placed on two sides of a window, it visualizes the heat flow through it.

It can process a table of data entered manually, or connect automatically to an Arduino board and generate the heat flow map in real time.

All frames are saved as a static PNG, and can be put together in an animated GIF to allow visualization of the heat flow over time.

How we built it

Sensors and data collection are done with Arduino, and the visualization of the heat flow is made with python.

We had to use libraries such as nRF24 for the Arduino transmitters and PyQt5 for the visualization.

Our two Arduino boards' setup are rather simple and include a temperature sensor and a transmitter/receiver on each. The one outside acts as a transmitter, and the one inside receives the outside temperature while measuring temperature inside. This one is plugged to a computer, to which it sends the data.

Arduino setup scheme

For the visualization, LaPlace’s temperature formula was used to determine what was the temperature gradient caused by conduction, then Navier-Stokes' equation was used with certain specific boundary conditions that apply to double-pane windows, as a function time. After that, we used discretisation and iterations to see what happens if the window is taken from space and had the temperatures applied, and calculated a whole bunch of iterations (IE a second or two) to give a pretty decent picture of what was going on with convection after the disturbance balanced itself out.

Challenges we ran into

One temperature sensor was broken while we tried to install it to the appropriate location, so we had to restart with a different type of sensor that isn't compatible with our previous code.

We also had some difficulties getting the graph's color legend to stay constant and to generate a GIF with our data via code, but we eventually managed to fix those problems.

Finally, near the end of the competition, it was raining and hailing outside and we had to find creative solutions to protect our setup. We first had an umbrella, but it was too fragile, so we broke up a plastic bag and covered the equipment.

Accomplishments that we're proud of

Getting it to work


Built With

Share this project: