Anyone try updating their ElectroHub Tricopter with a F3FC and Betaflight 3.2.3?

makattack

Winter is coming
Moderator
Mentor
Eh, perhaps I'm bored, but I decided to upgrade my Electrohub Tricopter. It's equipped with the tough tilt mechanism and a SPRACINGF3 board. It actually runs very well with Betaflight 3.1.7, but I decided to see how the latest BF3.2.3 works.

Let's just say, I'm having some issues.

I basically decided to do a full manual configuration, mirroring config settings in the 3.2.3 version with the older setup I had. The resource mapping syntax hasn't changed, so that's pretty identical:

This tricopter specific setup is the same on BF3.1.x as it is on BF3.2.x:
Code:
resource MOTOR 1 A06
resource MOTOR 2 A07
resource MOTOR 3 A11
resource SERVO 1 A12
mixer TRI
smix reverse 5 2 r

The odd things I noticed:

  1. With the ESC's I have (running blheli 14.9), I never could run Oneshot125 under 3.1.x, but Oneshot125 seems to work better on 3.2.3. Sort of... it runs better on two out of three motors (motors 1 & 2). The third motor never spins up from either the motor tab (in BFconfig or BlheliConfig) nor via RC commands when armed.
  2. With the above setup, I can read all the ESC's via BLHeliSuite or the Chromeapp. I still can't get motor three to spin.
  3. With airmode always enabled, motors one and two always spin when armed (by aux channel), even with MOTOR_STOP enabled. When I disable airmode, that doesn't happen. I do not see this for my quads running BF3.2.3.
  4. When I downgrade to BF 3.1.7, and restore my configuration, it works just as it used to.

It seems weird to me, but it's almost like BF3.2.3 just doesn't like the tricopter setup.

I know there's a triflight version that's experimental and rebased off BF3.2.2, but I figured I would use regular betaflight on my electrohub. https://rcexplorer.se/forums/topic/testing-triflight-rebased-on-3-2-2-betaflight/

I suppose my next step is to try out the test triflight and see if that's any different.
 

LitterBug

Techno Nut
Moderator
I don't have an ElectroHub, but do have two RCE Baby Tricopters and a RCE Mini Tricopter. The Baby Tris have F3FC FCs and the Mini is running with a DTFc. I ping-pong between TriFlight and dRonin, but mostly run dRonin.

What PWM outputs do you have your ESCs and Servo on? I have a loose SPRF3 sitting on the bench to simulate your setup and see what results I get.

Cheers!
LitterBug
 

makattack

Winter is coming
Moderator
Mentor
Thanks LitterBug, for offering to duplicate this! I'm using the motor PWM output pins 1-4 (Motor1 to Pin1/A06, Motor 2 to Pin 2/A07, Motor 3 to pin 3 / A11, Servo to Motor 4/A12).

I connected the servo to 4 instead of the standard pin 5 just to keep the "block" of JR connectors a single block for sort of an aesthetic (continuous block of JR/servo connectors) and functional (figure a continuous block of connectors means the friction among them will do better to keep them all connected) reasons, as I've not directly soldered the connections.

I had thought maybe this was related to the ESC's not processing oneshot signals, but even the standard PWM config does the same. In my mucking about with the setup, I once had the servo working (even adjusting correctly to my yawing / rotating the tricopter around) but it stopped working at one point despite not making any servo changes. It was at that point I flashed 3.1.7 back and restored everything back to the way it used to work.

If you have a chance to recreate this, I might then submit a bug/issue report for betaflight, but I was fearing this might have been unique to my setup.

BTW, my ESC's are the afro 20A slim's running the atmel BLHELI 14.9 AFRO_20A firmware.

I have a RCExplorer F3FC v3/v4 (my own bastardization of parts) tricopter as well, but it's got the triflight based on the BF 3.1 branch.
 
Last edited:

makattack

Winter is coming
Moderator
Mentor
Here's my full BF 3.2.3 config:

Code:
# Betaflight / SPRACINGF3 (SRF3) 3.2.3 Dec 11 2017 / 08:03:02 (cb962eda1) MSP API: 1.36
name kc1chr FTTri
resource BEEPER 1 C15
resource MOTOR 1 A06
resource MOTOR 2 A07
resource MOTOR 3 A11
resource MOTOR 4 NONE
resource MOTOR 5 NONE
resource MOTOR 6 NONE
resource MOTOR 7 NONE
resource MOTOR 8 NONE
resource SERVO 1 A12
resource SERVO 2 NONE
resource SERVO 3 NONE
resource SERVO 4 NONE
resource SERVO 5 NONE
resource SERVO 6 NONE
resource SERVO 7 NONE
resource SERVO 8 NONE
resource PPM 1 A00
resource PWM 1 A00
resource PWM 2 A01
resource PWM 3 B11
resource PWM 4 B10
resource PWM 5 B04
resource PWM 6 B05
resource PWM 7 B00
resource PWM 8 B01
resource SONAR_TRIGGER 1 B00
resource SONAR_ECHO 1 B01
resource LED_STRIP 1 A08
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A14
resource SERIAL_TX 3 B10
resource SERIAL_TX 4 NONE
resource SERIAL_TX 5 NONE
resource SERIAL_TX 6 NONE
resource SERIAL_TX 7 NONE
resource SERIAL_TX 8 NONE
resource SERIAL_TX 9 NONE
resource SERIAL_TX 10 NONE
resource SERIAL_TX 11 B05
resource SERIAL_TX 12 B01
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A15
resource SERIAL_RX 3 B11
resource SERIAL_RX 4 NONE
resource SERIAL_RX 5 NONE
resource SERIAL_RX 6 NONE
resource SERIAL_RX 7 NONE
resource SERIAL_RX 8 NONE
resource SERIAL_RX 9 NONE
resource SERIAL_RX 10 NONE
resource SERIAL_RX 11 B04
resource SERIAL_RX 12 B00
resource I2C_SCL 1 B06
resource I2C_SCL 2 NONE
resource I2C_SDA 1 B07
resource I2C_SDA 2 NONE
resource LED 1 B03
resource LED 2 NONE
resource LED 3 NONE
resource RX_BIND 1 NONE
resource RX_BIND_PLUG 1 NONE
resource SPI_SCK 1 NONE
resource SPI_SCK 2 B13
resource SPI_SCK 3 NONE
resource SPI_MISO 1 NONE
resource SPI_MISO 2 B14
resource SPI_MISO 3 NONE
resource SPI_MOSI 1 NONE
resource SPI_MOSI 2 B15
resource SPI_MOSI 3 NONE
resource ESCSERIAL 1 A00
resource CAMERA_CONTROL 1 NONE
resource ADC_BATT 1 A04
resource ADC_RSSI 1 B02
resource ADC_CURR 1 A05
resource ADC_EXT 1 NONE
resource BARO_CS 1 NONE
mixer TRI

