Skip to main content

PWM Outputs

Hardware​

The 305ap provides 8 PWM/DSHOT motor outputs routed to the motor connector.

ChannelTimerGPIODefault
1TIM1 CH1PA8Motor 1
2TIM1 CH2PE11Motor 2
3TIM2 CH1PA15Motor 3
4TIM2 CH3PA2Motor 4
5TIM3 CH2PA7Motor 5
6TIM3 CH4PB1Motor 6
7TIM4 CH2PB7Motor 7
8TIM4 CH3PD14Motor 8

Outputs 1–4 share TIM1/TIM2 and outputs 5–8 share TIM3/TIM4. Within each timer, all channels share the same timer frequency (period), so protocols must be compatible within a timer group if mixing is required.

Motor Connector​

The motor connector also carries:

  • +5 V for ESC BEC and signal power
  • Current sense input for ESC current monitoring, fed to ASENSE
  • Motor telemetry RX via USART1 single-wire ESC telemetry (BLHeli32/AM32)
  • GND

Supported Protocols​

The 305ap supports all standard PX4 output protocols:

ProtocolDescriptionNotes
PWMStandard 1000–2000 µsUniversal ESC compatibility
OneShot125~125–250 µs (8× faster than PWM)Requires ESC support
DSHOT150Digital, 150 kbpsRecommended baseline
DSHOT300Digital, 300 kbpsTypical default for modern ESCs
DSHOT600Digital, 600 kbpsHigh-speed DSHOT

DSHOT is recommended over PWM for most applications. It is noise-immune and needs no calibration.

Configuring Protocol in QGroundControl​

  1. Go to Vehicle Setup → Actuators
  2. Select the output protocol for each timer group (MAIN 1–2, 3–4, 5–6, 7–8)

Or set directly in Parameters:

ParameterDescription
PWM_MAIN_TIM0–PWM_MAIN_TIM3Protocol per timer group: -5/-4/-3 = DShot150/300/600, -1 = OneShot, 50–400 = PWM rate in Hz

Only MAIN 1–2 default to DShot300; the other groups default to PWM 400 Hz. See ESC Configuration.

Motor Order​

Motor numbering follows the geometry of the selected airframe, shown in Vehicle Setup → Actuators. For PX4's Quadrotor X:

     Front
3 1
\ /
/ \
2 4
MotorPositionDirection
1Front-rightCounter-clockwise
2Rear-leftCounter-clockwise
3Front-leftClockwise
4Rear-rightClockwise

Verify motor order in Vehicle Setup → Actuators with the motor test sliders (propellers off) before flying.

Bidirectional DSHOT (BDSHOT)​

PX4 supports bidirectional DShot (RPM over the signal wire) with the PWM_MAIN_TIMn values -8/-7/-6 (BDShot150/300/600). It has not been verified on the 305ap yet; use serial ESC telemetry (below) for RPM data.

ESC DSHOT support

Verify your ESCs support the selected DSHOT speed. BLHeli32, AM32, and most modern 4-in-1 ESCs support DSHOT300/DSHOT600.

ESC Telemetry​

USART1 (ttyS0) is dedicated to single-wire ESC serial telemetry from BLHeli32 or AM32 ESCs. This is separate from BDSHOT and provides temperature, voltage, current, and RPM data per ESC.

To enable, configure your ESC firmware to output serial telemetry and connect the telemetry wire to the USART1 pin (PA9) on the motor connector.

USART1 has no port name in QGroundControl, so start the telemetry driver from the SD card: add dshot telemetry -d /dev/ttyS0 -x to /fs/microsd/etc/extras.txt. See ESC Configuration.