Skip to content
jurididevichPublic

About

πŸŒ€ GyroCube: ESP32 + MPU-9250 IMU cube tracker. WiFi setup + OSC quaternions. Open hardware prototype.

Topics

Resources

Stars

1 star

Watchers

2 watching

Forks

Latest commit

Β 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GyroCube Core (Legacy v1.0)

Overview

GyroCube is a wireless tangible interface for music and media art, based on ESP32 and IMU sensor fusion. It transmits orientation data (Quaternions) via OSC over UDP to any compatible software (Max/MSP, TouchDesigner, Unity, etc.).

πŸ–ΌοΈ Gallery

Design Overview Exploded View
PCB Layout Case Assembly

Open Hardware Prototype Evolution (2023)

πŸ“Έ Gallery

Core Module Charging Live Demo Final Stack
Case Parts Assembly Structure Full Kit

πŸš€ Features

  • Wireless OSC Transmission: Real-time data streaming over WiFi.
  • IMU Sensor Fusion: Stable quaternion data using Madgwick/Kalman filtering, with gain/memory tunable from the web interface.
  • Raw IMU Streaming: Raw accelerometer/gyroscope samples broadcast alongside the filtered quaternion stream.
  • Battery Monitoring: Periodic battery voltage sampling, included in every data packet.
  • Status LED: Onboard LED indicates the device is powered and running.
  • Deep Sleep Mode: Battery saving with wake-up on motion/button.
  • Web Interface: Easy configuration of WiFi and OSC targets (no hardcoding needed).

πŸ› οΈ Hardware & Pinout

Microcontroller: ESP32 (WROOM/DevKit)
IMU Sensor: MPU-9250 (I2C)

Pin Configuration

Component ESP32 Pin Note
MPU-9250 SDA GPIO 21 I2C Data
MPU-9250 SCL GPIO 22 I2C Clock
Main Button GPIO 4 Wake up / Function
AP Switch GPIO 32 Toggle Access Point Mode
Status LED GPIO 18 Lit once setup completes
Battery Sense GPIO 33 Voltage divider input for battery level
Battery VIN 3.7V LiPo (via TP4056)

(See full schematics in hardware/pcb/schematics/)

πŸ“₯ Installation & Setup

  1. Firmware:

    • Open firmware/GyroCube_v1/GyroCube_v1.ino in Arduino IDE.
    • Install required libraries (see dependencies).
    • Select Partition Scheme: "No OTA (Large APP)" (Important!).
    • Upload to ESP32.
  2. Configuration (First Run):

    • Switch the AP Toggle (GPIO 32) to ON position.
    • Connect to WiFi network: GyroCube_<ID> (Password: 123454321).
    • Open browser at http://192.168.1.4.
    • Enter your WiFi credentials and Target IP (computer running Max/MSP).
    • Save and Reboot.
  3. Software:

    • Open software/MaxMSP/GCube_Receiver.mxf.
    • You should see incoming quaternion data.
  4. Alternative Receivers:

    • software/GyroCubeReceiver: standalone Windows (.NET/WinForms) UDP receiver with a live 3D cube visualizer.
    • software/GyroCubeUnity: Unity project with UDP receiver scripts for driving a GameObject's rotation from GyroCube data.

🧰 Utilities

Standalone Arduino sketches for bring-up and maintenance, in firmware/utilities/:

  • EEPROMEraser: Wipes the ESP32's emulated EEPROM (useful for resetting a unit to factory defaults).
  • I2CScanner: Scans the I2C bus and reports the address of any connected device (useful for verifying MPU-9250 wiring).

πŸ“¦ Bill of Materials (BOM)

Full component list is available here: Download BOM CSV.

Key Components:

  • MCU: ESP32-WROOM-32D
  • IMU: MPU-9250 (via I2C)
  • Power: TP4056 Charger + 3.7V LiPo Battery
  • Switch: Slide Switch (SPDT) & Tactile Button (6x6mm)
  • LEDs: 3mm Red/Green Common Anode

πŸ—οΈ Fabrication

  • PCB: Gerber files ready for manufacturing are available in hardware/pcb/production/.
  • Case: 3D printable STL files are in hardware/mechanical/stl/:
    • NN.2023.002.002_Case_Half_01_v16.stl β€” case, half 1
    • NN.2023.002.003_Case_Half_02_v16.stl β€” case, half 2
    • NN.2023.002.004_Vibration_Isolation_Platform_v5.stl β€” vibration isolation platform (internal mount)

βš–οΈ Legal Notice & Prior Art:
This project represents legacy R&D work (2020–2023). The core technology is based on research published in Springer Nature (July 2023) and serves as a Defensive Publication.
For detailed IP status, priority proofs, and patent notices, please refer to LEGAL.md.


License: Apache 2.0. See LICENSE for details.

About

πŸŒ€ GyroCube: ESP32 + MPU-9250 IMU cube tracker. WiFi setup + OSC quaternions. Open hardware prototype.

Topics

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages