Based on this project with very slight modifications.
Note: you only need one receiver from the list below, depending on your transmitter. See details here or here.
Name | Comments | Price $ |
---|---|---|
3D printed parts | Had to modify a bit (rotate / slice) to be able to print on Prusa i3 MK2 | - |
Flight controller Mamba MK2 F405 | Banggood - was out of stock | 27.55 |
RC receiver Flysky FS-A8S | For FlySky (AFHDS 2A) transmitters | 11.99 |
RC receiver FrSky R-XSR | For FrSky (ACCST) transmitters (e.g. Taranis) | 25.59 |
ESC T-motor F35A 3-6S BLHeli_32 | Alternative: DYS BL30A Mini 30A BLHeli OPTO | 22 |
Motors Racerstar Racing Edition 2306 | - | 9.60 |
Propeller FCMODEL 6045 6 Inch 3-Blade | - | 3.49 |
Servos 4X Emax ES9051 Digital Mini Servo | - | 16.99 |
Battery Tattu 11.1V 1300mAh 75C 3S | - | 18.99 |
M3 hardware kit | Nylon instead of metal | 14.99 |
Servo extension cables | Needed as an extension to connect servos to FC | 5.99 |
XT60 male connector | - |
Follow the instructions on Hack-A-Day or Make Magazine, Vol. 76.
To center the servos you can use provided Arduino sketch. Here is the respective wiring:
Binding RC transmitter and receiver can sometimes be tricky. Most importantly, make sure that protocols, AFHDS or ACCST, of transmitter and receiver match.
In my case, I have Taranis X9D+ transmitter and FrSky R-XSR receiver. My firmware configuration is:
- OpenTX 2.3.11. How to update.
- Pre 2.x version of firmware both in Taranis XJT internal module and R-XSR receiver (ACCST D16).
- It is important that these versions match, otherwise transmitter and receiver will not bind.
- How to update receiver firmware, or another tutorial.
- XJT firmware
- If you decide to use version 2.x, then corresponding matching versions need to be flashed both in transmitter XJT module and receiver.
First you need to remap servos to 4 standard motor outputs and our motor output to PPM. Open CLI tab in Betaflight and run the following:
resource MOTOR 1 NONE
resource MOTOR 2 NONE
resource MOTOR 3 NONE
resource MOTOR 4 NONE
resource PPM 1 NONE
resource SERVO 1 A03
resource SERVO 2 B01
resource SERVO 3 B00
resource SERVO 4 A02
resource MOTOR 1 C09
save
# resource MOTOR 1 C09
NOTE: C09 already assigned to ESCSERIAL.
Resource is set to C09
# smix script for singlecopter on MambaF405_MK2 (by Benjamin Prescher)
mixer CUSTOMAIRPLANE
# load a standard motor mix
mmix reset
mmix load airplane # Motor1 as ESC output
#mmix 0 1.000 0.000 0.000 0.000
# smix
smix reset
smix 0 3 0 100 0 0 100 0
smix 1 2 0 -100 0 0 100 0
smix 2 4 1 100 0 0 100 0
smix 3 5 1 -100 0 0 100 0
smix 4 3 2 50 0 0 100 0
smix 5 2 2 50 0 0 100 0
smix 6 4 2 50 0 0 100 0
smix 7 5 2 50 0 0 100 0
save
- In Configuration tab, set PID loop frequency under System Configuration section to 1KHz.
- Update servo LPF:
set servo_lowpass_hz = 20 set servo_pwm_rate = 250 save
Do not forget to check propeller rotation! Re-solder the wires (swap any 2 ESC-motor wires) if needed.