One member on our team is interested in skating, and he noted that the 2020 Summer Olympics are the first year that skateboarding will be a part of it. He noted that judging for skateboarding is usually very objective, so we realized that we could use IOT technology to make judging more objective. While we were creating it, we realized that the product could not only easily be extended to skateboarders for practical purposes, but also other sports like surfing, gymnastics, and figure skating, where judging can be very objective even though the motions are very specific.

What it does

We created a small device for skaters to attach to their board in order to collect key data that would allow us to make judging more subjective, and, as a bonus, provide insight to viewers and skaters globally. The device collects gyroscopic and acceleration data, and analyzes it to determine what trick is being performed, and the angles at key moments in the trick. Specifically, the angle of the board relative to the ground at its apex (considered how "rocketed" it is), and the angle of the board when it lands relative to when it leaves the ground (considered how "sketch" the landing is), are strong ways to quantitatively determine the strength and preciseness of a trick. In addition, the maximum height of the board during a trick, the speed of the board, and many other factors can be very useful data points to collect for analysis.

We then created a mobile app that makes it easy for anyone (judges, skaters, and viewers of the sport) to keep track of the progress of skaters that use our device while practicing and during the competitions. It also provides statistics and data visualization of different factors so that skaters can easily view their progress for specific tricks and their level of sketch, rocketed amount, etc.

How we built it

We built the IOT device with a Raspberry Pi and an Adafruit LSM9DS1 6 axis gyroscopic sensor, the backend that the Raspberry Pi communicates with Javascript and MongoDB, and the mobile app was built with Swift and the SwiftUI framework.

Challenges we ran into

We really struggled with inaccurate values coming from the gyroscopic sensor (could be solved with a more expensive sensor) and calibrating the gyroscope. We also struggled with creating a mounting component for our device because the 3D printer we were trying to use was very badly calibrated. Another challenge that we ran into was that even though we wanted (and want to in the future) support bluetooth connection directly to a phone, communicating between a Raspberry Pi and a mobile device is difficult because data is sent in a continuous data stream via bluetooth.

Accomplishments that we're proud of

One thing we are proud of is the idea, because we believe it can have many use cases with a few different target audiences, so there is a lot of potential. We are also proud of being able to create an IOT device that properly streams all the data we were looking to transmit, and also being able to create a fully functional UI for people to interact with, in less than 24 hours.

What we learned

We learned that communicating from a microcontroller to another device via bluetooth is very complicated. We also realized that 3D printed aren't as sturdy as one might think, and quality gyroscopes are very difficult to find for a reasonable price. Although unrelated to technology, we also learned a lot about skateboarding, and the many nuances that go into the sport.

What's next for AccuSkate

We would like to further work on the IOT device to be cheaper to produce (i.e. by using a mold for the mounting component and a custom circuit board instead of a raspberry pi), transmit more kinds of data (like board speed and jump height/air time), be able to recognize more complex tricks (50-50s, down rails, etc.), improving the UI for the mobile app, and expanding into other sports markets that have a similar need for objective judging.

Built With

Share this project: