Skip to main content

holocube

Control GeekMagic HelloCubic-Lite holographic cube display with HoloClawd firmware. Supports drawing API, pomodoro timer with lobster mascot, GIF uploads, and procedural animations.

Quellinformationen

Repository
Kernel8901/ai-agent-skills-classification
Letzte Quellaktivität
4. April 2026 um 15:26
Erkannte Sprache von SKILL.md
Englisch
Sterne
5
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
holocube
description
Control GeekMagic HelloCubic-Lite holographic cube display with HoloClawd firmware. Supports drawing API, pomodoro timer with lobster mascot, GIF uploads, and procedural animations.
homepage
https://github.com/andrewjiang/HoloClawd-Open-Firmware
metadata
{"clawdbot":{"emoji":"🦞","os":["darwin","linux"]}}
triggers
["holocube","holo cube","holoclawd","cubic","geekmagic","display gif","cube animation","pomodoro","lobster timer","water tracker","hydration","drink water"]
# HoloCube Controller Control the GeekMagic HelloCubic-Lite with HoloClawd firmware via REST API. **Firmware:** https://github.com/andrewjiang/HoloClawd-Open-Firmware ## Device Info - **Model:** HelloCubic-Lite with HoloClawd Firmware - **Display:** 240x240px ST7789 TFT - **Default IP:** 192.168.7.80 (configurable) ## Quick Start **Pomodoro Timer**: ```bash # Run pomodoro timer with lobster mascot (25 min work, 5 min break) cd ~/Bao/TimeToLockIn/HoloClawd-Open-Firmware/examples && uv run --script pomodoro.py # With custom task label (max 20 chars) cd ~/Bao/TimeToLockIn/HoloClawd-Open-Firmware/examples && uv run --script pomodoro.py --task "BUILD NETWORK" # With Spotify integration cd ~/Bao/TimeToLockIn/HoloClawd-Open-Firmware/examples && uv run --script pomodoro.py --task "LP UPDATE" --spotify-work "spotify:episode:5yJKH11UlF3sS3gcKKaUYx" --spotify-break "spotify:episode:4U4OloHPFBNHWt0GOKENVF" # Custom timings cd ~/Bao/TimeToLockIn/HoloClawd-Open-Firmware/examples && uv run --script pomodoro.py --work 50 --short 10 --long 20 ``` **Drawing API** (requires holocube_client.py from repo): ```bash # Draw something on the display python3 -c " from holocube_client import HoloCube, Color, draw_lobster cube = HoloCube('192.168.7.80') cube.clear(Color.BLACK) draw_lobster(cube, 120, 120) # Draw lobster in center " ``` ## Python Client Library The `holocube_client.py` module provides full programmatic control: ```python from holocube_client import HoloCube, Color, draw_lobster, draw_confetti cube = HoloCube("192.168.7.80") # Drawing primitives cube.clear("#000000") # Clear screen cube.pixel(x, y, color) # Single pixel cube.line(x0, y0, x1, y1, color) # Line cube.rect(x, y, w, h, color, fill=True) # Rectangle cube.circle(x, y, r, color, fill=True) # Circle cube.triangle(x0, y0, x1, y1, x2, y2, color) # Triangle cube.ellipse(x, y, rx, ry, color, fill=True) # Ellipse cube.roundrect(x, y, w, h, r, color, fill=True) # Rounded rectangle cube.text(x, y, "Hello", size=3, color="#00ffff") # Text # High-level helpers cube.centered_text(y, "Centered", size=2) cube.show_message(["Line 1", "Line 2"], colors=[Color.CYAN, Color.WHITE]) cube.show_timer(seconds, label="FOCUS") cube.show_progress(0.75, label="Loading") # Lobster mascot draw_lobster(cube, 120, 120) # Normal lobster draw_lobster(cube, 120, 120, happy=True, frame=0) # Party mode with confetti draw_confetti(cube, 120, 120, frame=1) # Animate confetti ``` ## Pomodoro Timer Full pomodoro timer with cute lobster buddy located in the HoloCube firmware repo: ```bash # Always run from the examples directory cd ~/Bao/TimeToLockIn/HoloClawd-Open-Firmware/examples # Default: 25 min work, 5 min break uv run --script pomodoro.py # With custom task label uv run --script pomodoro.py --task "CODE REVIEW" uv run --script pomodoro.py --task "BUILD NETWORK" # With Spotify integration (Andrew's favorite URIs) uv run --script pomodoro.py --task "LP UPDATE" \ --spotify-work "spotify:episode:5yJKH11UlF3sS3gcKKaUYx" \ --spotify-break "spotify:episode:4U4OloHPFBNHWt0GOKENVF" # Custom timings uv run --script pomodoro.py --work 50 --short 10 --long 20 # With trackers uv run --script pomodoro.py --water 2 --exercise 1 --focus 3 ``` **Location**: `~/Bao/TimeToLockIn/HoloClawd-Open-Firmware/examples/pomodoro.py` - Uses `spotify.sh` in the same directory for playback - Supports icon-based trackers (water, exercise, focus, pills) - Interactive command listener for live controls Options: - `--task`: Task label displayed during work (max 20 chars, auto-uppercased) - `--work`: Work duration in minutes (default: 25) - `--short`: Short break in minutes (default: 5) - `--long`: Long break in minutes (default: 15) - `--sessions`: Sessions before long break (default: 4) - `--spotify-work`: Spotify URI for work sessions - `--spotify-break`: Spotify URI for break sessions - `--water`: Water glasses consumed today - `--exercise`: Exercise sessions completed - `--focus`: Focus sessions completed - `--pills-done`: Mark daily pills as taken Features: - Lobster mascot watches you work (focused expression) - During breaks: happy lobster with twinkling confetti - Flashing alerts between sessions - Tracks completed sessions - Optional Spotify playback via AppleScript (macOS) - Icon-based trackers displayed on screen - Interactive command listener via keyboard ## Trackers The pomodoro timer supports visual trackers using the Kyrise icon pack. Pass tracker values as arguments to display them during your session: ```bash cd ~/Bao/TimeToLockIn/HoloClawd-Open-Firmware/examples # Water tracking (glasses consumed) uv run --script pomodoro.py --water 3 # Exercise sessions uv run --script pomodoro.py --exercise 1 # Focus sessions completed uv run --script pomodoro.py --focus 2 # Pills taken today uv run --script pomodoro.py --pills-done # Combine multiple trackers uv run --script pomodoro.py --task "DEEP WORK" --water 3 --exercise 1 --focus 2 ``` Tracker icons appear on the HoloCube display with their current counts. ## Stock Firmware Tools ### holocube.py - GIF Upload (Stock Firmware) ```bash uv run --script holocube.py upload animation.gif uv run --script holocube.py show animation.gif uv run --script holocube.py list ``` ### gifgen.py - Procedural Animation Generator ```bash uv run --script gifgen.py fire output.gif uv run --script gifgen.py plasma output.gif uv run --script gifgen.py matrix output.gif uv run --script gifgen.py sparkle output.gif ``` ## Drawing API Endpoints HoloClawd firmware exposes these REST endpoints: ```bash # Clear screen curl -X POST http://192.168.7.80/api/v1/draw/clear -d '{"color":"#000000"}' # Draw shapes curl -X POST http://192.168.7.80/api/v1/draw/circle -d '{"x":120,"y":120,"r":50,"color":"#ff0000","fill":true}' curl -X POST http://192.168.7.80/api/v1/draw/rect -d '{"x":10,"y":10,"w":100,"h":50,"color":"#00ff00"}' curl -X POST http://192.168.7.80/api/v1/draw/triangle -d '{"x0":120,"y0":50,"x1":80,"y1":150,"x2":160,"y2":150,"color":"#0000ff"}' curl -X POST http://192.168.7.80/api/v1/draw/ellipse -d '{"x":120,"y":120,"rx":60,"ry":30,"color":"#ffff00"}' curl -X POST http://192.168.7.80/api/v1/draw/line -d '{"x0":0,"y0":0,"x1":240,"y1":240,"color":"#ffffff"}' curl -X POST http://192.168.7.80/api/v1/draw/text -d '{"x":60,"y":100,"text":"Hello","size":3,"color":"#00ffff"}' # Batch multiple commands curl -X POST http://192.168.7.80/api/v1/draw/batch -d '{"commands":[...]}' ``` ## Firmware **Source:** https://github.com/andrewjiang/HoloClawd-Open-Firmware Build and flash: ```bash git clone https://github.com/andrewjiang/HoloClawd-Open-Firmware.git cd HoloClawd-Open-Firmware pio run # Build curl -X POST -F "file=@.pio/build/esp12e/firmware.bin" http://192.168.7.80/api/v1/ota/fw ``` ## Color Reference ```python Color.BLACK = "#000000" Color.WHITE = "#ffffff" Color.RED = "#ff0000" Color.GREEN = "#00ff00" Color.BLUE = "#0000ff" Color.CYAN = "#00ffff" Color.MAGENTA = "#ff00ff" Color.YELLOW = "#ffff00" Color.ORANGE = "#ff6600" Color.PURPLE = "#9900ff" ``` ## Troubleshooting - **Can't connect**: Check WiFi, device should be at 192.168.7.80 - **Drawing slow**: Each HTTP call takes ~50ms, use batch API for complex drawings - **Screen flickers**: Only clear screen on first frame, use background colors for text updates
Auf GitHub ansehen