USB Joystick converter from Betaflight FC, optionally wireless

Hi,
I use good old tray Graupner MC-22s. I can not replace this radio with newer one because of ergonomic of it.
As Open.HD uses USB Joystick I have tried to use old “9in1 USB simulator cable”. Result was terrible. High jitter, very bad precision, crazy channel order. No way.

After reading docs, I have found out that any STM32F4 ans F7 based flight-controllers with Betaflight firmware can be used as a converter from PPM → USB (HID Joystick). Also any other protocols supported by Betaflight can be used (SBUS, SUMD, Crossfire…)

At first I tried to connect my Graupners PPM directly to FC and it worked. It worked very well! Very little jitter and great resolution. But I hate to be tethered to my groundstation. Then I got idea of using good old 35MHz receiver modified for PPM output (from Mikropter days) for wireless transport of PPM. It also works well! There is no added latency (it is FM modulation).

How to do it:

  1. Get F4 or F7 based Flight Controller.
  2. Flash Betaflight
  3. Connect PPM from radio by wire or connect your RX (be aware of 2.4GHz RC does interfere badly with 2.4GHz Open.HD)
  4. In Betaflight Configurator set you RX to correct type, as usual
  5. Verify that you see the channels moving in Configurator
  6. in CLI issue this command: set usb_hid_cdc = on (GitHub - betaflight/betaflight: Open Source Flight Controller Firmware)
  7. Edit joystick.txt on GoudPi SD card as this to have correct channel order:
    #define ROLL_AXIS 0
    #define PITCH_AXIS 1
    #define YAW_AXIS 3
    #define THROTTLE_AXIS 4
    #define AUX1_AXIS 5
    #define AUX2_AXIS 6
    #define AUX3_AXIS 2
    #define AUX4_AXIS 7
  8. Enjoy!

3 Likes

A little video proving it works:

(PPM was connected directly in video, no 35MHz relay)

1 Like