I wanted to practice communicating between Android and Raspberry Pi over WiFi so I can make smart home devices in the future (maybe at the next BrickHack). This project was originally supposed to have the Raspberry Pi control a self-balancing robot, but the robot didn't come together due to technical difficulties. But, I was still able to use the connection I made between my Android app and the Pi.

What it does

You move a joystick on the Android phone screen, and a little shape moves around on the display connected to the Raspberry Pi. "Holy Toledo, this is better than Clippy" - Bill Gates

How we built it

We wrote an Android app with a couple of different UIs - at first, a grid of squares you could drag over to create a path for the robot. We were able to send the path coordinates to the Raspberry Pi over a TCP connection. When it became clear the robot would not come to fruition, we added a new UI to the Android app, with a virtual joystick we got from a 3rd-party library. We were able to send commands to the Raspberry Pi using the joystick as input. Now we plan to write a simple GUI for the Pi using JavaFX which will let us control an icon on the Pi's screen using our Android app. Hopefully we will complete this before the deadline!

Challenges we ran into

Our robot did not work at all due to sub-par components. That was disappointing.

Accomplishments that we're proud of

We were able to communicate between the Android app and the Raspberry Pi over TCP, sending data back and forth both ways. That was pretty awesome!

What we learned

You can't trust robots.

What's next for Android 2 Pi Experiment

Finishing the robot so we can control it with the app, and/or using the Pi and Android app to create a smart home device of some sort.

Share this project: