MOTION SPIKE



MotionSpike
Today, millions of individuals—especially children with ADHD, patients in physical rehabilitation, and fitness enthusiasts—face challenges staying engaged with traditional therapy, exercise, and learning routines. These activities often lack motivation, real-time feedback, and personal connection, making long-term progress difficult.
MotionSpike is our answer to that challenge: a smart, wearable system that transforms physical movement into interactive gameplay and health tracking. It’s designed not just to monitor motion, posture, and heart rate, but to actively make the experience fun, rewarding, and engaging.
🎮 Using motion sensors (MPU6050, ADXL354), a heart rate and SpO2 monitor (MAX30102), and real-time wireless communication, users can control games like Dino Jump or perform tracked exercises such as push-ups. The data is collected via ESP32 and displayed on a custom dashboard, showing motion data, heart rate, oxygen levels, and user progress.
What makes MotionSpike special?
- ✔️ Dual-player capability for friendly competition
- ✔️ Gesture-based control of real games and workouts
- ✔️ Real-time health insights for better tracking and recovery
- ✔️ Modular and affordable design aligned with Make in India & Digital India
With its joyful interface and scientific backing, MotionSpike encourages movement, improves posture, supports therapy, and adds value in educational, clinical, and home settings.
We believe MotionSpike has the potential to redefine how we move, play, and heal—turning everyday motion into measurable, meaningful progress.
Downloads
Supplies
Tools & Materials Used in MotionSpike
️ Microcontrollers & Communication
- 2× Seeed XIAO Boards – Compact, powerful, and includes a built-in Li-Po battery charging module
- 1× ESP32 Development Board – Acts as the master controller and Wi-Fi hub
- Micro USB Cables – For programming and powering the boards
Sensors
- 2× MPU6050 Modules – Accelerometer + gyroscope for motion tracking
- 2× ADXL354 Accelerometers – For precise 3-axis movement data
- 2× MAX30102 or MAX30201 – Heart rate and SpO2 monitoring
- 2× Magnetometers (HMC5883L or similar) – For direction and orientation sensing
Power & Connectivity
- 2× Rechargeable Li-Po Batteries (3.7V) – To power the wearable units
- Jumper Wires (Female-to-Female) – For connecting sensors and modules
- Mini Breadboards or Custom PCBs – Used during prototyping phase
️ Software & Visualization
- Arduino IDE – To code and upload firmware to XIAO and ESP32
- Python Scripts (on Laptop) – To process data and control the game
- Web Dashboard (Custom) – Displays real-time motion, heart rate, SpO2, and logs
Gaming & Interaction
- Laptop or PC – To run the game, show data, and handle communication
- (Optional) External Display – For multiplayer display or kiosk mode
Design & Enclosure
- Fusion 360 – Used to design and 3D model the wearable case and mounting setup
- 3D Printer + PLA Filament – To print custom enclosures for the wearable units
Assemble the Wearable Bands & Master Controller

🛠 What You'll Need (For Each Band)
- ✅ 1x Seeed XIAO (ESP32 or SAMD21)
- ✅ 1x MPU6050 – Accelerometer & Gyroscope
- ✅ 1x MAX30102 – Heart Rate & SpO2 Sensor
- ✅ 1x Magnetometer – (e.g., HMC5883L for direction)
- ✅ 1x LED – Status indicator
- ✅ 1x Push Button – For calibration/reset
- ✅ 1x LiPo Battery (3.7V) – Rechargeable
- ✅ Jumper Wires, Breadboard or Soldering Kit
- ✅ Fusion 360 STL File – 3D-printed enclosure
🔌 Connections & Circuit Diagram
All sensors are connected to the XIAO via I2C:
How Data Transfers Between XIAO and ESP32

How MotionSpike Works
Imagine turning your body into a game controller — now imagine doing that with a friend. That’s exactly what MotionSpike is all about!
Dual-Player Motion & Health Tracking
MotionSpike is an interactive system that combines wearable tech and wireless data streaming to transform physical movements into digital inputs. Whether it’s a jump in Dino Run or a perfect push-up rep, your body becomes the controller!
System Overview
We use:
- 2 x Seeed Studio XIAO microcontrollers (one per player)
- 1 x ESP32 (acts as the central master)
- Sensors per XIAO:
- MPU6050 – For motion and orientation
- MAX30102 – For heart rate and oxygen level
- Magnetometer – For directional heading
Each player wears a band powered by the XIAO board, capturing motion and biometric data in real-time. This data is then wirelessly sent to the ESP32, which acts as the Wi-Fi Access Point and data receiver.
Communication Flow
Each XIAO device:
- Connects to the ESP32 using UDP over Wi-Fi.
- Sends formatted sensor data packets continuously.
The ESP32:
- Hosts the Wi-Fi network (SSID: Master, Password: 12345678).
- Listens for UDP packets on port 12345.
- Parses data and displays it on the Serial Monitor.
- Optionally forwards data to a connected Python application for gesture recognition and game control.
Software Flow
- xiao_player0.ino and xiao_player1.ino: Handle sensor reading and UDP transmission for Player 1 and Player 2.
- esp32_master.ino: Receives, parses, and outputs all incoming data.
- A Python game control script (on the laptop) interprets this data to trigger actions like jumps, squats, and punches.
Running the Dashboard, Python Scripts & Games





1. Start the Web Dashboard
The dashboard gives you a visual view of your motion data, heart rate, and session logs. It’s also the control center for starting and configuring sessions.
✅ How to Run:
- Navigate to the website/ folder.
- Open index.html in any modern browser (Chrome, Edge, Firefox).
- You’ll now see the dashboard UI.
- Ensure your ESP32 is powered on and receiving data — sensor values should update in real-time.
⚠️ Tip: If the visuals don’t update, make sure your ESP32 is connected, and all scripts are running.
2. Launch Python Scripts (Exercise Detection & Game Control)
The Python scripts receive sensor data from the ESP32 and perform real-time activity detection — such as jumping, pushing, or waving.
✅ How to Run:
- Go to the python/ folder.
- Open a terminal or command prompt window.
- Run the desired script using
python jump_detect.py or python pushup_detect.py
- These scripts will:
- Listen to ESP32's serial data.
- Detect motions like jumps or push-ups.
- Trigger game actions or count reps.
💡 Each script is designed modularly — you can swap or add new gestures anytime!
GOOGLE DRiVE LINK FOR CODES :~
" https://drive.google.com/file/d/1NDmcUJYDLz_Ao7ndebrinZTH7lDjHbhv/view?usp=sharing "
3D Design and Enclosure

To give MotionSpike a professional and wearable look, we designed custom enclosures using Fusion 360, a powerful 3D modeling software. This allowed us to create a compact, ergonomic band that securely holds the XIAO boards, sensors, and battery modules.
Key points:
- The enclosure is designed to fit comfortably on the wrist or arm, ensuring sensors maintain good contact for accurate readings.
- Fusion 360 helped us design precise mounting points for all hardware components, making assembly easy and reliable.
- The 3D printed case protects sensitive electronics from damage during active movement.
- Using 3D printing, the enclosure can be easily customized for different users or upgraded with additional features.
- The design supports the built-in battery charging module of the XIAO, allowing seamless power management without removing the device.
This 3D design step is essential for transforming the electronic components into a polished, user-friendly wearable system, making MotionSpike ready for real-world use in gaming, fitness, and rehabilitation.
user can fit system as they needed .