Nipun Gunawardena

Hello world! My name is Nipun Gunawardena and I am a Ph.D. student in Mechanical Engineering at the University of Utah. Under the direction of Dr. Eric Pardyjak, I develop low-cost embedded systems for use in atmospheric science. In addition, I use neural networks and other machine learning techniques to predict microclimates from the sensor station data.

I enjoy learning and creating things, whether it be through electronic, software, or mechanical means. Keep scrolling to see some projects I’ve worked on.

I was born and raised in Salt Lake City, Utah, and in my spare time I enjoy reading, going to the gym, traveling, and eating. Especially eating.


You can contact me however you like. Here are some common channels:

I am also frequently on Reddit and Hacker News.

Experience and Projects

Low-Cost Arduino Based Sensor Stations

As an undergrad I developed low-cost Arduino based atmospheric sensing stations. While existing stations were upwards of thousands of dollars, I was able to create them for around $400. This process involved circuit/pcb design, microcontroller programming, SolidWorks design, and manufacturing. The stations are still in use today, and can be seen below deployed in Heber, Utah.

I have also done a significant amount of post-processing and visualization to the data gathered from these stations. Below is a visualization of the sunlight and temperature changes throughout the day on a mountain at Dugway, Utah.

Low-Cost Low-Power MSP430 Based Sensor Stations

I am currently building version 2 of the above-described sensor stations. They are based on the MSP430 instead of the Arduino, and as a result should be cheaper and much less power-hungry. More details will be posted as progress is made. Until then, you can see test code here.

Neural Networks

Artificial Neural Networks can be used to predict short term weather patterns. Below is a neural network trained on six days of temperature data used to predict the temperature on the 7th day. More information will be added here once it has been published.


Unsupervised learning techniques such as clustering can be used to extract meaningful results from atmospheric data. Below is a visualization of multiple types of a single atmospheric phenomena. More information will be added here once it has been published.

Object Tracking

After graduating with my bachelor’s degree, I participated in the LADSS program at Los Alamos National Lab. While at LANL, I helped develop a quadcopter that can remotely place sensor packages using a pneumatic launcher. More specifically, I created an object tracking program using OpenCV that the quadcopter can use to navigate or aim. This was done both on a PC and on an Android mobile phone. More general information about the project can be seen in the following YouTube video.

Big Data

I am currently working on an algorithm that will allow matrix decomposition via stochastic gradient descent to be performed in parallel. This will have an impact on recommender systems such as the ones developed for Netflix Prize. More information will be added here once it has been published.

Structural Health Monitoring

At the Engineering Institute at Chonbuk National University in Jeonju, South Korea, I helped create an MSP430 based piezo sensing system that can be used to detect cracks in airplane wings.

Other Research Projects

As an undergraduate and graduate researcher, I completed many small projects around my lab. This included:


I have taken all of the required classes for a mechanical engineering degree at the University of Utah. I had a final project every year of my undergraduate degree, in which I made an air powered train, a capture-the-flag playing robot, a line climbing robot that takes atmospheric science measurements, and more. In addition, I have taken several graduate level mechanical engineering and computer science classes such as turbulence, artificial intelligence, and machine learning.

For my machine learning class, my team and I did our final project on performing sentiment analysis on Instagram hashtags. For my intermediate fluid dynamics class, we made a fluid visualization video about golf ball dimples, which can be viewed here.


I have TA’d for the following classes: Introduction to Programming for Engineers, Intermediate Fluid Dynamics, and Numerical Methods for Engineers. In addition, I have presented at the U of U fluid dynamics seminar series multiple times on my research.


Thanks to Chibicode for the wonderful Solo Theme. Licensed under the MIT License. The source for this page itself can be found here.