Haptics & EMS
Haptic feedback uses tactile sensations to communicate information through touch, letting a person feel virtual objects, receive cues, and experience immersive effects. In wearable technology it is usually delivered through electrical stimulation, vibration, or temperature change. TESLASUIT uses electrical stimulation specifically: it stimulates the skin and muscles through an electrode array, not through vibration or heat, which makes its tactile sensations precise and fully programmable across the body.
TESLASUIT delivers this feedback through pairs of electrodes called channels spread across the body. Depending on how much current a channel applies, the same electrodes produce either a light skin sensation (haptic) or a muscle contraction (EMS). The rest of this page starts from what that feels like and how to use the suit comfortably and safely, then covers how the feedback is structured, shaped, and authored.
What it feels like#
A haptic (sensory) signal feels like a touch, buzz, or tingle on the skin. An EMS (motor) signal is different in kind: the suit contracts the muscle for you, so the movement is involuntary rather than something you start yourself. The same channel at the same settings does not feel identical to everyone, and it can feel stronger or weaker from one session to the next, because skin conductance (galvanic skin response) shifts with moisture, temperature, and fatigue. That variability is normal, and it is the reason the suit is calibrated to the current wearer before every use.
Comfort and contact#
On a calibrated suit a given value therefore produces a consistent, comfortable sensation, which is why the suit must be calibrated to each wearer before any stimulation. Requested amplitude is always relative to the calibrated range, not to an absolute current. An amplitude of 100 means 100% of the maximum established for that channel during calibration, and 1 means the minimum perceptible level. Never run stimulation on an uncalibrated suit, since the same value may be far stronger than intended. See Concept - Calibration and Control Center - Calibration.
Calibrate before any stimulation
This rule applies to every code path that stimulates — examples, tutorials, and your own applications alike. Stimulation must run only after the suit is calibrated to the current wearer, and only with a verified stop (Ctrl-C or the FES kill switch) confirmed to halt output. A value that is comfortable on a calibrated suit can be dangerously strong on an uncalibrated one.
Electrodes stimulate through bare skin, so contact quality shapes the result. The sensation is cleanest when the suit fits snugly and the skin is slightly moist; a little light exercise to perspire helps. See Hardware - Wearing.
The primary comfort dial during a session is the global haptic power control; keep it at 100% while calibrating so you never set a level above what is comfortable. The Intensity control section below describes it alongside the other controls. See Hardware - Wearing.
Safety#
TESLASUIT is not a medical device. It is essential that you review the Hardware - Safety page before using the suit. That page contains the full list of medical contraindications and critical safety instructions. Because every sensation, and every EMS contraction, comes from electrical stimulation, there are real risks—including heart-rhythm disorders, pregnancy, implanted electronic devices such as pacemakers, and recent injuries or tattoos. Users under 18 or over 65 are also outside the intended range. Anyone affected, or unsure, should not use the suit without a doctor's approval, and the suit should always be used with another person present.
Stop immediately if anything feels wrong
Never stimulate to the point of pain. If you feel pain, dizziness, nausea, or any discomfort, unplug the power bank first and then take the suit off. Never place electrodes on the head, and do not use the suit for more than one hour at a time. The authoritative rules, the full contraindication list, and the steps for critical situations are in Hardware - Safety.
Channels#
A channel is a pair of electrodes placed in a specific anatomic location that, when energised, induces a muscle contraction or a tactile sensation. Channels are the addressable unit of haptics: authoring or calibrating feedback ultimately means turning channels on and off with particular parameters. A TESLASUIT has 80 channels, built from 114 electrodes across the jacket and trousers. See Hardware - Components for the physical layout. Because the channel is the smallest addressable unit, a sensation is localized to a single channel or a group of channels rather than to an arbitrary point on the skin.
One channel is not one muscle. Channels are defined by electrode placement, and human musculature overlaps that placement, so a single channel can recruit more than one muscle, and a single muscle can be driven by several channels at the same time. The mapping between the channel activated in software and the muscle that contracts is many-to-many, not one-to-one. This matters when authoring content (Studio - Electrical Stimulation) and when calibrating thresholds per Area, Part, and Channel (Control Center - Calibration).
In code, effects are addressed by anatomical bone rather than raw channel numbers, and a mapper resolves a bone to the channels the suit exposes there. This keeps the same content working across suit sizes and hardware versions. Explore the interactive Body & channel map, or see the API: Core Mapper.
Haptic and EMS: two stimulation modes#
The electrodes always deliver electrical stimulation, but the effect depends on how much current is applied. In hardware terms the two modes are TENS (transcutaneous electrical nerve stimulation) for sensory haptics and EMS (electrical muscle stimulation) for motor stimulation; both are listed under the haptic system in Hardware - Specifications. The same hardware supports both:
- Haptic (sensory). At low amplitude, stimulation activates sensory nerve fibres just below the skin, producing a felt sensation with no muscle movement. This conveys touch, texture, and impact to the wearer, and all 80 channels can deliver it.
- EMS (motor). At higher amplitude, stimulation reaches motor nerve fibres and causes an involuntary muscle contraction. Electrical muscle stimulation is the basis of Functional Electrical Stimulation (FES), where controlled contractions assist or restore movement. EMS is only useful through channels positioned over a muscle projection, meaning electrodes that sit above the muscle belly or its motor point. Channels over bone or other non-muscular tissue produce no useful contraction even at high amplitude.
| Haptic (sensory) | EMS (motor) | |
|---|---|---|
| Amplitude | Low | High |
| Target tissue | Sensory nerves | Motor nerves and muscles |
| Effect | Felt sensation (touch, buzz, tingle) | Muscle contraction |
| Usable channels | All 80 | Muscle-projection channels only |
| Typical use | Immersive feedback, VR/AR | Rehabilitation, FES, assisted movement |
Note
Nothing stops EMS-level parameters from being sent to a channel that is not over a muscle. On a calibrated suit this is not harmful; it simply produces a strong sensation or a non-functional contraction rather than a useful one. Choosing the right channels for the intended effect is the author's responsibility. See Studio - Electrical Stimulation.
Signal parameters#
Every haptic sensation reduces to a set of impulses in one channel. A few parameters govern how it feels:
| Parameter | What it controls | Notes |
|---|---|---|
| Amplitude | The strength of the signal. Higher amplitude gives a stronger sensation or contraction. | A percentage of the calibrated range, from 1% (minimum perceptible) to 100% (maximum for that channel). |
| Pulse width | The duration of a single pulse. It sets the depth of signal penetration into tissue and the number of muscle fibres affected. | 10 to 140 µs |
| Frequency | The number of impulses per second. Lower frequencies favour slow-muscle endurance; higher frequencies favour fast-muscle speed and power. | 1 to 150 Hz per channel |
| Period | The duration of one signal cycle, the inverse of frequency. | period (µs) = 1,000,000 / frequency (Hz) |
| Duration | How long an instant touch lasts, independent of the underlying signal. | milliseconds |
Perceived strength depends on amplitude and pulse width together, not amplitude alone, which is why calibration tunes both per channel. The underlying electrical drive is 0 to 60 V AC at up to 150 mA. Full figures are in Hardware - Specifications.
In the Python API these parameters are set through the TsHapticParam structure. See Haptics & EMS API and Core Data Structures.
Intensity control#
How strong haptics feel is scaled at two independent levels, neither of which requires re-authoring content:
- Global haptic power. A single device-level slider that applies an attenuation coefficient across all channels at once, set in Control Center. It scales every sensation without editing content. See Control Center - Calibration and Hardware - Wearing.
- Runtime multipliers. Software scales live playback at three scopes: master (all active playables at once), playable (one effect on its own), and touch (a single instant touch). These adjust intensity during playback without editing the underlying content. See Haptics & EMS API for the master, playable, and touch multipliers in code.
How sensations are built#
The smallest unit is a touch: a short, parameterised effect on one or more channels. Touches and pre-designed assets are combined into reusable content in Studio through presets (touches across channels), effects (rules that vary parameters over time), and sequences (touches placed in time). Anything ready to play, whether an instant touch or a looped asset, is a playable. Playables run in real time, so the suit can respond to events in a game, simulation, or training scenario as they happen. See Studio - Electrical Stimulation.
Placing touches across channels and over time lets a sensation move across the body, such as a stroke along the arm or an impact that radiates outward. To play this content from code, load assets with the Asset Manager and drive playback through TsHapticPlayer; a runnable example is in Play a haptic touch.
Where this is used#
- Studio - Electrical Stimulation: authoring and playing haptic content
- Control Center - Calibration: tuning per-person haptic thresholds
- Hardware - Components: the electrode and channel layout
- Haptics & EMS API: creating, targeting, and playing haptic effects in code
- Body & channel map: interactive map of all 80 channels, with haptic and EMS layers