mmix reset

servo 0 1000 2000 1500 100 -1
servo 1 1000 2000 1500 100 -1
servo 2 1000 2000 1500 100 -1
servo 3 1000 2000 1500 100 -1
servo 4 1000 2000 1500 100 -1
servo 5 1125 1905 1500 100 -1
servo 6 1000 2000 1500 100 -1
servo 7 1000 2000 1500 100 -1
smix reverse 5 2 r
smix reset


feature -RX_PPM
feature -INFLIGHT_ACC_CAL
feature -RX_SERIAL
feature -MOTOR_STOP
feature -SERVO_TILT
feature -SOFTSERIAL
feature -GPS
feature -SONAR
feature -TELEMETRY
feature -3D
feature -RX_PARALLEL_PWM
feature -RX_MSP
feature -RSSI_ADC
feature -LED_STRIP
feature -DISPLAY
feature -OSD
feature -CHANNEL_FORWARDING
feature -TRANSPONDER
feature -AIRMODE
feature -RX_SPI
feature -SOFTSPI
feature -ESC_SENSOR
feature -ANTI_GRAVITY
feature -DYNAMIC_FILTER
feature RX_SERIAL
feature MOTOR_STOP
feature TELEMETRY
feature RSSI_ADC
feature AIRMODE
feature ANTI_GRAVITY
feature DYNAMIC_FILTER
beeper GYRO_CALIBRATED
beeper RX_LOST
beeper RX_LOST_LANDING
beeper DISARMING
beeper ARMING
beeper ARMING_GPS_FIX
beeper BAT_CRIT_LOW
beeper BAT_LOW
beeper GPS_STATUS
beeper RX_SET
beeper ACC_CALIBRATION
beeper ACC_CALIBRATION_FAIL
beeper READY_BEEP
beeper MULTI_BEEPS
beeper DISARM_REPEAT
beeper ARMED
beeper SYSTEM_INIT
beeper ON_USB
beeper BLACKBOX_ERASE
map AETR1234
serial 0 1 115200 57600 0 115200
serial 1 32 115200 57600 0 115200
serial 2 64 115200 57600 0 115200
led 0 0,0::C:0
led 1 0,0::C:0
led 2 0,0::C:0
led 3 0,0::C:0
led 4 0,0::C:0
led 5 0,0::C:0
led 6 0,0::C:0
led 7 0,0::C:0
led 8 0,0::C:0
led 9 0,0::C:0
led 10 0,0::C:0
led 11 0,0::C:0
led 12 0,0::C:0
led 13 0,0::C:0
led 14 0,0::C:0
led 15 0,0::C:0
led 16 0,0::C:0
led 17 0,0::C:0
led 18 0,0::C:0
led 19 0,0::C:0
led 20 0,0::C:0
led 21 0,0::C:0
led 22 0,0::C:0
led 23 0,0::C:0
led 24 0,0::C:0
led 25 0,0::C:0
led 26 0,0::C:0
led 27 0,0::C:0
led 28 0,0::C:0
led 29 0,0::C:0
led 30 0,0::C:0
led 31 0,0::C:0
color 0 0,0,0
color 1 0,255,255
color 2 0,0,255
color 3 30,0,255
color 4 60,0,255
color 5 90,0,255
color 6 120,0,255
color 7 150,0,255
color 8 180,0,255
color 9 210,0,255
color 10 240,0,255
color 11 270,0,255
color 12 300,0,255
color 13 330,0,255
color 14 0,0,0
color 15 0,0,0
mode_color 0 0 1
mode_color 0 1 11
mode_color 0 2 2
mode_color 0 3 13
mode_color 0 4 10
mode_color 0 5 3
mode_color 1 0 5
mode_color 1 1 11
mode_color 1 2 3
mode_color 1 3 13
mode_color 1 4 10
mode_color 1 5 3
mode_color 2 0 10
mode_color 2 1 11
mode_color 2 2 4
mode_color 2 3 13
mode_color 2 4 10
mode_color 2 5 3
mode_color 3 0 8
mode_color 3 1 11
mode_color 3 2 4
mode_color 3 3 13
mode_color 3 4 10
mode_color 3 5 3
mode_color 4 0 7
mode_color 4 1 11
mode_color 4 2 3
mode_color 4 3 13
mode_color 4 4 10
mode_color 4 5 3
mode_color 5 0 9
mode_color 5 1 11
mode_color 5 2 2
mode_color 5 3 13
mode_color 5 4 10
mode_color 5 5 3
mode_color 6 0 6
mode_color 6 1 10
mode_color 6 2 1
mode_color 6 3 0
mode_color 6 4 0
mode_color 6 5 2
mode_color 6 6 3
mode_color 6 7 6
mode_color 6 8 0
mode_color 6 9 0
mode_color 6 10 0
mode_color 7 0 3
aux 0 0 0 1925 2100
aux 1 1 1 1925 2100
aux 2 2 1 1400 1600
aux 3 0 0 900 900
aux 4 0 0 900 900
aux 5 0 0 900 900
aux 6 0 0 900 900
aux 7 0 0 900 900
aux 8 0 0 900 900
aux 9 0 0 900 900
aux 10 0 0 900 900
aux 11 0 0 900 900
aux 12 0 0 900 900
aux 13 0 0 900 900
aux 14 0 0 900 900
aux 15 0 0 900 900
aux 16 0 0 900 900
aux 17 0 0 900 900
aux 18 0 0 900 900
aux 19 0 0 900 900
adjrange 0 0 2 900 2100 12 2
adjrange 1 1 3 1975 2050 18 4
adjrange 2 1 3 1775 1850 15 4
adjrange 3 1 3 1550 1650 19 4
adjrange 4 1 3 1350 1450 16 4
adjrange 5 1 3 1150 1225 9 4
adjrange 6 1 3 975 1050 10 4
adjrange 7 0 0 900 900 0 0
adjrange 8 0 0 900 900 0 0
adjrange 9 0 0 900 900 0 0
adjrange 10 0 0 900 900 0 0
adjrange 11 0 0 900 900 0 0
adjrange 12 0 0 900 900 0 0
adjrange 13 0 0 900 900 0 0
adjrange 14 0 0 900 900 0 0
rxrange 0 1000 2000
rxrange 1 1000 2000
rxrange 2 1000 2000
rxrange 3 1000 2000
vtx 0 0 0 0 900 900
vtx 1 0 0 0 900 900
vtx 2 0 0 0 900 900
vtx 3 0 0 0 900 900
vtx 4 0 0 0 900 900
vtx 5 0 0 0 900 900
vtx 6 0 0 0 900 900
vtx 7 0 0 0 900 900
vtx 8 0 0 0 900 900
vtx 9 0 0 0 900 900
rxfail 0 a
rxfail 1 a
rxfail 2 a
rxfail 3 h
rxfail 4 h
rxfail 5 h
rxfail 6 h
rxfail 7 h
rxfail 8 h
rxfail 9 h
rxfail 10 h
rxfail 11 h
rxfail 12 h
rxfail 13 h
rxfail 14 h
rxfail 15 h
rxfail 16 h
rxfail 17 h
set align_gyro = DEFAULT
set gyro_lpf = OFF
set gyro_sync_denom = 2
set gyro_lowpass_type = PT1
set gyro_lowpass_hz = 90
set gyro_notch1_hz = 400
set gyro_notch1_cutoff = 300
set gyro_notch2_hz = 200
set gyro_notch2_cutoff = 100
set moron_threshold = 48
set align_acc = DEFAULT
set acc_hardware = AUTO
set acc_lpf_hz = 10
set acc_trim_pitch = 0
set acc_trim_roll = 0
set align_mag = DEFAULT
set mag_hardware = NONE
set mag_declination = 0
set magzero_x = 0
set magzero_y = 0
set magzero_z = 0
set baro_bustype = I2C
set baro_spi_device = 0
set baro_i2c_device = 1
set baro_i2c_address = 0
set baro_hardware = NONE
set baro_tab_size = 21
set baro_noise_lpf = 600
set baro_cf_vel = 985
set baro_cf_alt = 965
set mid_rc = 1500
set min_check = 1010
set max_check = 1900
set rssi_channel = 0
set rssi_scale = 41
set rssi_invert = OFF
set rc_interp = AUTO
set rc_interp_ch = RP
set rc_interp_int = 19
set fpv_mix_degrees = 0
set max_aux_channels = 14
set serialrx_provider = SBUS
set sbus_inversion = ON
set spektrum_sat_bind = 0
set spektrum_sat_bind_autoreset = ON
set airmode_start_throttle = 1350
set rx_min_usec = 885
set rx_max_usec = 2115
set input_filtering_mode = OFF
set blackbox_p_ratio = 32
set blackbox_device = SPIFLASH
set blackbox_on_motor_test = OFF
set blackbox_record_acc = ON
set min_throttle = 1026
set max_throttle = 2000
set min_command = 1000
set dshot_idle_value = 450
set use_unsynced_pwm = OFF
set motor_pwm_protocol = ONESHOT125
set motor_pwm_rate = 480
set motor_pwm_inversion = OFF
set thr_corr_value = 0
set thr_corr_angle = 800
set failsafe_delay = 4
set failsafe_off_delay = 10
set failsafe_throttle = 1000
set failsafe_kill_switch = OFF
set failsafe_throttle_low_delay = 100
set failsafe_procedure = DROP
set align_board_roll = 0
set align_board_pitch = 0
set align_board_yaw = 180
set gimbal_mode = NORMAL
set bat_capacity = 0
set vbat_max_cell_voltage = 43
set vbat_full_cell_voltage = 41
set vbat_min_cell_voltage = 33
set vbat_warning_cell_voltage = 35
set vbat_hysteresis = 1
set current_meter = ADC
set battery_meter = ADC
set vbat_detect_cell_voltage = 30
set use_vbat_alerts = ON
set use_cbat_alerts = OFF
set cbat_alert_percent = 10
set vbat_cutoff_percent = 100
set vbat_scale = 110
set ibata_scale = 400
set ibata_offset = 0
set ibatv_scale = 0
set ibatv_offset = 0
set beeper_inversion = ON
set beeper_od = OFF
set beeper_frequency = 0
set beeper_dshot_beacon_tone = 0
set yaw_motors_reversed = OFF
set 3d_deadband_low = 1406
set 3d_deadband_high = 1514
set 3d_neutral = 1460
set 3d_deadband_throttle = 50
set servo_center_pulse = 1500
set servo_pwm_rate = 50
set servo_lowpass_hz = 0
set tri_unarmed_servo = ON
set channel_forwarding_start = 4
set reboot_character = 82
set serial_update_rate_hz = 100
set accxy_deadband = 40
set accz_deadband = 40
set acc_unarmedcal = ON
set imu_dcm_kp = 2500
set imu_dcm_ki = 0
set small_angle = 25
set auto_disarm_delay = 5
set disarm_kill_switch = ON
set gyro_cal_on_first_arm = OFF
set fixedwing_althold_reversed = OFF
set alt_hold_deadband = 40
set alt_hold_fast_change = ON
set deadband = 0
set yaw_deadband = 0
set yaw_control_reversed = OFF
set pid_process_denom = 8
set tlm_switch = OFF
set tlm_inverted = OFF
set tlm_halfduplex = ON
set frsky_default_lat = 0
set frsky_default_long = 0
set frsky_gps_format = 0
set frsky_unit = IMPERIAL
set frsky_vfas_precision = 0
set hott_alarm_int = 5
set pid_in_tlm = OFF
set report_cell_voltage = OFF
set ledstrip_visual_beeper = OFF
set osd_units = METRIC
set osd_rssi_alarm = 20
set osd_cap_alarm = 2200
set osd_alt_alarm = 100
set osd_ah_max_pit = 20
set osd_ah_max_rol = 40
set osd_tim1 = 2560
set osd_tim2 = 2561
set osd_vbat_pos = 2092
set osd_rssi_pos = 2088
set osd_tim_1_pos = 2102
set osd_tim_2_pos = 2081
set osd_flymode_pos = 2381
set osd_throttle_pos = 2273
set osd_vtx_channel_pos = 2425
set osd_crosshairs = 2248
set osd_ah_sbar = 2248
set osd_ah_pos = 2248
set osd_current_pos = 2433
set osd_mah_drawn_pos = 2401
set osd_craft_name_pos = 2410
set osd_gps_speed_pos = 2266
set osd_gps_lon_pos = 2130
set osd_gps_lat_pos = 2113
set osd_gps_sats_pos = 2099
set osd_home_dir_pos = 2350
set osd_home_dist_pos = 2351
set osd_compass_bar_pos = 2314
set osd_altitude_pos = 2295
set osd_pid_roll_pos = 2471
set osd_pid_pitch_pos = 2503
set osd_pid_yaw_pos = 2535
set osd_debug_pos = 2049
set osd_power_pos = 2369
set osd_pidrate_profile_pos = 2393
set osd_warnings_pos = 2377
set osd_avg_cell_voltage_pos = 2124
set osd_pit_ang_pos = 2305
set osd_rol_ang_pos = 2337
set osd_battery_usage_pos = 2440
set osd_disarmed_pos = 2186
set osd_nheading_pos = 2359
set osd_nvario_pos = 2327
set osd_esc_tmp_pos = 2130
set osd_esc_rpm_pos = 2131
set osd_stat_max_spd = ON
set osd_stat_max_dist = OFF
set osd_stat_min_batt = ON
set osd_stat_min_rssi = ON
set osd_stat_max_curr = ON
set osd_stat_used_mah = ON
set osd_stat_max_alt = OFF
set osd_stat_bbox = ON
set osd_stat_endbatt = OFF
set osd_stat_bb_no = ON
set osd_stat_tim_1 = OFF
set osd_stat_tim_2 = ON
set task_statistics = ON
set debug_mode = NONE
set pwr_on_arm_grace = 0
set vtx_halfduplex = ON
set displayport_msp_col_adjust = 0
set displayport_msp_row_adjust = 0
set esc_sensor_halfduplex = OFF
set led_inversion = 0
set dashboard_i2c_bus = 1
set dashboard_i2c_addr = 60
set camera_control_mode = HARDWARE_PWM
set camera_control_ref_voltage = 330
set camera_control_key_delay = 180
set camera_control_internal_resistance = 470
profile 0

set dterm_lowpass_type = BIQUAD
set dterm_lowpass = 100
set dterm_notch_hz = 260
set dterm_notch_cutoff = 160
set vbat_pid_gain = OFF
set pid_at_min_throttle = ON
set anti_gravity_threshold = 350
set anti_gravity_gain = 1000
set setpoint_relax_ratio = 100
set dterm_setpoint_weight = 0
set acc_limit_yaw = 100
set acc_limit = 0
set crash_dthreshold = 50
set crash_gthreshold = 400
set crash_setpoint_threshold = 350
set crash_time = 500
set crash_delay = 0
set crash_recovery_angle = 10
set crash_recovery_rate = 100
set crash_limit_yaw = 200
set crash_recovery = OFF
set iterm_windup = 50
set iterm_limit = 150
set pidsum_limit = 500
set pidsum_limit_yaw = 400
set yaw_lowpass = 0
set p_pitch = 88
set i_pitch = 10
set d_pitch = 10
set p_roll = 78
set i_roll = 10
set d_roll = 10
set p_yaw = 50
set i_yaw = 10
set d_yaw = 20
set p_alt = 50
set i_alt = 0
set d_alt = 0
set p_level = 50
set i_level = 50
set d_level = 75
set p_vel = 55
set i_vel = 55
set d_vel = 75
set level_limit = 55
set horizon_tilt_effect = 75
set horizon_tilt_expert_mode = OFF
rateprofile 0

set rc_rate = 100
set rc_rate_yaw = 100
set rc_expo = 0
set rc_expo_yaw = 0
set thr_mid = 50
set thr_expo = 0
set roll_srate = 70
set pitch_srate = 70
set yaw_srate = 70
set tpa_rate = 10
set tpa_breakpoint = 1650
 

LitterBug

Techno Nut
Moderator
I think the first thing I'll do is flash 3.1.7, check the default resource mapping, then flash 3.2.x and check the mapping. I've had this FC in an Owl and Danaus builds so far, so maybe it will end up in a FrankenTri... I have all the parts from the trifecta sitting around. should be no effort to whip something up, even if it doesn't ever fly.

Cheers!
LitterBug
 
Last edited:

makattack

Winter is coming
Moderator
Mentor
For comparison, here's my working BF 3.1.7 config:

Code:
# Betaflight / SPRACINGF3 3.1.7 Apr  3 2017 / 22:27:23 (e1c4b5c)
name kc1chr FTETri
resource BEEPER 1 C15
resource MOTOR 1 A06
resource MOTOR 2 A07
resource MOTOR 3 A11
resource MOTOR 4 NONE
resource MOTOR 5 NONE
resource MOTOR 6 NONE
resource MOTOR 7 NONE
resource MOTOR 8 NONE
resource MOTOR 9 NONE
resource MOTOR 10 NONE
resource MOTOR 11 NONE
resource MOTOR 12 NONE
resource SERVO 1 A12
resource SERVO 2 NONE
resource SERVO 3 NONE
resource SERVO 4 NONE
resource SERVO 5 NONE
resource SERVO 6 NONE
resource SERVO 7 NONE
resource SERVO 8 NONE
resource PPM 1 A00
resource PWM 1 A00
resource PWM 2 A01
resource PWM 3 B11
resource PWM 4 B10
resource PWM 5 B04
resource PWM 6 B05
resource PWM 7 B00
resource PWM 8 B01
resource LED_STRIP 1 A08
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A14
resource SERIAL_TX 3 B10
resource SERIAL_TX 4 NONE
resource SERIAL_TX 5 NONE
resource SERIAL_TX 6 NONE
resource SERIAL_TX 7 NONE
resource SERIAL_TX 8 NONE
resource SERIAL_TX 9 NONE
resource SERIAL_TX 10 NONE
resource SERIAL_TX 11 B05
resource SERIAL_TX 12 B01
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A15
resource SERIAL_RX 3 B11
resource SERIAL_RX 4 NONE
resource SERIAL_RX 5 NONE
resource SERIAL_RX 6 NONE
resource SERIAL_RX 7 NONE
resource SERIAL_RX 8 NONE
resource SERIAL_RX 9 NONE
resource SERIAL_RX 10 NONE
resource SERIAL_RX 11 B04
resource SERIAL_RX 12 B00
mixer TRI

mmix reset

servo 0 1000 2000 1500 90 90 100 -1
servo 1 1000 2000 1500 90 90 100 -1
servo 2 1000 2000 1500 90 90 100 -1
servo 3 1000 2000 1500 90 90 100 -1
servo 4 1000 2000 1500 90 90 100 -1
servo 5 1125 1905 1500 90 90 100 -1
servo 6 1000 2000 1500 90 90 100 -1
servo 7 1000 2000 1500 90 90 100 -1
smix reset


smix reverse 5 2 r
feature -RX_PPM
feature -VBAT
feature -INFLIGHT_ACC_CAL
feature -RX_SERIAL
feature -MOTOR_STOP
feature -SERVO_TILT
feature -SOFTSERIAL
feature -GPS
feature -FAILSAFE
feature -SONAR
feature -TELEMETRY
feature -CURRENT_METER
feature -3D
feature -RX_PARALLEL_PWM
feature -RX_MSP
feature -RSSI_ADC
feature -LED_STRIP
feature -DISPLAY
feature -OSD
feature -BLACKBOX
feature -CHANNEL_FORWARDING
feature -TRANSPONDER
feature -AIRMODE
feature -SDCARD
feature -VTX
feature -RX_SPI
feature -SOFTSPI
feature -ESC_SENSOR
feature -FEATURE_ANTI_GRAVITY
feature VBAT
feature RX_SERIAL
feature MOTOR_STOP
feature FAILSAFE
feature TELEMETRY
feature RSSI_ADC
feature BLACKBOX
beeper GYRO_CALIBRATED
beeper RX_LOST
beeper RX_LOST_LANDING
beeper DISARMING
beeper ARMING
beeper ARMING_GPS_FIX
beeper BAT_CRIT_LOW
beeper BAT_LOW
beeper GPS_STATUS
beeper RX_SET
beeper ACC_CALIBRATION
beeper ACC_CALIBRATION_FAIL
beeper READY_BEEP
beeper MULTI_BEEPS
beeper DISARM_REPEAT
beeper ARMED
beeper SYSTEM_INIT
beeper ON_USB
map AETR1234
serial 0 1 115200 57600 0 115200
serial 1 32 115200 57600 0 115200
serial 2 64 115200 57600 0 115200
led 0 0,0::C:0
led 1 0,0::C:0
led 2 0,0::C:0
led 3 0,0::C:0
led 4 0,0::C:0
led 5 0,0::C:0
led 6 0,0::C:0
led 7 0,0::C:0
led 8 0,0::C:0
led 9 0,0::C:0
led 10 0,0::C:0
led 11 0,0::C:0
led 12 0,0::C:0
led 13 0,0::C:0
led 14 0,0::C:0
led 15 0,0::C:0
led 16 0,0::C:0
led 17 0,0::C:0
led 18 0,0::C:0
led 19 0,0::C:0
led 20 0,0::C:0
led 21 0,0::C:0
led 22 0,0::C:0
led 23 0,0::C:0
led 24 0,0::C:0
led 25 0,0::C:0
led 26 0,0::C:0
led 27 0,0::C:0
led 28 0,0::C:0
led 29 0,0::C:0
led 30 0,0::C:0
led 31 0,0::C:0
color 0 0,0,0
color 1 0,255,255
color 2 0,0,255
color 3 30,0,255
color 4 60,0,255
color 5 90,0,255
color 6 120,0,255
color 7 150,0,255
color 8 180,0,255
color 9 210,0,255
color 10 240,0,255
color 11 270,0,255
color 12 300,0,255
color 13 330,0,255
color 14 0,0,0
color 15 0,0,0
mode_color 0 0 1
mode_color 0 1 11
mode_color 0 2 2
mode_color 0 3 13
mode_color 0 4 10
mode_color 0 5 3
mode_color 1 0 5
mode_color 1 1 11
mode_color 1 2 3
mode_color 1 3 13
mode_color 1 4 10
mode_color 1 5 3
mode_color 2 0 10
mode_color 2 1 11
mode_color 2 2 4
mode_color 2 3 13
mode_color 2 4 10
mode_color 2 5 3
mode_color 3 0 8
mode_color 3 1 11
mode_color 3 2 4
mode_color 3 3 13
mode_color 3 4 10
mode_color 3 5 3
mode_color 4 0 7
mode_color 4 1 11
mode_color 4 2 3
mode_color 4 3 13
mode_color 4 4 10
mode_color 4 5 3
mode_color 5 0 9
mode_color 5 1 11
mode_color 5 2 2
mode_color 5 3 13
mode_color 5 4 10
mode_color 5 5 3
mode_color 6 0 6
mode_color 6 1 10
mode_color 6 2 1
mode_color 6 3 0
mode_color 6 4 0
mode_color 6 5 2
mode_color 6 6 3
mode_color 6 7 6
mode_color 6 8 0
mode_color 6 9 0
mode_color 6 10 0
mode_color 7 0 3
aux 0 0 0 1925 2100
aux 1 1 1 1925 2100
aux 2 2 1 1425 1575
aux 3 0 0 900 900
aux 4 0 0 900 900
aux 5 0 0 900 900
aux 6 0 0 900 900
aux 7 0 0 900 900
aux 8 0 0 900 900
aux 9 0 0 900 900
aux 10 0 0 900 900
aux 11 0 0 900 900
aux 12 0 0 900 900
aux 13 0 0 900 900
aux 14 0 0 900 900
aux 15 0 0 900 900
aux 16 0 0 900 900
aux 17 0 0 900 900
aux 18 0 0 900 900
aux 19 0 0 900 900
adjrange 0 0 2 900 2100 12 2
adjrange 1 1 3 1975 2050 18 4
adjrange 2 1 3 1775 1850 15 4
adjrange 3 1 3 1550 1650 19 4
adjrange 4 1 3 1350 1450 16 4
adjrange 5 1 3 1150 1225 9 4
adjrange 6 1 3 975 1050 10 4
adjrange 7 0 0 900 900 0 0
adjrange 8 0 0 900 900 0 0
adjrange 9 0 0 900 900 0 0
adjrange 10 0 0 900 900 0 0
adjrange 11 0 0 900 900 0 0
adjrange 12 0 0 900 900 0 0
adjrange 13 0 0 900 900 0 0
adjrange 14 0 0 900 900 0 0
rxrange 0 1000 2000
rxrange 1 1000 2000
rxrange 2 1000 2000
rxrange 3 1000 2000
rxfail 0 a
rxfail 1 a
rxfail 2 a
rxfail 3 h
rxfail 4 h
rxfail 5 h
rxfail 6 h
rxfail 7 h
rxfail 8 h
rxfail 9 h
rxfail 10 h
rxfail 11 h
rxfail 12 h
rxfail 13 h
rxfail 14 h
rxfail 15 h
rxfail 16 h
rxfail 17 h
set task_statistics = ON
set mid_rc = 1500
set min_check = 1020
set max_check = 1900
set rssi_channel = 0
set rssi_scale = 30
set rc_interp = AUTO
set rc_interp_ch = RP
set rc_interp_int = 19
set rssi_invert = OFF
set input_filtering_mode = OFF
set fpv_mix_degrees = 0
set max_aux_channels = 14
set debug_mode = NONE
set min_throttle = 1026
set max_throttle = 2000
set min_command = 1000
set digital_idle_percent =  4.500
set 3d_deadband_low = 1406
set 3d_deadband_high = 1514
set 3d_neutral = 1460
set 3d_deadband_throttle = 50
set use_unsynced_pwm = OFF
set motor_pwm_protocol = OFF
set motor_pwm_rate = 480
set disarm_kill_switch = ON
set gyro_cal_on_first_arm = OFF
set auto_disarm_delay = 5
set small_angle = 25
set fixedwing_althold_dir = 1
set reboot_character = 82
set serial_update_rate_hz = 100
set gps_provider = NMEA
set gps_sbas_mode = AUTO
set gps_auto_config = ON
set gps_auto_baud = OFF
set gps_wp_radius = 200
set nav_controls_heading = ON
set nav_speed_min = 100
set nav_speed_max = 300
set nav_slew_rate = 30
set beeper_inversion = ON
set beeper_od = OFF
set serialrx_provider = SBUS
set sbus_inversion = ON
set spektrum_sat_bind = 0
set spektrum_sat_bind_autorst = 1
set tlm_switch = OFF
set tlm_inversion = ON
set sport_halfduplex = ON
set frsky_default_lat =  0.000
set frsky_default_long =  0.000
set frsky_gps_format = 0
set frsky_unit = IMPERIAL
set frsky_vfas_precision = 0
set frsky_vfas_cell_voltage = OFF
set hott_alarm_int = 5
set pid_in_tlm = OFF
set bat_capacity = 0
set vbat_scale = 108
set vbat_max_cell_voltage = 43
set vbat_min_cell_voltage = 33
set vbat_warning_cell_voltage = 35
set vbat_hysteresis = 1
set ibat_scale = 400
set ibat_offset = 0
set mwii_ibat_output = OFF
set current_meter_type = ADC
set battery_meter_type = ADC
set bat_detect_thresh = 55
set use_vbat_alerts = ON
set use_cbat_alerts = OFF
set cbat_alert_percent = 10
set align_gyro = DEFAULT
set align_acc = DEFAULT
set align_mag = DEFAULT
set align_board_roll = 0
set align_board_pitch = 0
set align_board_yaw = 180
set gyro_lpf = OFF
set gyro_sync_denom = 4
set gyro_use_32khz = OFF
set gyro_lowpass_type = PT1
set gyro_lowpass = 90
set gyro_notch1_hz = 400
set gyro_notch1_cut = 300
set gyro_notch2_hz = 200
set gyro_notch2_cut = 100
set moron_threshold = 48
set imu_dcm_kp = 2500
set imu_dcm_ki = 0
set alt_hold_deadband = 40
set alt_hold_fast_change = ON
set deadband = 0
set yaw_deadband = 0
set thr_corr_value = 0
set thr_corr_angle = 800
set yaw_control_direction = 1
set yaw_motor_direction = 1
set servo_center_pulse = 1500
set tri_unarmed_servo = ON
set servo_lowpass_hz = 400
set servo_lowpass = OFF
set servo_pwm_rate = 330
set gimbal_mode = NORMAL
set channel_forwarding_start = 4
set airmode_start_throttle = 1350
set failsafe_delay = 5
set failsafe_off_delay = 10
set failsafe_throttle = 1000
set failsafe_kill_switch = OFF
set failsafe_throttle_low_delay = 100
set failsafe_procedure = DROP
set rx_min_usec = 885
set rx_max_usec = 2115
set acc_hardware = AUTO
set acc_lpf_hz = 10
set accxy_deadband = 40
set accz_deadband = 40
set acc_unarmedcal = ON
set acc_trim_pitch = 0
set acc_trim_roll = 0
set baro_tab_size = 21
set baro_noise_lpf =  0.600
set baro_cf_vel =  0.985
set baro_cf_alt =  0.965
set baro_hardware = NONE
set mag_hardware = NONE
set mag_declination = 0
set pid_process_denom = 2
set blackbox_rate_num = 1
set blackbox_rate_denom = 1
set blackbox_device = SPIFLASH
set blackbox_on_motor_test = OFF
set magzero_x = 0
set magzero_y = 0
set magzero_z = 0
set ledstrip_visual_beeper = OFF
set displayport_msp_col_adjust = 0
set displayport_msp_row_adjust = 0
profile 0

set gps_pos_p = 15
set gps_pos_i = 0
set gps_pos_d = 0
set gps_posr_p = 34
set gps_posr_i = 14
set gps_posr_d = 53
set gps_nav_p = 25
set gps_nav_i = 33
set gps_nav_d = 83
set pidsum_limit =  0.500
set pidsum_limit_yaw =  0.500
set d_lowpass_type = BIQUAD
set d_lowpass = 100
set d_notch_hz = 260
set d_notch_cut = 160
set vbat_pid_gain = OFF
set pid_at_min_throttle = ON
set anti_gravity_thresh = 350
set anti_gravity_gain =  1.000
set setpoint_relax_ratio = 20
set d_setpoint_weight = 100
set yaw_accel_limit =  10.000
set accel_limit =  0.000
set iterm_windup = 50
set yaw_lowpass = 0
set p_pitch = 88
set i_pitch = 10
set d_pitch = 10
set p_roll = 79
set i_roll = 10
set d_roll = 10
set p_yaw = 50
set i_yaw = 10
set d_yaw = 10
set p_alt = 50
set i_alt = 0
set d_alt = 0
set p_level = 50
set i_level = 50
set d_level = 100
set p_vel = 55
set i_vel = 55
set d_vel = 75
set level_sensitivity = 55
set level_limit = 55
rateprofile 0
rateprofile 0

set rc_rate = 100
set rc_rate_yaw = 100
set rc_expo = 0
set rc_yaw_expo = 0
set thr_mid = 50
set thr_expo = 0
set roll_srate = 50
set pitch_srate = 50
set yaw_srate = 50
set tpa_rate = 10
set tpa_breakpoint = 1650
 

makattack

Winter is coming
Moderator
Mentor
I think the first thing I'll do is flash 3.1.7, check the default resource mapping, then flash 3.2.x and check the mapping. I've had this FC in an Owl and Danaus builds so far, so maybe it will end up in a FrankenTri... I have all the parts from the trifecta sitting around. should be no effort to whip something up, even if it doesn't ever fly.

Cheers!
LitterBug

Nice! Yes, that should be easy enough to do. I based my resource mapping on this file:

https://github.com/betaflight/betaflight/blob/master/src/main/target/SPRACINGF3/target.c

using the timerHardware table. I saw that PWM4 and PWM5 use the same timer, so figured I should be good with remapping the servo to PWM4.

On my setup (both) I had to reverse the servo via the smix config command.
 

LitterBug

Techno Nut
Moderator
The odd thing is you are having motor issues... Usually people can't get the servo working.

Wish I had header pins on that FC. Was always soldered direct, and have had a heck of a time trying to get the solder out of the ground plane pin holes. May give it one more go before just tacking the wires on again.
 
