CRSF to PWM converter
There are 2 products(SKU) in this page, CRSF-PWM-6 and CRSF-PWM-C
CRSF-PWM Converter with Variometer, CRSF-PWM-V10
- Compatible with CRSF protocol receiver only
- Support any CRSF protocol receivers (including 433MHz, 868MHz, 915MHz, 2.4GHz)
- 10x PWM outputs
- PWM frequency configurable (50Hz default, 100,160,330, 400Hz)
- 2x UARTs (for Receiver and GPS)
- Telemetry ID: RxBt, Curr, Capa, Bat%, GPS, GSpd, Hdg, Alt, Sats, Vspd, Baro Alt (Start with EdgeTX 2.7.1/OpenTX 2.3.15 and ExpressLRS 2.5)
- 36V Max. battery voltage sense (1K:10K voltage divider built-in)
- Compatible with external Current sensor (0~3.3V)
- Vbat and Current sensor scale configurable
- Failsafe value configurable
- Firmware upgradeable
- 5V LDO (300mA) integrated for GPS and external Receiver.
- Rated voltage: 4~9V @BEC pad, 0~36V @Vbat, 0~3.3V @Curr
- No regulator built-in for servos, Servos must be powered via BEC pad by external 5-9V source.
- 38mm x 16mm, 1.8g
- Packing: 1x CRSF-PWM-V10, Dupont 2.54 pins
CRSF-PWM Converter, CRSF-PWM-6
- Compatible with CRSF protocol receiver only
- Support any CRSF protocol receivers (including 433MHz, 868MHz, 915MHz, 2.4GHz)
- 6x PWM outputs
- PWM frequency configurable (50Hz default, 100,160,330, 400Hz)
- 2x UARTs (for Receiver and GPS)
- Telemetry ID: RxBt, Curr, Capa, Bat%, GPS, GSpd, Hdg, Alt, Sats
- 36V Max. battery voltage sense (1K:10K voltage divider built-in)
- Compatible with external Current sensor (0~3.3V)
- Vbat and Current sensor scale configurable
- Failsafe value auto set
- Firmware upgradeable
- Rated voltage: 4~9V @5V pad, 0~36V @Vbat, 0~3.3V @Curr
- No 5V regulator built-in, Servos must be powered via 5V pad by external 5V source.
- 25mm x 16mm, 1.3g
- Packing: 1x CRSF-PWM-6, Dupont 2.54 pins
CRSF-PWM Converter, CRSF-PWM-C
- Compatible with CRSF protocol receiver only
- Support any CRSF protocol receivers (including 433MHz, 868MHz, 915MHz, 2.4GHz)
- 10x PWM outputs
- PWM frequency configurable (50Hz default, 100,160,330, 400Hz)
- 2x UARTs (for Receiver and GPS)
- Telemetry ID: RxBt, Curr, Capa, Bat%, GPS, GSpd, Hdg, Alt, Sats
- 36V Max. battery voltage sense (1K:10K voltage divider built-in)
- Current sensor built-in (90A continuous /220A Peak), current scale = 150 by default
- Vbat and Current sensor scale configurable
- Failsafe value auto set
- Firmware upgradeable
- Rated voltage: 4~9V @5V pad, 0~36V @BAT+
- No 5V regulator built-in, Servos must be powered via 5V pad by external 5V source.
- 26mm x 26mm, 2.8g
- Packing: 1x CRSF-PWM-C, 1x low ESR capacitor, Dupont 2.54 pins
CRSF-PWM Converter, CRSF-PWM-B
- Compatible with CRSF protocol receiver only
- Support any CRSF protocol receivers (including 433MHz, 868MHz, 915MHz, 2.4GHz)
- 8x PWM outputs
- PWM frequency configurable (50Hz default, 100,160,330, 400Hz)
- 2x UARTs (for Receiver and GPS)
- Telemetry ID: RxBt, Curr, Capa, Bat%, GPS, GSpd, Hdg, Alt, Sats
- 5.5~30V battery voltage input @ Vbat pad
- BEC 5V built-in (5A continuous /6A Peak)
- Compatible with external Current sensor (0~3.3V)
- Vbat and Current sensor scale configurable
- Firmware upgradeable
- 33mm x 21mm, 4.6g
- Packing: 1x CRSF-PWM-B, Dupont 2.54 pins
Pinouts and Pads
- Tx1/Rx1(UART1) for CRSF protocol Receiver
- Tx2/Rx2(UART2) for GPS/firmware update/setting parameters
- 1~10: CH1~CH10 PWM outputs
- Curr: current sensor signal (0~3.3V)
- Vbat(CRSF-PWM-6 and -C ): (0~36V) Battery voltage sensing
- Vbat(CRSF-PWM-B) ): (6~30V) Battery voltage sensing and power supply of onboard BEC
- G: ground
- 4v5 pad voltage = 5V pad voltage -0.3V, make sure the voltage on 5V pad is not higher than receiver and GPS rated voltage.
Failsafe (FW 1.1.1 or older)
- Failsafe value is set automatically after CRSF-PWM board is powered on and receive CRSF signal. LED blinks 8 times quickly.
- Failsafe value = The PWM value of each channel(except CH3) when CRSF signal is received by CRSF-PWM board for the first time
- CH3 is specially arranged for the throttle, Failsafe value = 988 by default.
- Usually put the Throttle joystick to the lowest point, put AIL(Roll), ELE(Pitch), RUD(Yaw) middle before powering on receiver.
Failsafe (FW 2.0.0 or newer)
- CH3 is arranged for the throttle, Failsafe value = 988 by default. you can change the failsafe value of CH3 and other channels by following settings.
- Make sure ESC signal is disconnected from CRSF-PWM board before starting failsafe settings
- Bridge PWM1 and PWM2 signal pad, then power on CRSF-PWM board and receiver.
- Failsafe value will be saved automatically after CRSF-PWM board is powered on and receive CRSF signal. LED blinks 8 times quickly.
- Failsafe value = The PWM value of each transmitter channel when CRSF signal is received by CRSF-PWM board.
- Remove the jumper between PWM 1 and 2, then CRSF-PWM board will work in normal PWM output mode.
LED status
- slow blinks: CRSF-PWM board doesn’t receive CRSF signal, e.g., receiver is not bound with transmitter, receiver is not connected to UART1 of CRSF-PWM board.
- 8x quick blinks: CRSF-PWM board received CRSF signal and failsafe value is saved. (firmware 1.1.1 or older)
- solid ON: CRSF-PWM board and receiver are working normally
- 2x slow blinks between 8x fast blink and solid on: CLI mode is active (firmware 1.1.1 or older)
GPS telemetry
- Compatible with GPS NMEA protocol, 1Hz, Baud 9600~115200
- GPS “TX” to CRSF-PWM board “RX” Single wire half duplex UART connection, CRSF-PWM board “TX” to GPS “RX” is not essential.
- Support GPS Telemetry ID: GPS, GSpd, Hdg, Alt, Sats
- u-blox series GPS can output “0+1 – UBX+NMEA” protocol by default
- Sensors(GPS, GSpd, Hdg, Alt, Sats) will blink in Transmitter TELEMETRY tab once CRSF-PWM board has connection with GPS.
- Troubleshooting for no GPS telemetry, double check the wiring between GPS and CRSF-PWM board, some u-blox GPS may don’t output NMEA protcol, you need to revert GPS to default configuration in u-center.
- with OpenTX Telemetry Logging, You can plot your flight path or search the lost plane.
VSpd telemetry (Vario)
- VSpd telemetry is supported by ExpressLRS 2.0, EDGE 2.6, OPENTX 2.2 or newer.
- support barometer MS5611(I2C address 0x77) and SPL06-001 (I2C address 0x76)
TIM & PWM Frequency
- PWM frequency on all 10x Channels can be configured according to TIM
- PWM run at 50Hz by default
- TIM2: CH1, CH2, CH4
- TIM16: CH3
- TIM3: CH5, CH6, CH7, CH8
- TIM1: CH9, CH10
CLI mode
- If CRSF-PWM board doesn’t detect GPS connected to UART2 within 10 seconds after powering on, CLI mode will active.
- After CLI mode is active, CRSF-PWM board can be connected to configurator via USB-TTL module/FC passthrough.
- in CLI mode, CRSF-PWM board firmware can be updated
- CLI mode has no effect to receiver CRSF signal and PWM outputs
- Tool: Matek Configurator
- via A or B
A. USB-TTL modules, such as CP210x, FTDI
1. Wiring
- TX2 — USB-TTL module RX
- RX2 — USB-TTL module TX
- 4v5 — USB-TTL module 5V
- G — USB-TTL module GND
2. Connect USB-TTL module to PC
3. CRSF-PWM board CLI mode will active after powering on for 10 seconds
4. Open Matek configurator, Select COM port of USB-TTL, Baud rate 115200, Click “Connect”
5. Type command “help”
B. INAV/BF serial passthrough
1. Wiring
- TX2 — FC any spare UART_RX
- RX2 — FC any spare UART_TX
- 4v5 — FC 5V or 4V5
- G — FC GND
2. Connect FC USB to PC
3. CRSF-PWM board CLI mode will active after powering on for 10 seconds
4. open INAV/BF configurator, connect FC to configurator
5. click INAV/BF configurator “CLI” tab, type “serialpassthrough x 115200”, x = UART number -1, e.g. CRSF-PWM board connect to FC UART4, type “serialpassthrough 3 115200”.
6. Type command “help”
************************************************************
*************** Type all command with lowercase ***************
************************************************************
help
List all commands
- help
- version
- reboot
- get failsafe
- get channel
- get tim
- get scale
- get battery
- get baro (fw 2.0.0 or newer)
- set tim[n] = [x](n:1,2,3,16; freq:50,100,160,330,400)
- set vbat_scale = [x](60 – 210)
- set current_scale = [x](50 – 500)
- set output_5 = ch[x](11 or 12)
version
list CRSF-PWM firmware version
- CRSF_PWM App v0.9.5(Sep 25 2021)
reboot
restart CRSF-PWM board
- If receiver is connected and bound to transmitter, Failsafe value will be reset according to the transmitter joystick position.
get failsafe
list failsafe value saved
- PWM CH1_failsafe = 1500;
- PWM CH2_failsafe = 1500;
- PWM CH3_failsafe = 988;
- PWM CH4_failsafe = 1500;
- PWM CH5_failsafe = 1000;
- PWM CH6_failsafe = 1000;
- PWM CH7_failsafe = 1000;
- PWM CH8_failsafe = 1000;
- PWM CH9_failsafe = 2000;
- PWM CH10_failsafe = 2000;
get channel
list all channels PWM value according to joystick position if receiver is connected and bound to transmitter
If receiver is not connected or not bound to transmitter, the CH PWM value = failsafe value saved
- CH1 = 1502;
- CH2 = 1500;
- CH3 = 1007;
- CH4 = 1498;
- CH5 = 1000;
- CH6 = 1000;
- CH7 = 1000;
- CH8 = 1000;
- CH9 = 2000;
- CH10 = 2000;
get tim
list PWM frequency on all TIM
- TIM2 = 50Hz (CH1,2,4);
- TIM16 = 50Hz (CH3);
- TIM3 = 50Hz (CH5,6,7,8);
- TIM1 = 50Hz (CH9,10);
set tim[n] = [x](n:1,2,3,16; freq:50,100,160,330,400)
set PWM frequency on each TIM/CH
- “n” range: 1, 2, 3, 16
- “[x]” range: 50, 100, 160, 300, 400
- TIM2: CH1, CH2, CH4
- TIM16: CH3
- TIM3: CH5, CH6, CH7, CH8
- TIM1: CH9, CH10
- 50Hz by default. Compatible with both old school and modern PWM ESC/servos
- Check ESC and servos datasheet to make sure the ESC and servos can work stably at that PWM frequency you will set.
- Usually Analog servos work at 50Hz only, some digital servos can work at 400Hz. ESC supported by oneshot/DShot can work at 400Hz PWM
- e.g. type “set tim16 = 400”, PWM output on CH3 will run at 400Hz
- e.g. type “set tim2 = 100”, PWM output on CH1, CH2,CH4 will run at 100Hz
get scale
- vbat_scale = 110;
- current_scale = 150;
get battery
list Battery voltage and current, Even if there is no current through the shunt resistor, there may be a certain current reading due to the offset and tolerance of current sensor.
- voltage = 0(mV);
- current = 0(mA);
get baro (fw 2.0.0 or newer)
list barometer altitude and temperature, support MS5611 (I2C address 0x77) and SPL06-001 (I2C address 0x76)
- SPL06: alti = 10(cm), temp = 20(C);
set vbat_scale = [x](60 – 210)
- 1K:10K resistor: 110 by default
- Because of components tolerance you can adjust this to match with multimeter readout.
set current_scale = [x](50 – 500)
- current_scale = 150 by default
- If current readout 10A on telemetry, 10.8A on current meter, you can set the scale to (10.8/10)*150=162
- For using external current sensor on CRSF-PWM-6, You can adjust this value to match with the scale of external current sensor.
set output_5 = ch[x](5/11/12)
- output_5 pin is defined as CH5(AUX1) by default, ELRS AUX1(CH5) is 1-bit / 2-position channel.
- In ELRS 2.0 Wide switch mode, AUX2-AUX8(CH6~CH12) are 7-bit (128 position) for telemetry ratios 1:128 through 1:8, or 6-bit (64 position) for 1:4 and 1:2.
- with this CLI command, You can remap AUX7(ch11) or AUX8(ch12) signal to output_5 pin of CRSF-PWM board. then you will get 128-position channel instead of 2-position on “output 5” pin
- Tool: Matek Configurator
- Firmwares: CRSF_PWM_fw.zip
Firmware V2.6.0 Jan 7, 2024
- Fixed a bug that could cause high packet rate CRSF crashes on UART1.
- Fixed “Capa” telemetry data overflow.
Firmware v2.4.3, May 4, 2023
- Fix bug of GPS data lost in telemetry log
- changed GPS speed unit to km/h
- modify set output_5 = ch[x] range to 1-16 , you can ramap output_5 to any CH within 1-16
- modify set current_scale = range to 50-2000
Firmware v2.3.0, May 13, 2022
- Add Baro_Alt telemetry ID in CRSF protocol
- EdgeTX 2.7.1/OpenTX 2.3.15 or newer for Transmitter OS, ExpressLRS 2.5 or newer for TX module and Receiver.
Firmware v2.2.0, Apr.16,2022,
- Fix compatibility issue with TBS Tracer/Crossfire V3. If you are using ELRS receiver, updating to V2.2.0 is not a must.
Firmware v2.1.0, Mar.1,2022,
- WARNING: Failsafe settings is a must after upgrading from V1.x.x to V2.x.x
- support Barometer MS5611 (I2C address 0x77) and SPL06-001 (I2C address 0x76) via I2C(DA,CL pad).
- There are no I2C pull-up resistors on CRSF-PWM-6 and CRSF-PWM-C board, make sure the pull-up resistors are available on external MS5611 or SPL06-001 module. you may test the resistance between SCL and 3v3, SDA and 3v3, if there is pull-up resistor, the resistance should be 1~10K ohm.
- Failsafe settings
- CH3 is arranged for the throttle, Failsafe value = 988 by default. you can change the failsafe value of CH3 and other channels by following settings.
- Make sure ESC signal is disconnected from CRSF-PWM board before starting failsafe settings
- Bridge PWM1 and PWM2 signal pad, then power on CRSF-PWM board and receiver at same time.
- Failsafe value will be saved automatically after CRSF-PWM board is powered on and receive CRSF signal. LED blinks 8 times quickly.
- Failsafe value = The PWM value of each transmitter channel when CRSF signal is received by CRSF-PWM board.
- Remove the jumper between PWM 1 and 2, then CRSF-PWM board will work in normal PWM output mode.
- Fix GPS coordinates display for Southern hemisphere & Western hemisphere
v1.1.1, Dec.05,2021
- add CLI command “set output_5 = ch[x](11 or 12)”
Upgrade CRSF-PWM via A or B
A. USB-TTL modules, such as CP210x, FTDI
1. Wiring
- TX2 — USB-TTL module RX
- RX2 — USB-TTL module TX
- 4v5 — USB-TTL module 5V
- G — USB-TTL module GND
2. Connect USB-TTL module to PC
3. CRSF-PWM board CLI mode will active after powering on for 10 seconds
4. Open Matek configurator, Select COM port of USB-TTL, Baud rate 115200, Click “Connect”
5. OpenFile “CRSF_pwm_vx.x.x.bin”
6. Click “Upgrade”
B. INAV/BF serial passthrough
1. Wiring
- TX2 — FC any spare UART_RX
- RX2 — FC any spare UART_TX
- 4v5 — FC 5V or 4V5
- G — FC GND
2. Connect FC USB to PC
3. CRSF-PWM board CLI mode will active after powering on for 10 seconds
4. open INAV/BF configurator, connect FC to configurator
5. click INAV/BF configurator “CLI” tab, type “serialpassthrough x 115200”, x = UART number -1, e.g. CRSF-PWM board connect to FC UART4, type “serialpassthrough 3 115200”.
6. Disconnect FC from configurator, make sure USB is still plugged in FC and CRSF-PWM board is still powered on.
7. Open Matek configurator, Select COM port of Flight controler, Baud rate 115200, Click “Connect”
8. OpenFile “CRSF_pwm_vx.x.x.bin”
9. Click “Upgrade”
SKU | CRSF-PWM-6 | CRSF-PWM-C | CRSF-PWM-B | CRSF-PWM-V10 | CRSF-PWM-V ELRS-R24-V |
RF Frequency | compatible with any CRSF protocol receivers (including 433MHz, 868MHz, 915MHz, 2.4GHz) |
||||
PWM outputs | 6 | 10 | 8 | 10 | 7 |
CH remapping | set output_5 = ch11 or ch12 | ||||
PWM frequency | 50, 100, 160, 330, 400Hz | ||||
Telemetry ID | RSSI, Qly SNR, RxBt, Curr, Capa, Bat%, GPS, GSpd, Hdg, Alt, Sats, VSpd, Baro Alt | ||||
Vbat pad | 0~36V | 0~36V | 6~30V | 0~36V | 0~36V |
Current sensor | external | 90A/220A | external | external | external |
BEC | external | external | 5V/6V 5A | external | external |
Barometer | external | external | external | SPL06-001 | SPL06-001 |
PCB Size(mm) | 25*16 | 26*26 | 33*21 | 27*16 | 38*16 |
- Air-hobby.ru (Russia)
- Droneshop.nl (Netherlands)
- DefianceRC.com (USA)
- drone-fpv-racer.com (FR)
- dronepartsgarage.com.au (AUS)
- FlyMod.net (Ukraine)
- fpv1.de (Germany)
- HobbyRC.co.uk (UK)
- Phaserfpv.com.au (AUS)
- ProgressiveRC.com (USA)
- PyroDrone.com (USA)
- RaceDayQuads.com (USA)
- RCmaniak.pl (Poland)
- rc-innovations.es (Spain)
- Tokoheli (Indonesia)