Sending Trigger Signals from Magic Leap 2 to EEG Trigger Hub

Dear ML2 Support Community,

We are planning to use the Magic Leap 2 (ML2) headset in conjunction with an EEG recording system (Wearable Sensing’s DSI-7). We will use ML2 to show different images and record the EEG signal. Our experimental setup requires precise synchronization between ML2 stimuli/events and EEG data.

To achieve synchronization, we want to send digital trigger signals from ML2 to a Trigger Hub, which subsequently forwards these triggers to the EEG headset, so in the EEG signal we acquired, there will be synch event information. The Trigger Hub accepts parallel port input signals or analog trigger signals.

Could you please advise on the following points?

  1. Trigger Signal via USB-C:
  • Does ML2 support outputting digital trigger signals via the USB-C port?
  • If yes, what protocols/interfaces (e.g., serial communication, HID events, GPIO over USB-C, etc.) are supported for such signals?
  1. Compatibility with USB-to-Parallel Interfaces:
  • Can the ML2 interface reliably with USB-to-parallel adapters or virtual COM port devices (such as the MMBT-S trigger interface box from Neurospec)?
  • Are there known recommended USB-to-parallel or USB-to-serial devices officially tested and supported with ML2?
  1. Another option is to have the ML2 send signals (wire/wireless) directly to a PC, and then use existing software to forward triggers via COM ports. This might be the simplest approach?

Thank you for your help. I appreciate any insights or official guidance you can provide on this setup!

Best regards,
Zipai Wang

Hey — few things to clarify.

First off, ML2 does not support digital trigger output directly over USB-C the way a parallel port or GPIO would. You’re working with Android 10 under the hood, so you’re limited to standard Android USB host capabilities

Trying to use a USB-to-parallel adapter (especially those printer-class ones) won’t work. Those aren’t designed for bit-level control and Android doesn’t support them anyway. If you’re looking at something like the MMBT-S, make sure it enumerates as a standard USB serial device — if it needs custom drivers, it’s a no-go on ML2.

Also worth pointing out — there’s no GPIO access over USB-C, and ML2 doesn’t expose that kind of control. If you’re trying to send out actual voltage changes, you’ll need an external microcontroller connected via USB serial that you command from the ML2.

If you’re not familiar with USB serial on Android, this probably isn’t the best place to start. A better path might be having ML2 send triggers wirelessly to a PC (via UDP or similar) and let the PC handle the actual trigger hardware.


Note, USB communication is outside of the scope for this forum so you might be able to find more helpful information by researching the Android documentation and stack overflow since Magic Leap 2 is running Android 10.

Thank you very much for your reply!!