USB RC transmitter

Connect an RC transmitter to your Mac over USB and use it for the Trainer and the Simulator. (macOS only.)

What it is

Most RC transmitters — directly, or through a simple USB dongle — show up to a computer as a standard USB game controller. On the Mac, HeliSense reads those axes and switches, so the Trainer and the Simulator respond to your own radio.

You don’t need to know which channel is which. HeliSense includes a setup wizard that asks you to move each control in turn and derives the mapping from what it sees.

Mac only. USB transmitter input is a macOS feature. On iPhone and iPad, use VBar WiFi, ExpressLRS WiFi, or an MFi Bluetooth controller instead.

You’ll need

  • A Mac with Apple silicon running macOS 26 or later.
  • A transmitter, or a USB sim dongle, that presents itself as a USB joystick. See the table below for your brand.
  • A USB cable that carries data. Charge-only cables look identical and are the most common reason a radio never appears.

First, set up a dedicated model

Do this before anything else. Every step that follows assumes it, and the wizard asks you to confirm you’ve done it before it will start.

Create a new model on your transmitter, used only for HeliSense, and give it completely flat outputs:

  • No mixes of any kind.
  • No expo and no dual rates.
  • No throttle curve and no pitch curve — a straight line from bottom to top.
  • Trims disabled, or centred if that isn’t an option, and sub-trims zeroed.
  • Servo travel left at its default, symmetrical, endpoints.

The reason is simple: HeliSense applies its own curves, rates and flight model. Anything your radio shapes on the way out gets shaped a second time by the app, which will likely result in a feel that’s softer than it should be — usually blamed on the simulator rather than on the double-shaping that caused it. A flat model sends HeliSense exactly what your sticks are doing, and nothing else.

Configure your real model settings later, not now. Once you’re set up you can tune the feel inside HeliSense.

Make it a fixed-wing model

HeliSense needs each control axis on a channel of its own — ensure all mixes are disabled.

RadioWhich model type to use
Spektrum NX / DXAcro. Not a helicopter model type.
FutabaAirplane, wing Normal, tail Normal.
EdgeTX / OpenTX / ETHOSAny model type.
FlySky NV14 / EL18These run EdgeTX, so the row above applies.
VBar ControlNothing to set. Its simulator output is fixed by the system.

If your radio isn’t listed, the test is the same: each stick must drive one channel on its own.

Which radios work

Most modern radios can do this. Find your brand for the exact menu path and anything specific to watch for.

Radio or dongleUSB joystick?How
EdgeTX / OpenTX radios
Radiomaster, Jumper, RadioKing, FrSky
YesChoose USB Joystick when you plug in
FrSky ETHOS radios
X20, X18, Tandem series
YesSet the USB mode to USB Joystick
Spektrum NX seriesYesUSB SettingsGame Controller
Spektrum DX series
DX6i, DX8, DX9, DX18…
NoUse a wireless dongle, or the trainer / DSC jack
Wireless dongles for Spektrum
WS2000, WS3000T, OrangeRx
YesBind it to the radio like a receiver
Mikado VBar Control
Touch, Evo, Evo+
YesJust connect the cable (original model: USB mode Simulator)
Jeti DC / DSYesConnect a USB cable
FlySky NV14 / EL18YesThese run EdgeTX — follow the EdgeTX guide
RealFlight InterLink DXYesPlug in — no setting to change
Generic PPM dongles
“22-in-1” and similar
YesPlug in — no setting to change
FutabaNoNeeds a receiver-based adapter, a wireless dongle or a trainer-port adapter

Not listed? If your radio appears to macOS as a USB game controller, it will almost certainly work — see other radios and dongles.

Setting it up

With your flat HeliSense model selected and your radio in joystick mode, connect it to the Mac and switch it on. Then, in HeliSense:

  1. Open Settings and turn on USB Controller. The Input Device picker below it should now name your transmitter. If it says no compatible devices were detected, jump to troubleshooting.
  2. Click Set Up Controller… This opens the guided wizard. Confirm you’ve set up a flat model, then click Begin.
  3. Centre the sticks. Take your time getting the collective stick centred — it has no detent to help you. Switch positions don’t matter at this stage; you’ll be told exactly when to move each one.
  4. Teach it the four axes. For aileron, elevator, rudder and collective in turn, hold the stick fully one way until the ring fills, then fully the other way. Two holds give HeliSense the channel, its travel and whether it needs reversing, all at once.
  5. Teach it the motor switch. Set Motor Run, then Throttle Hold, then Motor Off. This step varies between transmitters — see the detail below.
  6. Teach it the flight-mode switch. Banks are numbered in the order you capture them, so start wherever you like. Two positions is enough if that’s all your switch has.
  7. Check the Review screen and click Apply. If something looks wrong, Redo a step takes you straight back to it.

Apply saves a new profile tied to that transmitter, which HeliSense activates automatically whenever it’s plugged in. Nothing is saved until you click Apply, so cancelling part-way through leaves your existing profiles untouched.

The motor step, in more detail

This is the part where transmitters differ most, so it’s worth knowing what the wizard is asking for.

Motor Run and Throttle Hold are usually two positions of one switch. Motor Off can be either the third position of that same switch, or a separate throttle-cut switch. HeliSense supports both, and asks you which it is when it can’t distinguish them reliably.

Motor Off is captured in two steps — first with the switch armed (motor not cut), then moved to motor off. It is the difference between those two readings that identifies the switch, which is why the position anything was in beforehand doesn’t matter:

  • If Motor Off is the third position of the same switch, leave the switch in Throttle Hold for the “armed” capture, then move it to motor off.
  • If Motor Off is a separate switch, put that switch in its armed position, capture, then engage it and capture again.

Move only the switch each prompt asks for. If the wizard reports that it didn’t see a switch move, the reading was identical to the previous one — move the switch and capture again rather than continuing.

Mapping channels by hand

The wizard doesn’t replace the manual controls; it fills them in. Every mapping and calibration section stays available underneath, so you can adjust a single channel, reverse one axis or fine-tune the endpoints without starting over.

HeliSense also ships ready-made starter profiles — Default, EdgeTX / OpenTX / ETHOS (AETR), Spektrum NX / WS2000 (TAER), Spektrum WS3000T and Futaba trainer adapter (AETR) — which assume the usual channel order for that brand. AETR means aileron, elevator, throttle, rudder; TAER puts throttle first, as Spektrum radios traditionally do.

If you use the wizard, none of this has to match — it maps whatever order your radio actually sends.

Using more than one transmitter

HeliSense keeps a profile per transmitter and remembers which hardware each one belongs to.

  • The Input Device picker chooses which connected controller flies the helicopter. Left on Automatic, it simply uses whichever compatible device is plugged in.
  • Profiles created by the wizard are linked to their transmitter automatically. You can also link, unlink or relink any profile by hand.
  • With two radios connected, unplugging the active one hands over to the other and switches to its profile.

Troubleshooting

HeliSense doesn’t see my transmitter at all

If the Input Device picker shows “No compatible devices detected”, work through these in order:

  • The cable. Try a different one, ideally a cable you know syncs a phone. Charge-only cables are the most common cause.
  • Joystick mode. Many radios ask what the USB connection is for each time you plug in, and default to storage or charging. Check your brand’s page.
  • Restart the radio after enabling joystick mode. Some models only apply it on the next boot.
  • Plug directly into the Mac rather than through a hub or monitor, just to rule it out.
An axis works, but the wrong way round

Redo that axis in the wizard — the direction comes from which way you held the stick first, so it’s a quick fix.

You can also flip it directly: each axis has its own reverse toggle in the mapping section, which stays available whether or not you used the wizard.

One control does nothing, and the wizard never sees it

Almost always this means the control isn’t mixed to an output channel on the radio. A knob or switch that isn’t assigned to a channel in your model sends nothing at all over USB, so there is nothing for HeliSense to find.

Assign it to a free channel in your radio’s mixer, then run the step again. This is a radio-side model setting, not a HeliSense one.

The wizard won’t see my collective, so I can’t get past the first step

Check the model type. The wizard needs the collective to arrive as one channel sweeping end to end, which is what a fixed-wing model sends. Rebuild the model as fixed-wing with flat outputs and run the wizard again.

I can’t tell which channel my switch is on

Open the Channel Monitor and watch the Last moved row pinned at the top. Flick the switch and it names the channel, which is quicker than looking for one moving number among thirty-two rows.

None of the above — how do I get help?

At the bottom of USB Controller Settings there’s a Copy Diagnostic Info button. It copies the details of every attached controller — name, identifiers, and exactly which axes and buttons HeliSense can see.

Paste that into a message on our contact page along with your radio model. That report usually identifies the problem.

Prefer a different setup? See the full list of controllers.