PickleRick: Smart Pickleball Paddle

Inspiration

We all love playing pickleball and wanted to create a smart pickleball paddle.

What It Does

It calculates different metrics such as speed, RPM, and spin type using sensors and displays them on an app that we built via Bluetooth connection.

How We Built It

Hardware

  • Embedded IMU sensors (accelerometer + gyroscope) into a custom pickleball paddle
  • ESP32 microcontroller to process sensor data and send it via Nimble Bluetooth library
  • 3D printed case to hold breadboard to the back of the pickleball paddle

Software

  • Used MVVM design pattern to ensure scalable and maintainable code structure
  • Native iOS app built with SwiftUI for real-time data visualization
  • Bluetooth Low Energy integration using CoreBluetooth framework for paddle to phone connectivity
  • Firebase Firestore database to store all user data(UserId, ShotId, UserStatsId), Firebase Auth for login authentication

Challenges We Ran Into

  • Calibrating sensors to accurately measure speed and spin from paddle motion
  • Maintaining stable Bluetooth connection during active gameplay
  • Distinguishing between different shot types and spin patterns from raw sensor data
  • Balancing power consumption with real-time data transmission

Accomplishments That We're Proud Of

  • Built a seamless hardware-software integration with reliable Bluetooth connectivity
  • Created a visually appealing app interface for instant shot feedback

What We Learned

  • How to process and interpret IMU sensor data for sports analytics
  • Working with Bluetooth library for real-time data streaming
  • Combining hardware engineering with iOS development

What's Next for PickleRick

  • Implement 3D shot trajectory visualization (placeholder already in app)
  • Add game tracking and performance analytics over time
  • Machine learning for automatic shot type detection
  • Social features: challenges and stat sharing
  • Video integration to sync shots with recorded gameplay footage

Built With

  • corebluetooth
  • esp32
  • firebase
  • firebaseauth
  • firestore
  • imu
  • rtos
  • swift
  • swiftui
Share this project:

Updates