Skip to content

GoneDotNet/disneybots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Disney Droids Logo

Disney Droids

Cross-platform .NET MAUI apps for discovering, controlling, and chatting with
Disney Droid Depot droids via Bluetooth Low Energy (BLE).

This repo contains two apps and a shared BLE library:

App Platforms What it does
DisneyDroids Android, iOS Manual droid control — scan, connect, drive, play sounds
DisneyDroids.MacOS macOS AI-powered droid companion — chat with your droid, webcam vision

Mobile App (Android & iOS)

The mobile app gives you direct, hands-on control of your droid.

Droid Discovery

  • Scan for nearby Disney droids over Bluetooth Low Energy
  • Live RSSI signal strength display
  • Automatic droid type detection from BLE manufacturer data
    • R-Series (R2-D2, C1-10P, etc.)
    • BB-Series (BB-8)
    • BD-Series (BD-1)

Movement Controls

  • D-Pad layout for forward, backward, left, and right driving
  • Immediate stop command
  • Adjustable motor power (32–255)
  • Configurable movement duration (100–2000 ms)

Head Rotation (R-Series)

  • Rotate head left and right
  • Center head to neutral position
  • Automatically disabled for BB-Series and BD-Series droids

Sound Playback

  • 9 themed sound banks: General, Droid Depot, Resistance, Dok-Ondar's, First Order, Detector, Activation, Blaster, and Thruster
  • Cycle through tracks within a sound bank
  • Adjustable volume control (0–100%)

Connection Management

  • One-tap connect with 30-second timeout
  • Graceful disconnect
  • Live connection status indicator
  • Automatic heartbeat keep-alive (10-second interval)
  • Disconnect detection via reactive observables

Setup Instructions

  • Built-in step-by-step guide for powering on R-Series and BB-Series droids
  • Tips for Bluetooth pairing, range, and troubleshooting

macOS App

The macOS app turns your droid into an AI-powered companion. Instead of manual controls, you chat with your droid in natural language and it acts on your commands.

AI Chat

  • Conversational interface powered by GitHub Copilot
  • Authenticate via GitHub device flow (opens browser automatically)
  • The AI stays in character — terse, playful, and beepy
  • Chat history with reset support

AI-Controlled Movement & Sound

The AI has access to all droid capabilities as tools and will use them in response to your messages:

  • Drive forward, backward, turn left/right
  • Rotate head (R-Series)
  • Play sounds from any of the 9 sound banks
  • Adjust volume
  • Emergency stop

Webcam Vision

  • The droid can "see" through your Mac's webcam
  • Ask the droid to look around and it will capture a frame and describe what it sees
  • Uses native AVFoundation for low-latency 640x480 JPEG capture
  • Camera starts on demand and auto-manages its lifecycle

Droid Discovery

  • Same BLE scanning as the mobile app
  • Select a droid from the scan list and navigate to the chat interface

Architecture

Project Description
DisneyDroids.Ble Reusable BLE library implementing Disney's proprietary droid command protocol. Targets net10.0, Android, iOS, and macOS.
DisneyDroids .NET MAUI mobile app with manual droid controls for Android and iOS
DisneyDroids.MacOS .NET MAUI macOS app with AI chat, tool-use, and webcam vision

Patterns & Practices: MVVM · Dependency Injection · Reactive Streams · Shell Navigation · Microsoft.Extensions.AI

3rd Party Libraries

Library Version Used By Description
Shiny.BluetoothLE 4.1.0-beta Ble Cross-platform BLE client for scanning, connecting, and communicating with peripherals
Shiny.Hosting.Maui 4.1.0-beta Mobile MAUI hosting integration for Shiny services and dependency injection
Shiny.Maui.Shell 5.0.0 Mobile, macOS Shell navigation extensions with source-generated routing
CommunityToolkit.Mvvm 8.4.2 Mobile, macOS Lightweight MVVM framework with source generators for ObservableObject and RelayCommand
Microsoft.Extensions.AI 10.4.0 macOS Unified AI abstractions for chat clients, tool calling, and function invocation
Platform.Maui.MacOS 0.3.0 macOS Enables .NET MAUI apps to run natively on macOS
System.Reactive 6.0.1 Ble Reactive Extensions (Rx) for composing asynchronous event-based streams
Microsoft.Extensions.Logging.Debug 10.0.5+ Mobile, macOS Debug output logging provider for development diagnostics

Platforms

Platform Minimum Version
Android API 23+
iOS 15.0+
macOS 14.0+

Target Framework: .NET 10.0

License

This project is licensed under the MIT License.

About

Control Disney Droids using .NET MAUI, AI, & Shiny BluetoothLE - iOS, Android, & MacOS AppKit

Resources

License

Stars

Watchers

Forks

Contributors

Languages