Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

HAPTIC.SKIN — API Reference

Developer documentation for HAPTIC.SKIN, an open-source haptic navigation wearable: a neck-worn band of 8 vibration motors that points you toward your destination.

This site documents the three programmable surfaces of the system — not the project itself (for the project, hardware and BOM, see the GitHub repository).

SurfaceWhat it isReference
Python APIThe haptic_skin package — drive the necklace, run patterns, parse routes. The high-level entry point for applications.Python API
Firmware APIThe Rust + Embassy firmware running on the Pico (RP2040): motor driver, protocol parser, power guard.Firmware API
Serial protocolThe binary wire protocol between host and device over USB CDC-ACM.Serial protocol

One-liner

from haptic_skin import haptic

haptic("turn_left", 0.8)   # buzz the left motor at 80 %

By default the package talks to a built-in simulator, so you can develop with no hardware attached. Set HAPTIC_SKIN_PORT=/dev/ttyACM0 to drive a real Pico.

Architecture

flowchart LR
    APP["Your app\n(Python)"] --> PKG["haptic_skin\n(necklace, patterns, nav)"]
    PKG -->|"binary frames\nUSB CDC-ACM"| FW["Pico firmware\n(Rust + Embassy)"]
    FW -->|"8× PWM"| M["8× ERM motors"]

License

Code is MIT, documentation CC BY-SA 4.0, hardware CERN-OHL-P v2 — see Licensing.