Funscripted

Open source stroker robot by TempestMAx

OSR2 Funscripts: Setup Guide

The OSR2 is an open source stroker robot designed by TempestMAx that people build at home from 3D printed parts and servos. It speaks T-Code over USB and plays multi-axis funscripts, adding roll, pitch and twist to the usual stroke.

By the Funscripted team. Updated .

OSR2 at a glance

Designer
TempestMAx
How to get one
Build it from 3D printed and stock parts, or buy a pre-built unit
Motors
Two 180 degree servos. The OSR2+ adds a third for pitch.
Controller
Romeo BLE Mini or an ESP32 board
Connection
USB serial at 115200 baud. ESP32 boards can also use Wi-Fi.
Protocol
T-Code v0.3
Axes
Stroke and roll. Pitch with the OSR2+, twist with the T-wist add-on.
Power
Adjustable 3 to 12 V supply rated at 10 A

How to play funscripts on the OSR2

  1. 1Flash T-Code firmware. The official OSR2 firmware runs on the Romeo BLE Mini. ESP32 boards run TCodeESP32.
  2. 2Plug the OSR2 into your computer with USB and note its COM port.
  3. 3Install MultiFunPlayer. Add a Serial output and pick that COM port.
  4. 4Connect MultiFunPlayer to your video player. VLC needs its web interface turned on. DeoVR and HereSphere need remote control turned on.
  5. 5Put the scripts next to the video with the same name, such as video.funscript and video.roll.funscript, then press play.

Players that work with the OSR2

  • MultiFunPlayer

    The main multi-axis player. Free, open source, and drives every OSR2 axis over serial, UDP or WebSocket.

  • XTPlayer

    Free T-Code player for Windows, Linux and Mac.

  • Intiface Central

    Supports T-Code v0.3 at 115200 baud, but only the stroke axis.

  • HereSphere and DeoVR

    VR players that send their playback time to MultiFunPlayer, which moves the OSR2.

  • FapTap

    Web player that drives the OSR2 over serial, stroke axis only.

OSR2, OSR2+ and T-wist

BuildWhat it addsAxes
OSR2The base robot with two servosStroke (L0) and roll (R1)
OSR2+A pitch module with a third servoAdds pitch (R2)
T-wistA twist receiver with a 270 degree servoAdds twist (R0)

The OSR2 cannot surge or sway. Those two axes, L1 and L2, need an SR6.

Which script file drives which axis

Each axis reads its own file. Players find them by the video name. See the multi-axis guide for the full list.

FileAxisMotion
video.funscriptL0Stroke, up and down
video.roll.funscriptR1Roll, tilt left and right
video.pitch.funscriptR2Pitch, tilt forward and back
video.twist.funscriptR0Twist, turn around the stroke axis

T-Code in one minute

T-Code is a short text command sent over the USB serial line. Each command is a letter for the motion type, a channel number and a value. L means linear, R means rotate and V means vibrate.

L0500I1000
R1250I500

The first line moves the stroke axis to the middle (0.500) over 1000 ms. The second tilts the roll axis to 0.25 over 500 ms. You never type these yourself. MultiFunPlayer turns your funscripts into T-Code for you.

Tips for better sync

  • Set a speed limit per axis in MultiFunPlayer before your first run. It also has auto-home, a smart limit that ties one axis to another, and a soft start.
  • On ESP32 boards, TCodeESP32 can store range limits on the device, so every player respects them.
  • Servos are loud. The OSR parts list says brushed servos are the loudest.
  • If moves feel early or late, change the offset in MultiFunPlayer. See how to fix sync problems.

Find scripts for the OSR2

Every script on Funscripted is a standard .funscript file, so it plays on the OSR2 with any of the players above.

Frequently asked questions

Can I buy an OSR2?

The OSR2 is made to be built at home from 3D printed parts and servos. A few shops also sell pre-built units, some with quieter brushless servos.

Is the OSR2 open source?

TempestMAx calls the original OSR2 design fully open source and free. The pitch, twist and suction add-ons are only for his Patreon supporters.

What is the difference between the OSR2 and the OSR2+?

The OSR2+ adds a pitch module with a third servo. That gives it a pitch axis (R2) on top of the stroke and roll of the base OSR2.

Does the OSR2 work with Intiface Central?

Yes, but only for the stroke axis. Intiface Central treats a T-Code device as a single linear axis. Use MultiFunPlayer to drive roll, pitch and twist.

What firmware does the OSR2 use?

The official OSR2 firmware speaks T-Code v0.3 over USB at 115200 baud and runs on the Romeo BLE Mini. Its repository is now archived. ESP32 boards use TCodeESP32.

Can the OSR2 surge or sway?

No. Surge (L1) and sway (L2) need the six-servo SR6.

Related guides

Sources