Everything you need to run a session — from wiring your electrodes to driving the signal. ReDrive shapes the signal in the browser; ReStim plays it out to your hardware. This manual covers both ends.
ReDrive never touches hardware. It generates a live T-code signal in the browser and relays it, over the internet, to a rider’s local ReStim install — which plays it out to whatever box they run.
ws://localhost:12346.A driver holds a room; one or more riders connect with the room code and bridge in. Everything is live — there is no recording in the middle.
12346) starts on its own.ReStim starts its WebSocket server automatically on startup (port 12346) — there’s nothing to switch on. ReDrive’s rider page connects to ws://localhost:12346/tcode for you. If you’ve changed the port, set the address in the rider page’s bridge panel (ReStim address).
Setup → Device Selection. For an audio / StereoStim box choose Audio-based three-phase → pick Pulse-based, Continuous, or the experimental A/B → set your frequency min–max → Finish. FOC-Stim and NeoStim are selected the same way.
ReDrive outputs on ReStim’s default Funscript/T-Code axes. If you’ve customised yours, set them back to these or the signal lands on the wrong axis:
| Parameter | T-code axis | Range |
|---|---|---|
| volume | V0 | 0 … 1 |
| beta (position) | L1 | −1 … 1 |
| alpha (position) | L0 | −1 … 1 |
| gamma | unassigned | — |
L0 as volume (a custom map), it will hear ReDrive’s alpha as your volume and cap it around 50%. Restore the defaults above.Placement decides whether what the driver touches matches what you feel. On a standard three-phase FOC box, wire the three channels like this:
| Channel | Wire | Placement |
|---|---|---|
| B · left | Blue | cock head |
| A · neutral | Red | base |
| C · right | Yellow | anal |
Wired this way, the anatomy overlay reads true — the spot the driver drives is the spot you feel. For best alignment, build your body image with the overlay maker.
Three-phase stim places the sensation at a point inside a circle. Alpha is the up/down axis, beta is the left/right axis. The three electrodes are the poles:
Center = all three electrodes equal (broad, balanced).
Toward a pole = that electrode is favored. Distance from center = how strongly.
Neutral/base sits straight up; cock and anal are the two bottom corners. To favor a bottom corner you move down and to a side — alpha alone only reaches the top pole.
Three tabs, each an independent source of signal:
The SOURCES row lets you enable/disable each. Priority is Script > Controls > Touch per axis — and a playing script takes over completely (see §11). Master volume/intensity is shared across all three tabs; the big STOP (octagon) halts everything at once.
On the Controls tab, the pattern shapes how volume moves over time. Each button draws its own waveform behind the label.
| Pattern | Feel |
|---|---|
| Hold | Steady at the set intensity. |
| Sine | Smooth swell up and down. |
| Ramp ↑ / ↓ | Rise then reset / fall then reset. |
| Pulse | Triangle throb. |
| Burst | Square on/off. |
| Random | Smooth wandering noise. |
| Edge | Slow build → hold → quick drop → rest. |
Speed (Hz) sets how fast the pattern cycles; Depth sets how far it dips (0 = flat = same as Hold, 1 = full swing to zero). Presets save and recall a whole configuration.
Where the sensation sits and how it moves along the electrodes:
| Mode | What it does |
|---|---|
| Sweep | Continuously slides position between center ± width. Adjustable Hz, width, and skew (dwell bias). |
| Spiral | Beta and alpha in quadrature — traces a circle; optional tighten. |
| Path | 2D trajectory shapes: Circle, Figure-8, Rose, Tremor, Panning, Vertical — with a speed control. |
| Hold | Parks position; set it with the quick-jump buttons. |
| Touch | Driven by the Touch tab / a recorded gesture loop. |
Toggle 4-Phase for four-electrode rigs (e1 cock, e2 balls, e3 perineum, e4 anal). Beyond the manual spread, named electrode patterns drive the four weights directly:
Each pattern has its own speed. A four-channel funscript still overrides these directly.
A live anatomy pad. Drag to place the sensation; the overlay shows the body.
| Control | Drives |
|---|---|
| Touch Y (up/down) | The point — which electrode: tip→cock, middle→base, bottom→anal. |
| Touch X (left/right) | The reach — left = centered/balanced across all electrodes, right = pinpoint on that point. |
| VOLUME slider | The master overall level (ReStim volume). Independent of where you touch. |
Load funscripts into per-axis slots (intensity, beta/position, alpha, or four-channel e1–e4). Filenames auto-detect the axis (e.g. scene.beta.funscript). Press play; scrub, loop, and offset as needed.
A position-only script needs a level: the Script volume slider is the master. If the script itself carries a .volume/.intensity axis, that drives volume instead.
While a script plays it is the sole source of truth: volume passes through un-patterned, position comes straight from the script, and Controls / Touch are muted — so it runs exactly as authored, no mixing. Pause or Stop returns control.
When the driver has a video loaded in the player, riders get a Watch-along card: one-click the driver’s shared URL, or load their own local copy of the file. Either way the rider’s video follows the driver’s play / pause / seek, kept in sync automatically.
Tap the bottle to fire a full-screen poppers cue on the rider’s screen with a countdown. The timing radios (Normal / Deep Huff / Double Hit) set the duration. It’s a visual cue only — it doesn’t change the stim.
For a first-time driver. You (the rider) set everything up, then hand off a link that opens a single touch pad — no dials, no menus. They just drag on the body to drive you.
Prefer no browser tab? A small cross-platform Python bridge forwards a room’s signal straight to your local ReStim from the command line — handy on Linux/Mac or if your browser blocks ws://localhost.
redrive_bridge.py.pip install websocketspython redrive_bridge.py YOURCODEIt’s a pure signal bridge — you lose the rider UI (feel orb, watch-along), but the stim is identical.
If a session drops, it’s almost always a server restart (rooms are in-memory) or a network hiccup — reconnect with the same link. If you feel a signal that isn’t from ReDrive, check ReStim’s media source is set to Internal.