Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Control Sphero Mini robot ball via Bluetooth Low Energy. Roll, change colors, read sensors, draw shapes, and play with cats. Uses bleak for cross-platform BLE support (macOS/Windows/Linux).
Control Sphero Mini robot ball via Bluetooth Low Energy. Roll, change colors, read sensors, draw shapes, and play with cats. Uses bleak for cross-platform BLE support (macOS/Windows/Linux).
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Control your Sphero Mini robot ball via Bluetooth Low Energy using Python and bleak.
๐จ LED Control - Change main LED color and back LED intensity ๐ฏ Movement - Roll in any direction at variable speeds ๐ฒ Random Mode - Cat play mode with unpredictable movements ๐ Draw Shapes - Squares, stars, circles with programmable patterns ๐ Power Management - Wake, sleep, and check battery status ๐งญ Heading Control - Reset and control orientation ๐ฅ๏ธ Cross-platform - Works on macOS, Windows, and Linux (uses bleak, not bluepy)
All platforms: pip3 install bleak
macOS/Windows: Use the included scan script: python3 scripts/scan_sphero.py Look for a device named like "SM-XXXX" (Sphero Mini).
Edit the scripts and replace SPHERO_MAC with your device's address.
python3 scripts/scan_sphero.py
import asyncio from sphero_mini_bleak import SpheroMini async def change_color(): sphero = SpheroMini("YOUR-MAC-ADDRESS") await sphero.connect() await sphero.wake() # Set to red await sphero.setLEDColor(255, 0, 0) await asyncio.sleep(2) await sphero.disconnect() asyncio.run(change_color())
import asyncio from sphero_mini_bleak import SpheroMini async def roll_forward(): sphero = SpheroMini("YOUR-MAC-ADDRESS") await sphero.connect() await sphero.wake() # Roll forward at speed 100 await sphero.roll(100, 0) await asyncio.sleep(3) # Stop await sphero.roll(0, 0) await sphero.disconnect() asyncio.run(roll_forward())
python3 scripts/cat_play.py Makes Sphero move randomly for 1 minute with color changes - perfect for playing with cats!
# Draw a square python3 scripts/draw_square.py # Draw a star python3 scripts/draw_star.py
# Set specific color python3 scripts/set_color.py red python3 scripts/set_color.py 255 0 128 # Custom RGB
# Roll (speed: 0-255, heading: 0-359 degrees) await sphero.roll(speed=100, heading=0) # Forward await sphero.roll(100, 90) # Right await sphero.roll(100, 180) # Backward await sphero.roll(100, 270) # Left await sphero.roll(0, 0) # Stop
# Main LED color (RGB values 0-255) await sphero.setLEDColor(red=255, green=0, blue=0) # Red await sphero.setLEDColor(0, 255, 0) # Green await sphero.setLEDColor(0, 0, 255) # Blue await sphero.setLEDColor(128, 0, 128) # Purple # Back LED brightness (0-255) await sphero.setBackLED(255) # Full brightness await sphero.setBackLED(0) # Off
# Wake from sleep await sphero.wake() # Go to sleep (low power, BLE still on) await sphero.sleep() # Check battery voltage voltage = await sphero.getBatteryVoltage() print(f"Battery: {voltage}V")
Wake Sphero: Shake it to wake from deep sleep before connecting Connection timeout: If connection fails, shake Sphero and try again Finding Sphero: After scripts finish, Sphero is set to white for easy visibility Cat safety: Use soft surfaces when playing with cats to avoid damage
The cat play mode script makes Sphero: Move in random directions (40-120 speed) Change colors randomly (6 vibrant colors) Stop unpredictably (30% chance for brief pauses) Run for exactly 1 minute End with white color so you can find it Perfect for entertaining cats! ๐ฑ
Shake Sphero to wake it up Ensure it's not connected to the Sphero Edu app Check MAC/UUID address is correct Try increasing timeout in sphero_mini_bleak.py
Call await sphero.wake() first Wait 1-2 seconds after waking Check battery level
Add await asyncio.sleep(0.5) between color changes Ensure you called await sphero.wake()
This skill uses: sphero_mini_win by trflorian - Sphero Mini control library using bleak bleak - Cross-platform Bluetooth Low Energy library Note: This library is for Sphero Mini only. For other Sphero models (BB8, SPRK+, Bolt), use pysphero instead.
Create your own movement patterns: async def figure_eight(): # Draw a figure-8 pattern for i in range(2): # Two loops for heading in range(0, 360, 10): await sphero.roll(80, heading) await asyncio.sleep(0.1)
async def rainbow(): colors = [ (255, 0, 0), (255, 127, 0), (255, 255, 0), (0, 255, 0), (0, 0, 255), (75, 0, 130), (148, 0, 211) ] for r, g, b in colors: await sphero.setLEDColor(r, g, b) await asyncio.sleep(1)
SKILL.md โ This file references/api.md โ Complete API reference references/troubleshooting.md โ Common issues and solutions scripts/ โ Ready-to-use example scripts
MIT
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.