End-to-End Demo Development for MIT-Hydration

Prakash

Prakash Manandhar

Verified

Project Description

From NASA briefing: https://www.nasa.gov/centers-and-facilities/langley/university-teams-demonstrate-cool-new-technologies-for-the-moon-mars/ Ten university teams designed and built systems intended to harvest water frozen below the surface of the Moon and Mars. The teams put their prototypes to the test during the 2021 Moon to Mars Ice & Prospecting Challenge held September 23-25 at the Hampton Roads Convention Center in Hampton, Virginia.
Taking top prize of $6,000 was the Massachusetts Institute of Technology (MIT) team from Cambridge with HYDRATION III: High Yield Dihydrogen-monoxide Retrieval And Terrain Identification On New worlds.
“I think one of the determining factors in the MIT’s excellent performance was the test program they set up,” said Dr. Jeffrey Hoffman, MIT team faculty advisor and former NASA astronaut. “They tried to duplicate as closely as possible the conditions they would face in the actual competition, and that allowed them to refine the hardware, software, and procedures. They followed the famous advice we give to anyone working on a space project, test like you are going to fly, and fly like you tested!”
Since 2017, NASA has engaged students in exploring ways to harvest water off Earth through its Revolutionary Aerospace Systems Concepts – Academic Linkage (RASC-AL) Special Edition: Moon to Mars Ice & Prospecting Challenge. The competition requires students to design, build, and test a system to extract water from ice buried under an unknown number of layers of clay, concrete, sand, and other material meant to simulate a lunar or Martian surface. Teams must also use feedback from their drills (penetration rate, depth, and power) to produce a digital core representing their estimation of each layer’s depth, hardness, and thickness. These types of prospecting skills will help inform the development of tools that could be used to harvest sub-surface water ice for fuel and consumables on the Moon and Mars.
“Drilling into billion-year-old ice at Mars to obtain water for future crews will be very challenging. These university teams are helping us understand how to extract this incredibly valuable resource off Earth,” said Richard (Rick) Davis, assistant director for science and exploration in the Science Mission Directorate (SMD) at NASA Headquarters. “These teams have done a tremendous job of navigating around the challenges presented by the pandemic, and we are very excited to work with the students and see their creative solutions for drilling at Mars”
The systems developed by the teams aim to inform in-situ resource utilization (ISRU) advancements for crewed Artemis missions to the Moon, and ultimately Mars. In-situ resource utilization is the ability to generate products with local materials. 
“The challenge allows us to examine a suite of innovative solutions addressing a critical capability, but it also showcases the next generation of aerospace engineers and leaders,” said Walt Engelund, deputy associate administrator for programs in the Space Technology Mission Directorate (STMD) at NASA Headquarters. “Shaping and connecting with the future workforce is as important as their potential technology developments.” 
Northeastern University received second place and $4,000. Recognition in the following areas also went to:
Lightest System Mass: University of Pittsburgh, 89.84 pounds (40.75 kilograms)
Most Innovative Concept: University of Pittsburgh
Most Accurate Digital Core: California Polytechnic Institute
Clearest Water: South Dakota State University
Best Technical Poster: MIT
Best Technical Paper: Northeastern University
Most Water Collected: MIT
During the competition, teams mounted their technology prototypes on individual test stations composed of 4-foot-tall commercial fishing coolers filled with, unknown to them, 600-pound ice blocks, 200-pounds of aerated concrete, 250-pounds of a sand and rock mixture, and over 100 pounds of pitcher’s mound clay. They were given one day to set up and test their systems and two days to conduct operations to penetrate the soil and rocks and extract water from the ice (earning more points for water collected during autonomous, “hands-off” operations). Teams were judged on their water extraction in both operations methods, as well as water clarity and accuracy of their core composition. NASA judges also rated teams on their technical paper and poster presentation which described how the systems could be adapted for possible use on the Moon and Mars.
U.S. industry is an important partner to NASA as they work together to explore the Moon and Mars. Honeybee Robotics, a returning industry sponsor of the challenge, is also developing space mining technologies. Honeybee subject matter experts help guide the development of the challenge and are judges during the competition. 
“Being able to be here with the students is refreshing. Seeing their ideas on such a vital aspect to space exploration causes new thinking for those of us in the trenches,” said Dean Bergman, director of business development at Honeybee Robotics. “The thinkers of today are going to be the space explorers of tomorrow. We are honored to support their efforts and the innovation this forum brings to NASA and to industry working on ISRU.”
Other industry partners include Aercon LLC and Pancopia Inc.
The 2021 RASC-AL Special Edition Moon to Mars Ice and Prospecting Challenge is sponsored by NASA’s Office of the Chief Technologist, Science Mission Directorate, Space Technology Mission Directorate, with support from the Systems Analysis and Concepts Directorate at Langley. The competition is administered by the National Institute of Aerospace.
To learn more about RASC-AL Special Edition: Moon to Mars Ice & Prospecting Challenge, visit: http://specialedition.rascal.nianet.org
For more information about NASA’s Moon to Mars exploration plans, visit: https://www.nasa.gov/moontomars

Running

Client

Client installation

