2020 left us all a little lonely- cut off from friends, family, and colleagues alike. Our only connection was through an endless parade of video calls, virtual hangouts, and group messages. We could still keep in touch- but something was missing. Introducing Rosi, or Remote-Operated Social Interaction. Rosi is a robot designed to re-introduce the full experience of being "in-person" without the, well, person.

What it does

Rosi is a fully mobile robot capable of being controlled from anywhere in the world via a web server. Rosi also serves as a smartphone mount, so you can start a video call, attach your phone to Rosi, and your friend can, in a way, be in the room with you. The person you're calling can explore your environment through Rosi, by driving around and tilting the camera up or down- all through web controls. Rosi can move backwards and forwards, turn around, and can even detect table edges via ultrasonic sensors.

How we built it

Rosi is controlled through a web server hosted on The controls page can be accessed at [link], or at [link] for convenience. The web server was built to use php and SQL databases to interface with a Wifi-connected ESP32 board running Rosi's electronics. Rosi utilizes a 9V battery, two DC motors for driving, a servo motor to tilt the camera angle, an ultrasonic sensor to detect table edges, an LED indicator light, the ESP board, and the L293D motor driver. Additionally, we utilized 3D printing to create Rosi's chassis and hand-sewing for Rosi's friendly exterior look. The smartphone mount is compatible with iPhone 7/8.

Challenges we ran into

We had many challenges throughout the build process, since neither of us had prior experience in web hosting, JavaScript, or using the ESP32 or L293D. We were very challenged in taking on this ambitious process, but we wanted to give it our all in our very first hackathon. We also had hardware issues, spending a lot of time searching for the right ESP32 connection cable and dealing with a broken DC motor (which we never managed to fix). In the end, bits and pieces of our project work, but Rosi as a whole remains unfinished. The web dashboard only controls an LED, and our ultrasonic and servo motors were not fully connected.

Accomplishments that we're proud of

We successfully implemented a web server that can be used to interact with our ESP32 board, though it is currently limited to turning LED lights on or off. The web server is live at We successfully debugged and solved several code issues. We successfully drew from our background in mechanical engineering, by creating and printing CAD models of a functional chassis, including a smartphone mount. We are also proud we pushed ourselves out of our comfort zone to try a project like this!

What we learned

A little bit about a lot of things- mastering nothing. We honed our problem-solving skills, though in the end the problems overtook us.

What's next for Rosi?

We envision a bright future for Rosi- where many people can own and interact with them, to feel more connected with their friends and loved ones. Maybe many Rosis could interact with each other! Imagine walking into a conference room and seeing it inhabited entirely by Rosis- the virutal avatars of teams and groups that cannot meet in person. We would love to see Rosi continue to bring connection and fun to people's lives.

Here's a Poem We Wrote

Rosis are red Violets are blue We tried our best How did we do?

Built With

Share this project: