It's not easy to fly FPV during winter weather. You either have to have weather proof quadcopter (airplane) or fly indoors. And it's not simple to find a good, big and cheap place to fly FPV in. But, how about flying FPV in a living room?
As I mentioned in my first post about HC-12 433MHz radio modules, I’ve put my interest in them for telemetry purposes. While S.Port telemetry I’m using in FrSky Taranis radio might have higher range than HC-12, it is closed environment. Since $10 for a pair of HC-12 is not much, I’ve decided for more open DIY solution.
Setup on a quadcopter consist of one HC-12 configured for FU3 mode and baud rate 9600bps connected to SPRacingF3 UART3 port and “air cooled” (shortened with a coil) 433MHz whip antenna. Well, to be precise, it’s 450MHz since I changed working frequency. Antenna is not tuned or scientifically computed. Just 433MHz version shortened a little using proportions. Antenna is mounted on GPS mast. In next version I will probably replace whip antenna with Vee antenna.
With their latest transmitters and receivers FrSky changed telemetry protocol. XJT module, Taranis radios, X8R, X4R and X4RSB are using SmartPort telemetry protocol. And that creates few problems. First of all, SmartPort is a serial protocol. That means, flight controller has to have free serial port to connect S.Port device. Second of all, TX and RX lines shares the same wire. The work in half-duplex mode. Third of all, SmartPort signal levels are inverted: logical 0 is in HIGH state, logical 1 is in high state. All of that combined, connecting SmartPort receiver to flight controller and sending telemetry data is not so easy to archive. Specially on FCs without hardware inverters. That applies to most popular STM32F1 devices like Naze32 and Flip32. Not only numer of UARTs there is limited, but also they lack hardare inverters. Of curse, everything is possible and hardware solution for Cleanflight, Naze32 and SmartPort telemetry can be found here.
Luckily, there is simpler solution for Cleanflight that uses SoftSerial and does not require any hardware hacks besides special wire. Requirements:
- Cleanflight capable flight controller (STM32F1 or STM32F3),
- SmartPort enabled receiver: FrSky X8R, X6R, X4R, X4RSB,
- Possibility to enable SoftSerial. Depending on FC type, different fetures like Parallel PWM, Sonar, LED Strip or Current Meter collides with SoftSerial functionality. Check documentation first. In case of Naze32/Flip32 WS2812b LED strips and Parallel PWM can not be used.
FrSky sells 2 small Taranis compatible receivers: X4R and X4RSB. By default, they offer only PWM signal. 4 channels on X4R and 3 channels plus S.Bus (16 channels over S.Bus) on X4RSB. And that is problematic. Many flight controllers does not support S.Bus very well (no inverters) or just does not offer enough UART ports. When speaking of small multirotors, PPM signal is often the best choice. That made X4R almost useless. For X4RSB additional S.Bus-PPM conversion cable had to be used.
Luckily, this has changed, since FrSky started offering custom X4R/X4RSB firmware that allows 8 channel PPM signal on receivers port 1. The only thing you have to do is to flash you receiver. And those are the steps to do it:
- Download CPPM firmware from this site. Remember that you need proper EU/non-EU version. It all depends if your Taranis and it’s built in XJT module has EU or non-EU firmware. How to determine EU/non-EU Taranis? If you are living outside EU you probably have non-EU firmware. If you are living in EU but bought from non-EU country (China probably) you have non-EU. Also, if in menu you can select D8 or LR12 internal radio mode, you have non-EU firmware. EU firmware allows only D16 mode,
- Follow those steps to flash X4R/X4RSB using Taranis built in port,
- Put a jumper on signal pins 2 and 3,
- Bind receiver with Taranis,
- Remove jumper.
From now on, pin 1 outputs PPM channels 1-8, pin 2 outputs PWM CH9, pin 3 outputs PWM CH 10, and pin 4 outputs either PWM CH11 in X4R or S.Bus on X4RSB. If you want to go back to non-PPM mode, bind receiver again, without jumper on pins 2 and 3.
FrSky X9D Plus Taranis is incredible radio. But also can be intimidation when migrating from simpler radios. Great example is mixing multiple switches into 1 channel to pass flight mode to flight controller. Yes, you can do it, but it can be pain in the ass on a Mixer level. I’ve lost a lot of time trying to understand logic behind mixer weight and offset only to discover possibility to replace channel value, not add. And everything was simple again. So, here what I wanted, and what I did.
What I wanted
When I fly bigger FPV quadcopter, I want to use 7 different flight modes:
- Angle without Altitude Hold (no BARO),
- Horizon without Altitude Hold (no BARO),
- Acro/Rate without Altitude Hold,
- Angle with Altitude Hold (BARO),
- Horizon with Altitude Hold (BARO),
- Position Hold with Altitude Hold (BARO),
- Return To Home with Altitude Hold (BARO)
And I’ve figured out, that 3 switches should be used to enable all the flight modes: SC, SD and SG. SC toggles Angle/Horizon/Acro. SD switches PosHold and RTH (as well as BARO and overrides SC and SG). SG enables Altitude Hold but only when SC is in up or middle position. 3 switches, 7 modes. I could do it with 3 radio channels, but that would have few flaws: would use 3 channels instead of one, and would allow for mistakes like no BARO with POSHOLD. So, advanced mixes and logical switches that is. Continue reading “Multiple flight modes for Cleanflight with Taranis” »
Few months ago I’ve wrote about my first handmade Depron airplane. It was cool design. Super simple, with KFm-2 airfoil, durable and easy to fly. But it had few serious flaws:
- motor mounted in front of fuselage is great for flight characteristics, but propellers breaks all the time. Even with prop savers,
- big fuselage is not the same as fuselage with a lot of space inside.
That’s why, I have build a second Depron airplane. This time with pusher propeller mounted on a tower behind wing. Wing is almost the same design as in my first airplane. It is still an KFm-2 (Kline-Folgeman, modified) airfoil, 150mm chord, 12mm thick. But is a little shorter: 1200mm instead of 1250mm. The main difference is inside wing. Instead of carbon fiber spars I’ve used two carbon fiber 6mm pipes. That gives plenty of stiffness. Wing almost does not bend in flight, even during hard maneuvers. And generates more than enough lift to give nice, slow flying experience without danger of heavy stall. You really have to want to stall it. And event when it stalls, it recovers nicely: drops a nose, dives for a second or two, and you have lift again. No need to work with rudder, just let it dive and gain speed and then level. Continue reading “RedCruiser – DIY Depron airplane for FPV” »
FrSky X9D is an excellent radio. There is a variety of receivers that can work with it. And each of receivers is a small computer itself. With its own firmware that can be changed. Why? For example to enable CPPM mode, or allow receiver to bind with EU or non-EU Taranis (I will write on both topic in different posts). FsSky is selling cables to flash different modules, but Taranis is cool enough to flash S.Port receiver modules by iself. Cool, right? How to do it? Simple:
- You will need OpenTX 2.1 Taranis software or never. If you are using older one, upgrade with Companion app,
- You will need S.Port cable. Different receivers might have different plugs, so you will need right type. Luckily receivers usually comes with proper cable (checked with X4R and X4RSB), and X8R bundled with Taranis has standard servo pulg for S.Port,
- Taranis has “hidden” connector that allows for flash S.Port modules. It is behind JR module cover.