Last edited:

makattack

Winter is coming
Moderator
Mentor
Yah, I found it odd that I easily got the servo working, but was having issues with just one motor -- even though I could read that motors ESC, so the board is at least handshaking with the ESC. I suppose this is one of those times one needs to pull out an o-scope to troubleshoot...

Yeah, outside of my minis, I like having header pins on the bigger 450 sized stuff for flexibility and ease of parts replacement. Nothing I hate more than desoldering! That said, I find getting solder out of those pin holes require two devices for me:

1) A solder sucker device to get the big blobs out.
2) Good quality solder wick to clean out the pads / holes completely along with a really hot, well tinned iron.
 
Last edited:

LitterBug

Techno Nut
Moderator
I think you may be running into timer contention and should probably use PWM7 for the servo....

Looking through the triflight forum I found this from @lauka who is the TriFlight guy:
I scoped the outputs on SPRACINGF3 target on 0.7 Beta2.
I tested Oneshot125, Multishot and Dshot300.
The motor outputs on pins 1-3 work with all protocols. The servo output works on pin 7.


Looking at the timer mapping in target.c, it makes sense that you could be having issues because pwm3 (A11) and pwm4 (A12) share a common timer4.

Hate to bust up your tidy 4 plugs in a row, but using PWM7 may be the best option. if you use PWM 7 on a02, it uses timer 15 for the servo and no contention.

There may have been changes in the firmware on how timers and DMA are used in support of dshot that did not cause issues in previous releases.

Still digging unless you think this would be a simple working solution.

Cheers!
LitterBug


EDIT: Sorry if this is somewhat incoherant, Having trouble formulating complete sentences due to a nasty migraine at the moment.
 
Last edited:

LitterBug

Techno Nut
Moderator
Other options which would keep your PWM 1-4, would be
Motor 1 PWM1 A06 tim16
Servo 1 PWM2 A07 tim17
motor 2 PWM3 A11 tim4
Motor 4 PWM4 A12 tim4

or

Servo 1 PWM1 A06 tim16
Motor 1 PWM2 A07 tim17
motor 2 PWM3 A11 tim4
Motor 4 PWM4 A12 tim4
 

LitterBug

Techno Nut
Moderator
Default motor/servo mapping for triflight based on 3.2.2

# resource
resource MOTOR 1 A06
resource MOTOR 2 A07
resource MOTOR 3 A11
resource MOTOR 4 A12
resource MOTOR 5 B08
resource MOTOR 6 B09
resource SERVO 1 A02
resource SERVO 2 A03

Probably the "best" option rolling forward based on the direction the *flight firmware is heading.

LB
 

makattack

Winter is coming
Moderator
Mentor
Thanks for your investigation LitterBug! Sorry to hear you had a migraine from all this :(

I agree. I hadn't seen lauka's comment about pin 7 / a02. Makes sense to me... d'oh! It's usually something as simple as that. Glad to hear I don't have to try and hook up a scope to debug all this as both you and Lauka have done a fine job of it ;)

As with anything in computers and tech... sometimes it just takes another eye to figure out the problem. I'll try that setup and report back here!
 

makattack

Winter is coming
Moderator
Mentor
You're a genius LitterBug! You and Lauka...

That was entirely the problem. Having the servo on PWM pin 4 was just too much load for the timers, I believe. I moved it to pin 7 on both 3.1.7 and 3.2.3 and they both work well so far as the servo and motor response. Only odd thing left for me now is with 3.2.3, the motors spin on arm even with MOTOR_STOP. This is with oneshot125 or PWM ESC control. Couldn't even use oneshot on 3.1.7, so at least it's usable. Recalibrated ESC's and still no change.
 
Last edited:

LitterBug

Techno Nut
Moderator
Raise and lower min_throttle to control what RPM the props spin when armed. Generally speaking, props should always spin when armed. Keeps really bad things from happening at low to 0 throttle while in the air.

Cheers!
LitterBug
 

makattack

Winter is coming
Moderator
Mentor
Yah, it's odd. The same min_throttle value I had under 3.1.7 works as I expected with MOTOR_STOP enabled or disabled. With MOTOR_STOP enabled, the motors won't spin on arm. With MOTOR_STOP disabled, it's running at min_throttle, and I can increase the min_throttle and see it change while just sitting there armed (based on the sound).

With 3.2.3, enabled or disabled, it seems to always spin. With PWM or oneshot125. Yeah, I'll just leave it with MOTOR_STOP disabled, but something's not quite right. This is an experimental/test platform though, so it'll just be part of the experiment.

Err... duh... I shoulda RTFM'd:

https://github.com/betaflight/betaflight/wiki/Frequently-Asked-Questions#how-do-i-enable-air-mode-

I'm trying the airmode always enabled config, so that explains why due to this:

The Motor Stop Feature can be enabled or disabled, and it will behave as it normally does when Air Mode is not active. However, once Air Mode is activated, Motor Stop will be overridden, and the motors will spin at min_throttle or above.

I think I had airmode on a switch for 3.1.7.
 
Last edited:

LitterBug

Techno Nut
Moderator
:) yeah, I use a 3 pos arm switch on TriFlight. Disarm, armed, armed+airmode. But I rarely use *flight any more except when testing triflight. 99% of what I fly is running dRonin now including my tris.


LB