Pinouts and Remote Control


Freefly P/N 910-00713 can be used to power Ember from a D-Tap power supply or battery output.

Freefly P/N 910-00661 can be used directly to connect Mōvi Pro, Mōvi XL, or Mōvi Carbon to the GPIO port on Ember. It can also be used as a donor cable for making a custom cable for remote start/stop or menu control (see below).

Simple Remote Start/Stop (GPI)

GPI2/RS can be used to create a simple remote start/stop trigger, either using a physical momentary switch or with active logic from a host microcontroller:

In both cases, recording toggled on/off on the rising edge of the GPI2/RS signal. Debouncing and edge detection is handled on-camera. The minimum low pulse is 8ms and the minimum high pulse is 500ms. Pulses shorter than these values will be ignored.

Since the GPIO interface is optically isolated, the host most also supply 3.3-5.0V power on VIN, to power its side of the optocoupler. The current drawn will be <20mA. GPI2/RS is pulled up to VIN in the camera, so the host-supplied power should match the logic voltage.

QX10001 Remote Menu Control (UART)

An external host can control the camera by transmitting a specific packet to the camera, which receives it on the UART Rx pin. The UART configuration is 115200 8-N-1. Packets may be sent only when user inputs are made on the external device (preferred) or on a regular interval up to 100Hz.

The following table specifies the packet used to remotely control the on-camera menu and start/stop recording. Numbers with an 'h' suffix (e.g. 51h) are hexadecimal values. Numbers with no suffix are decimal values. Characters in single quotes (e.g. 'Q') are ASCII characters.



'Q' (51h)

Start Byte 1


'X' (58h)

Start Byte 2


20 (14h)

The length of the packet between this position and the checksum, exclusive.



Attribute ID 1: 80h | (10001 & 7Fh)



Attribute ID 2: (10001 >> 7) & 7Fh



Options Byte: Tells the receiver that the packet is unencrypted and does not require a response.



Reserved for future use. Must be set to 00h.



State of the remote Record button: 00h = Not Pressed 02h = Pressed All other values reserved for future use.



Signed two’s complement value indicating the number of positions to jog (scroll) the on-camera menu or playback cursor. Positive values scroll right or down, negative values scroll left or up.



State of the remote Select button: 00h = Not Pressed 01h = Pressed



Reserved for future use. Must be set to 00h.



This checksum byte is set such that the sum of bytes 3-23, mod 256, is 255 (FFh).

The Record and Select bytes are intended to represent remote Record and Select button presses. They should indicate the physical state of a button without any intervening logic. Edge detection logic is handled by the camera. The camera record state will toggle when the Record byte transitions from pressed (02h) to not pressed (00h). Recording can also be started on-camera and stopped remotely or vice versa.

The Jog byte is intended to represent a scroll-wheel-like function for navigating the menu, changing settings, or controlling playback speed. Jog values are accumulated across multiple packets. To scroll right or down by one position, send a jog value of 01h in only one packet. To scroll left or up by one position, send a jog value of FFh (-1 in two’s complement) in only one packet. A scroll wheel or encoder with 10-30 increments per revolution works well. If one isn’t available, D-Pad buttons can be used to send individual increments or decrements.

Last updated