Inspiration

Maybe it was the surge of green that overcame the winter where we live. Or maybe it was just a sudden sparked idea that we had. Well, one thing we know for sure is that we wanted to create something that allowed someone who felt "impactless" to have an impact.

What it does

Overall, bebop! is a game that allows anyone to go on a site and play while planting seeds by controlling a drone in real-time. This game consists of using the arrow and wasd keys to move a target and aim at cute color blobs on the screen. Using these keys, controls a drone in real-time (using web sockets!) which is reflected on the video stream that is shown on the game screen.

There are 3 main things in bebop!: the client-side react app, a raspberry pi camera, and an Arduino-controlled drone.

client-side react app The site/game was made on react and uses web sockets to constantly send and receive data to control the drone. The video stream used "jmpeg" which is a library that allows mpegts streams to be decoded and shown on web pages.

raspberry pi camera A camera module is connected to a raspberry pi that is attached to the drone. The camera uses ffmpeg to deliver a mpegts stream through a web socket that allows the video stream to be shown on the client side. We used a Raspberry Pi 4 for this project.

the DRONE An arduino was used to create the drone. It uses 4 motors connected to a breadboard. The overall frame is 3d printed and a C++ is running that allows the motors to be activated and ran through websockets that the script receives. The sockets come directly from the client react app.

Challenges we ran into

There were SO many challenges we ran into. First, none of us had ever made a complete drone. Getting the drone CADed and 3d printed took up most of Friday night, and after we had the printed drone it was also difficult getting the drone built and soldered. We also had to make a seed dispenser that had a mechanism to dispense seeds from a keyboard control on the client side.

The main issue we ran across is that because we were on a time constraint we realized later on that our Lipo batteries had too low of a discharge in order to use for our drone.

Accomplishments that we're proud of

I mean, we literally made a drone in less than 3 days! We are more than proud of that and adding on to that we are able to control the drone through a browser where anyone can control it!

Share this project:

Updates