CC Hardware Configuration

When the CC3D flight controller is plugged into the GCS, the Hardware Configuration screen displays the ports available on the controller to allow them to be set according to use. The board can be mounted in any configuration on the airframe, and the orientation relative to the airframe configured such that the flight controller knows which way it is facing.


CopterControl, CC3D and Atom have 4 ports.


  • Servo Output 1-6: These are the PWM outputs that go to servos or ESCs. Power is typically applied through these headers from only one of the ESCs. The positive (Vcc) and negative (Gnd) pins are indicated on this diagram and the board.

    Servo output pin layout isOutside –> groundMiddle –> 5V - 15VInside –> signal

  • MainPort: JST-SH 4-pin. This is a serial USART whose baud rate can be adjusted through the GCS. Optionally Futaba S.Bus receiver, Spektrum/JR satellite receiver or GPS can be mapped to the MainPort. Default configuration is Telemetry for connecting an RF modem.

  • FlexiPort: JST-SH 4-pin. The function of this port also depends on the configuration and can be configured for I2C or Serial. The default configuration doesn’t use this port but it can be used for Telemetry, GPS, Spektrum satellite receivers (all working), and other I2C peripherals (under development).

  • ReceiverPort : JST-SH 8-pin. The receiver port can act as an input or output port depending on the configuration which is set in the Hardware Settings. Configuring the receiver port as an output port allows the user to assign more output channels then the 6 standard servo outputs.

    ReceiverPort use depends on the type of RC receiver in use, and whether OneShot125 or PWMSync output is desired:

    • PWM
      • PWM+NoOneShot should be used with a normal PWM type receiver. The 6 rightmost wires of the receiver port carry the signal for each channel individually.

    • PPM - Pin 3 (For a Multirotor, please use the PPM_PIN8+OneShot described bellow, this allow PWMSync and OneShot)
      • PPM+NoOneShot is used with modern PPM type receivers, that combine the control signal to one wire.
        The PPM stream should be sent to the first input through the white wire connected to CC ReceiverPort wire/pin 3.
        For a PPM receiver, only one pin is used for signal - the remaining wires connected to CC ReceiverPort wires 4-8 are left unused.
      • PPM+PWM+NoOneShot combines the two modes above, wire/pin 3 is used for PPM and the rest, wires/pins 4-8 are used as PWM inputs.
      • PPM+Outputs+NoOneShot enables PPM input in ReceiverPort wire/pin 3, and PWM output in wires/pins 5-8. These work as output channels 7-10.

    • PPM - Pin 8
      • PPM_PIN8+OneShot is a prefered input mode, where PPM input wire is moved from previous ReceiverPort pin 3 to pin 8 to allow PWMSync and OneShot125 to be used as ESC output modes.
        See PWM, PWMSync, Oneshot Output page for more details.

      • Outputs+OneShot makes ReceiverPort pins 5-8 work as output channels 7-10. ReceiverPort pins 3 and 4 are unused. This and the Disabled option can be used if the control communication is via a spektrum satellite receiver or directly through telemetry.

      • Disabled+OneShot basically disables the ReceiverPort.

    Default settings

    By default for a Multirotor, the Vehicle Setup Wizard will set receiver port as PPM_PIN8+OneShot when PPM type receiver is selected.

Receiver Port

PWM input, one wire per channelPPM input, pin3. PPM-NoOneShotPPM input, pin8. PPM-OneShot compatible

ColorFunctionJST-SH PinReceiverPort pin

RedPower to RC RX (VCC Unregulated) 4.8V - 15V21
WhitePWM Signal 1 or combined PPM (NoOneShot)31
BluePWM Signal 242
YellowPWM Signal 3 or PWM Output channel 753
GreenPWM Signal 4 or PWM Output channel 864
OrangePWM Signal 5 or PWM Output channel 975
PurplePWM Signal 6 or PWM Output channel 10 or combined PPM (OneShot compatible)86

MainPort and FlexiPort serial cable pinout




JST connectorPPM input on FlexiPortSBus on Mainport




Serial Function

I2C Function

PPM(flexi), S.Bus, DSM, Srxl, etc...
Red24.8V - 15VPWR Out (VCC Unregulated)PWR Out (VCC Unregulated)PWR Out (VCC Unregulated)
Orange43.3V (5V Tolerant)RXSDATX (Signal)

Receiver PWM connection

There are several ways to connect your receiver to CopterControl. You can connect any plug from the CopterControl receiver cable to any channel of your receiver. The correct channel mapping is done in the GCS /gcs/input. However as a guideline for a standard PWM receiver, you may want to connect it as follows:

Cables, colours & pin-outs


  • CopterControl can be powered in several ways. Via the USB port, through the power pins on the servo headers or through the ReceiverPort connector (see the ports section for the port location). When powered by USB, peripherals connected (receiver, serial ports, servos, ESCs) will not be powered to protect your computer from too much current draw through the USB.
  • The minimum allowed input voltage for CopterControl is 4.8V, the maximum allowed input voltage is +15V.
  • Power consumption = ±70mA.
  • You can connect the USB and the receiver (with the power) at the same time.

If you power the flight controller through the servo connectors (utilising the BEC function of the speed controller), the positive power lead from only one ESC is truly necessary. In most cases, all the wires can be left intact and plugged into the board without any problem. If you experience problems with setup or know for a fact that your particular ESC model requires it, you may remove the positive and negative pins from all but one of the ESC servo connectors. In some ESCs (very few, actually), connecting multiple voltage regulators (built in to the ESC’s) in parallel could cause problems. Also, in rare cases, connecting multiple ground wires could cause ground loops so remove the extra ground pins only if experiencing weird problems.

These photos show how to remove and insulate the positive wire from the ESC. Remove the positive & negative wire leaving only the signal cable connected for all but one of your ESC’s. A small flat blade screwdriver (or X-Acto knife could be used) and 2mm heat shrink tube was used in this example. This modification can easily be reversed by removing the heat shrink and inserting the positive wire back in to the ESC plug. Also, remove the ground wire when removing the hot and insulate separately from the hot wire.

Sensors and Components

  • 3-axis Gyroscope array: IDG-500 and ISZ-500  [1]
  • 3-axis Accelerometer: ADXL345 [1]
  • Supports several common RC inputs: 6 PWM channels, combined PPM, Spektrum/JR DSM2, DSMJ, DSMX satellites, and Futaba S.Bus receivers
  • Simultaneous support for multiple receivers
  • ReceiverPort functions (configurable): 6 PWM input channels or combined PPM stream, 4 PWM output channels
  • MainPort functions (configurable): serial telemetry (default), GPS, S.Bus, Spektrum/JR satellites
  • FlexiPort (configurable): serial telemetry, GPS, Spektrum/JR satellites, or I2C peripherals (under development)
  • 10 PWM outputs to servos or ESC’s, or for camera stabilization
  • Camera stabilization: supports up to 3-axis camera mounts with stabilization and manual control from any of configured receivers
  • On-board USB connectivity for easy configuration
  • USB and serial telemetry and configuration (including wireless with optional radio modules)
  • Supported by powerful OpenPilot GCS
  • 4 Mbit on-board memory
  • 3C Quaternion based complementary filter running at 500Hz

[1]On CC3D the IDG-500, ISZ-500 and ADXL345 is replaced by the MPU6000.

DIY Boards

Schematics, PCB Layout, Gerbers, BOM for CopterControl:

Schematics, PCB Layout, Gerbers, BOM for CopterControl 3D:

Schematics, PCB Layout, Gerbers, BOM for Atom: