Martian Probe
Slides
Team
Daniel Xu: Programmer Kyle Ishihara: Programmer Jasmine Rocha: 3D Engineer and Slidemaker Sylvie Bass: Engineer and Slidemaker
Inspiration
When researching ideas for the project, we stumbled upon something that everyone has no doubt seen before: the mars rover. As a team with very little experience in electrical engineering but extensive computer science and machine learning experience, we brainstormed ideas for ways to integrate machine learning into a technology that the Mars rover already had.
What it does
After much deliberation, we decided on a sensor box that collects data from sensors (in our case just a temperature sensor), and video data that is run through an image classification model, with all these data streams converging into a single webserver that can be monitored.
How we built it
This project was built using a Seeed Studio Xiao ESP32S3 Sense (a tiny ESP32 board with a camera optimized for machine learning operations), an ESP32S3 Development Board (used to power the Xiao and process the data stream from the machine learning model, and an MCP9808 sensor (to demo being able to process data from both a climate sensor and an AI model simultaneously). On the programming side, Arduino IDE was our primary coding environment, with C++ being our language of choice, and passing the data from the Xiao to the ESP32 Dev Board was done using UART. We are powering the entire system with an Anker powerbank plugged into the ESP32 Dev Board.
Challenges we ran into
The most significant challenge we ran into was not being able to reliably connect the ESP32S3 Dev Board to UCSD's WPA2 Enterprise WiFi so that we could host a webserver on it. Despite using the esp_wpa2.h library, the ESP32 would often be stuck trying to connect to the WiFi forever. We solved this challenge by using the WiFi.softAP() function to create a private WiFi access point, circumventing the challenges of connecting to UCSD-PROTECTED.
Accomplishments that we're proud of
We are proud of our method of translating raw, JSON data from the UART ports on the Xiao into human readable data on the webserver.
What we learned
We learned that machine learning models don't necessarily require big, beefy computers to run; sometimes a simple ESP32 can do.
What's next for Martian Probe
We want to build a better, more well thought-out casing with access to the ESP32's USB-C port for quick software changes. We also want to solder a dedicated battery to the ESP32 to make the entire setup more compact and portable, as well as add more sensors and a more powerful image classification model to make the entire box more than just a proof of concept.
Log in or sign up for Devpost to join the conversation.