Feel the bass, exactly when you hear it.
HaptiCaster is a Bluetooth audio bridge that receives audio from any source, forwards it to your headphones, and simultaneously drives a delay-adjusted analog signal to tactile transducers — so the haptics never drift out of sync.
One input, two perfectly-timed outputs
Every Bluetooth codec and headphone pair introduces its own latency. HaptiCaster measures and compensates for it, per device, so the felt and heard signal never split apart.
Receive
HaptiCaster pairs as a Bluetooth audio sink — accepting a stream from any phone, tablet, or laptop.
Forward & Delay
Audio is relayed onward to your Bluetooth headphones while a parallel analog path is time-shifted to match known headphone latency.
Drive
The compensated analog signal feeds tactile transducers directly — bass you feel, locked to the beat you hear.
Built for precision, not gimmicks
A focused hardware/firmware stack designed to solve exactly one hard problem: keeping wireless audio and wired haptics in sync.
Dual Bluetooth Role
Acts as a sink for your source device and simultaneously as a source to your headphones — a true transparent bridge.
Per-Device Latency Profiles
Store measured Bluetooth-headphone latency per paired device, and auto-apply the matching haptic delay on connect.
Analog Tactile Output
A dedicated, amplified analog line drives transducers directly — no extra DAC or amp box needed downstream.
ESP32-S3 Core
Runs on the dual-core ESP32-S3 for Bluetooth stack headroom plus DSP cycles to spare for filtering and delay.
Open Firmware
Fully open source and readable, built to be forked, tuned, and adapted to whatever tactile hardware you're driving.
Hardware-Agnostic Tactile Channel
Drive any transducer-based setup — beds, chairs, vests, or DIY builds — through a simple wired analog interface.
Wherever haptics need to be in sync
Haptic Beds
Immersive gaming and cinema beds where bass needs to hit the body exactly on beat.
Haptic Chairs
Sim rigs and home theater seating with embedded transducers.
Haptic Vests
Wearable tactile feedback for music, gaming, and accessibility use.
DIY & Research
Open firmware for makers building custom wireless-to-tactile rigs.
Specs & the sync logic
Full bill of materials and wiring are in the project README — here's the core of what makes it tick.
| MCU | ESP32-S3 |
| Input | Bluetooth A2DP sink |
| Headphone Output | Bluetooth A2DP source (relay) |
| Tactile Output | Delay-compensated analog line |
| Compensation Model | Per-device latency profile |
| Firmware License | Open source |
| Target Loads | Tactile transducers (beds / chairs / vests) |
| Full BOM & Wiring | See project README |
// simplified — apply per-device delay // before writing to the tactile DAC line void haptic_output_task(device_profile_t *dev) { const uint32_t delay_ms = dev->measured_bt_latency_ms; audio_frame_t frame; while (1) { frame = ring_buffer_read(&audio_in, delay_ms); apply_lowpass(&frame, dev->cutoff_hz); dac_write(HAPTIC_CHANNEL, frame.sample); } }
Full parts list & assembly notes — resistor values, transducer amp wiring, and the complete BOM live in the GitHub README.
Read the README →Open firmware. Build your own.
HaptiCaster's firmware and hardware notes are fully open source. Clone it, flash an ESP32-S3, and adapt the tactile channel to whatever you're driving.
Building on it? Get in touch.
Questions about the firmware, hardware collaboration, or integrating HaptiCaster into a haptic bed, chair, or vest project — reach out directly.
-
Source & Issues GitHub is the best place for bugs, forks, and pull requests.
-
Direct Contact Use the form for collaboration or hardware inquiries.