Published: Sept. 7, 2020

Justin Hall
Mechanical engineering undergraduate researcher, Justin Hall.

The ME SPUR Program, modeled after CU Summer Program for Undergraduate Research, enabled undergraduate students to work with mechanical engineering faculty during summer 2020 on research that could be conducted remotely. As a participant, Justin Hall worked with Assistant Professor Carson Bruns to develop a desktop application that will allow scientists to control a robot that automates weighing and dispensing chemicals, running chemical reactions and purification. His summer research project was titled, Development of a GUI Application to Drive a Chemistry Automation Robot. 

Hall is a third-year undergraduate student in the mechanical engineering department with a minor in computer science who is interested in pursuing robotics research and development in the future. His insights below provide a window into his research experience with ME SPUR. 

Describe your summer research. 

I have been working on the organic chemistry automation project for the Emergent Nanomaterials Lab. The goal of this project is to design a robotic system to carry out all of the tasks a chemist would do when completing an organic chemistry reaction, given a series of input parameters set-up by a user on an external device. My role has been to establish a connection between the motors used to move the axes of the robot and a graphical user interface (GUI) I am designing that will allow the user to control and program the system from their own computer.

After getting acquainted with the project and the necessary chemistry, robotics, software and user interface design that I would need, I first chose a suitable single board computer that acts as the connector between the "brain" that controls the motors and sensors on the robot and the GUI. For this, I chose a Raspberry Pi 4 and began establishing a connection between the Raspberry Pi and both the motor's brain and the GUI application. From there, I brought the whole system together so that a user interacting with the GUI on an external computer can send commands to the motors. I then switched gears to begin designing the layout for the GUI and researching the best way to transfer traditional chemistry to entering commands on a computer.

Currently, I am collaborating with other people in the lab group to make the design friendly and efficient for chemists. In the future, my contribution will be combined with the mechanical and electrical designs to complete the robot.

Raspberry Pi computer connected to VEX motor controller and desktop GUI code
Raspberry Pi computer connected to VEX motor controller and desktop GUI code.

What challenges did you encounter and work through as part of your project? 

One challenge I encountered was that while setting up the connection between the Raspberry Pi computer and the motor controller, I wasn’t able to run the necessary software on the Raspberry Pi. After trying for a long time to solve the problem myself, I finally asked someone more knowledgeable on this subject than I was over an online forum. They were able to quickly explain to me that I was running the wrong operating system. This realization necessitated a substantial backtrack. From this, I learned to be more aware of when to ask for help.

What about this project was rewarding? 

Any time I made a breakthrough in my research was an amazing feeling. It was highly rewarding when I successfully established any of the connections between two systems. Seeing the chain of command between the GUI and motors come together was also quite rewarding.

Did you have any research experience prior to ME SPUR?  

While I didn’t have experience with research before starting this project, I did feel prepared. The most relevant experience I had coming into the project was from classes in computer science and electronics, but I found persistence and trial and error particularly important as well. I learned that my technical skills were somewhat secondary to the ability to find reliable and relevant solutions to problems and tasks. This was because a large portion of my work was focused on parsing through possible solutions to design problems and then applying them using technical knowledge.

What advice would you share with other students considering getting involved in research?  

I would advise other students to learn when to ask for help. Research requires developing technologies or ideas rather than learning them and is therefore a very collaborative endeavor. Also, set goals and deadlines for yourself, because many of the tasks given in research work are individual, especially as we are all working remotely.