Make sure you have python 3.8 or higher. For example, in my system I have three or more Python versions installed. If I use just python, I get Python 2.7, python3 gives me Python 3.8, and python3.9 gives me Python 3.9. Install the packages from the client_requirements.txt file in the python that you are planning to use.
python3.9 -m pip install -r client_requirements.txt

Get the version of code you are planning to run

For example: git checkout tags/V0.4

Main QT GUI Client

Run the following from the repository folder. make run-qt-client

Generate ProtoBuf Interface Files

make grpc-gen

Hello World Test

Test to make sure that the server is accesible and running without GUI complications make run-echo-client

Server (Raspberry Pi 4 B)

Mission Control Server

make run-mc-server

Connecting through ssh

ssh hydration@96.237.232.240 -p1337
ssh hydration@174.249.33.221 -p1337 # prakash's verizon phone hotspot
ssh hydration@192.168.1.196 -p1337
ssh hydration@192.168.1.23 -p1337

Installation

Steps that I did (you may need slightly different steps based on OS/hardware):

Prepare OS

Wrote Ubuntu Desktop 20.10 (RPI 4/400) 64-bit to a 128 Mb flash drive, using RPi Imager for Mac. See here: https://www.raspberrypi.org/forums/viewtopic.php?t=269749 , and https://ubuntu.com/download/raspberry-pi
Booted Ubuntu, Setup Username and Password
sudo apt-get install net-tools
gsettings set org.gnome.Vino require-encryption false was required for VNC connection to work for screensharing when collaborting using a mac
Follow steps here to get sshserver: https://thishosting.rocks/how-to-enable-ssh-on-ubuntu/ for remote login

Python C++ Bindings in RPi (Ubuntu)

sudo apt-get install python3-dev
sudo apt install libpython3.9-dev

Running ClearPath Servo Test in RPi

See Makefile in ClearPathTestCode folder.
make test-run for a completely C++ program to test the servo connection
make hydration-servo for compiling C++ to Python bindings
make hydration-servo-test to physically test the bindings

For connecting to INA-219 current sensor from AdaFruit

python3 -m pip install pi-ina219

For GPIO in RPi

Install GRPC in MAC

sudo apt install python3-pip to get pip
pip install grpcio
pip install grpcio-tools
In addition you may need to add the user to the dialout group and restart to access gpio without sudo:
sudo adduser [username] dialout

Versions

I get the following versions in my mac
protoc --version libprotoc 3.14.0
python3 -m grpc_tools.protoc --version libprotoc 3.13.0

Firewall setting in the Raspberry Pi

I needed to have the following settings to allow port 50051 on the raspberry pi.
hydration@mit-hydration-prakash-rpi-00:~/github/demo-end-to-end-2021$ sudo ufw status verbose
[sudo] password for hydration:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
50051 ALLOW IN Anywhere
50051/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
50051 (v6) ALLOW IN Anywhere (v6)
50051/tcp (v6) ALLOW IN Anywhere (v6)

50051 ALLOW OUT Anywhere
50051/tcp ALLOW OUT Anywhere
50051/udp ALLOW OUT Anywhere
50051 (v6) ALLOW OUT Anywhere (v6)
50051/tcp (v6) ALLOW OUT Anywhere (v6)
50051/udp (v6) ALLOW OUT Anywhere (v6)

Commands

sudo ufw allow in 50051/tcp sudo ufw allow out 50051/tcp

Relevant documentation

https://grpc.github.io/grpc/python/grpc.html http://manpages.ubuntu.com/manpages/xenial/en/man8/ufw.8.html

Starting with Qt5

Starting from example code here: https://stackoverflow.com/questions/9957195/updating-gui-elements-in-multithreaded-pyqt
Needed to install the following modules and small code modifications: python3 -m pip install pyqt5

Starting a more "mission control" like UI

Installing LED component: https://github.com/jazzycamel/QLed python3 -m pip install QLed

Initial demo

This project is to demo the following strucutre end-to-end.

Process for GitHub + JIRA

Have a ticket to do the work
Review requirements with team lead of the subsystem
Set the ticket to In Progress
Do a git pull to make sure you have the latest main before branching
Create a branch in GitHub (e.g. use git checkout -b branch-name command). Use the Jira ticket number as branch name (e.g. SOFT-2)
Start working on the ticket, commit, and push as many times as you want
When ready, create a Pull Request using the GitHub interface
Put the ticket in Review and Commit column in Jira
Switch branch back to main by git checkout main before working on another ticket
Review together with the team lead and accept commit (or back to in progress if team lead is not satisfied)
Like this project

Posted Sep 30, 2025

Developed an end-to-end demo for MIT-Hydration using Raspberry Pi and Python. Taking top prize of $6,000 was the Massachusetts Institute of Technology team

Likes

0

Views

4

Timeline

Sep 30, 2025 - Ongoing

Clients

Massachusetts Institute of Technology

pmanandhar1452/startrak-attendance-tracker
pmanandhar1452/startrak-attendance-tracker
Our client wanted to transform their brand to a luxury brand...
Our client wanted to transform their brand to a luxury brand...
Hi Community, Here is a fun 3D landing page we built for one...
Webflow Project with 3d Background in Spline