Flash firmare to S.Port FrSky receivers with X9D Taranis

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:

  1. You will need OpenTX 2.1 Taranis software or never. If you are using older one, upgrade with Companion app,
  2. 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,FrSky X4R S.Port cable
  3. Taranis has “hidden” connector that allows for flash S.Port modules. It is behind JR module cover.FrSky X9D Plus TaranisTaranis JR connector

Continue reading Flash firmare to S.Port FrSky receivers with X9D Taranis

Quick Review: EMAX GT2218/08 1100KV motors

Since I was lacking some power in my Reptile 500 quadcopter, I was considering switching my Turnigy MT2213 935KV motors to something more powerful. Last previous weekend kind of forced me to make that switch: I destroyed one motor while trying to replace bearings. Being forced with lack of motors I’ve decided to stay with 3S LiPo, AfroESC and 10″ APC propellers and buy motors that would deliver more power while being compatible with rest of my setup. So I have chosen EMAX GT2218/09 1100KV.

EMAX GT2218/08 1100KV

Why them? Mainly because they were meeting my requirements and being actually available and within reasonable price.

Specs:

  • Weight: 80g,
  • KV: 1100,
  • Max power: 312W,
  • Max thrust:
    • 1380g on APC 11×3.8,
    • 1290 on APC 10×4.7
  • With long shaft at the bottom, so can be mounted in front and behind an firewall,
  • GT series (Grand Turbo, woot woot) for “hi-tec” and “pro” models (such a nice name…),
  • Black (!),
  • Mounting holes: 16x19mm.

Continue reading Quick Review: EMAX GT2218/08 1100KV motors

PID values for Reptile 500 frame

I know, I know… posting PID values for one multirotor is not very useful after all. The same frame with different motors, props and battery might require totally different PID values. But.. At least they can be used as starting point for customized tuning. So, here is my configuration for Reptile 500 and frame and following configuration:

  • Battery: 5000mAh Turnigy 3S,
  • FC: Flip32 running Cleanflight 1.10,
  • Motors: Turnigy Multistar MT2213 935KV
  • Props: APC 10×4.5 MR
  • ESC: AfroESC 20A running OneShot125 and BLHeli 14
  • Weight: 1300g with battery

So, if you have somehow similar configuration, you might try my values. And they are:

  • PID Controller: LuxFloat (BTW, as far as I can read C code (last time I was programming with C about 20 years ago) and know smth about PIDs, this is the only controller implemented into Cleanflight that actually is written in a proper way. The way I see it, all the other works only by mistake, specially on D part. Who thought that substracting D term is actually a good idea?)
  • Roll (P / I / D): 2.5 / 0.06 / 70
  • Pitch (P / I / D): 2.5 / 0.06 / 70
  • Yaw (P / I / D): 2.5 / 0.1 / 0
  • Other controllers on default values
  • Custom mixer from this post
  • PID and gyro filtering enabled via CLI with following commands (BTW again, those filters are he best thing that came in Cleanflight 1.10. Everything is much smoother with them. Good job on those):
    • set dterm_cut_hz = 16
    • set pterm_cut_hz = 32
    • set gyro_cut_hz = 64

Important note for 2015-11-22

PID values from above has been determined as main source of extensive high frequency vibrations causing jello effect. Specially high D, even with LP filter, was causing jello effect. Read this post for improved PID settings for Reptile 500 frame and Cleanflight.

How to add external compass to Flip32

In my last post I’ve showed how to disable internal MHC5883L compass on Flip32+ (10DOF) flight controller board. Now it’s time to fix what we’ve broken last time, and connect external MHC5883L compass with I2C bus.

u-blox NEO-6M with HMC5883L compass

In my case I used very popular setup: u-blox NEO-6M GPS module with integrated MHC5883L compass. So you have both GPS and magnetometer in one case. Pretty nice. I’ve described how to connect NEO-6M GPS few weeks ago, so that part should be covered. The only new thing is compass itself. And hardware setup for it is very simple. In addition to GND and +5V lines you only have to connect SDA and SCL lines to bottom line of connectors right to USB port on Flip32. SDA to SDA, SCL to SCL. In case of I2C we do not have swap lines or do any other kinds of voodoo. Continue reading How to add external compass to Flip32

How to disable compass on Flip32+

Build in HMC5883L compass/magnetometer is very nice feature of Flip32+ flight controller. Too bad it’s not always working like expected and there is a time, when one have to replace it by external device, positioned as far away from power cables as possible.

I’ve encountered that specific problem two weeks ago when I’ve discovered the reason (or at least I think I discovered) why Position Hold and Return To Home GPS assisted flight modes on my Flip32 and Cleanflight were not working. Or rather were working only sometimes, usually when quadcopter was positioned to the north, north east. On any other case, huge overshoots, going in totally different direction than expected. GPS was more less useless. Finally, during one one flight I kept attention to compass heading displayed on OSD. On the ground, heading was correct. After take off, it was drifting to east. Always east. With that data I’ve concluded: Flip32+ built in compass is too close to power cables and when motors are running magnetic field makes compass readings unreliable. Solution: move compass further away from power cables. But with compass already on PCB it was rather impossible. So the only real solution is: disable internal compass and use external HMC5883L connected over I2C bus.

MMC5883L on Flip32+

Continue reading How to disable compass on Flip32+

Quick Review: Turnigy Multistar V2 10A ESC with BLHeli

When I was building my 250 class quadcopter I wanted to make that cheap. So, I’ve bought cheap ESC: Turnigy Multistar V2 10A ESC for S2-3 with 2A LBEC. And yes, they are cheap: slightly less than 8EUR per piece. With preloaded BLHeli software. Cool, isn’t it? Well, not so cool after all, but first things first.

Turnigy Multistar 10A V2 ESC With BLHeli and 2A LBEC 2-3S

Preloaded BLHeli software (version 13.1 in the ones I’ve ordered in late June 2015) simplifies a lot. No need experiment to upload BLHeli and 1-wire interface is available from the start. Also update to BLHeli 14 was pretty simple without any glitches. Unfortunately, there is a reason those ESC are so cheap…

After 2 months of using them in my 250 quadcopter I can state the following:

Pros:

  • They are cheap all right,
  • None of them burned yet so it’s a good sign,
  • Preinstalled BLHeli and easy to upgrade

Cons:

  • 10A is not much for a quadcopter needs, slightly higher max current would be welcomed . But this is my fault, not those ESC,
  • they do not support Damping Light, so no active breaking on those ESC (booo),
  • OneShot125 on those ESC behaves strange when throttle is below lower limit. They screech. Fortunately nothing bad happens in flight,
  • 2A LBEC regulator is in fact double LM7805. And it heat a lot.

Continue reading Quick Review: Turnigy Multistar V2 10A ESC with BLHeli

Cleanflight custom mixing for Reptile 500 frame

Asymmetrical frames like Dead Cat or Spider type have many advantages. Big central plate to put all the electronics, front view not obscured by arms and motors. And they look cool. Way cooler than traditional X frames. But there is a price. Because they are asymmetrical, flight controller has to put much more effort into stabilizing them. Motors are not in equal distance from center of weight, and because of this require different force applied when performing stabilization. Quad will fly even when standard X configuration is programmed into flight controller, but will not archive best performance. For example, when FC wants to roll, different motor distance from COG might induce also pitch rotation. Of curse FC will compensate in next cycle for that unwanted pitch movement, but what if it would have to do that? Less corrections, lower power usage, higher stability, better control.

Reptile 500 frame quadcopter in flight

This is why most flight controller software allows to program almost any motor configuration and tell it how far any motor from rotation axis is to match applied force for each motor separately. General rule: motors closer to rotation axis require more force than those further away (torque and stuff). This is called custom mixing. Continue reading Cleanflight custom mixing for Reptile 500 frame

Let’s build 250 class quadcopter: mostly done

It’s been few weeks since my last post about 250 class quadcopter based on carbon fiber ZMR250 frame. Machine is mostly finished by now. At least in LOS configuration. FPV gear has only arrived last week and I still had no time to put it in.

ZMR250 quadcopter

Anyway, it flies and crashes a lot. But this is 250. It’s supposed to do so. After little more than 2 hours in air I can say that:

  1. It is heavy. With 1.3Ah 3S LiPo battery and RunCam HD it weights 530g. Have to make it lighter…
  2. Turnigy Multistar V2 2206 2150KV “Baby Beast” with Gemfan 5030 propellers does not provide enough thrust. Do not get me wrong, it is fast, but I was kind of hoping for higher level craziness.
  3. It is tough. Oh the crashes it has survived…

ZMR250 with RunCam HD

ZMR250 in air

How to flash MW OSD to Micro MinimOSD

While playing with newly arrived Micro MinimOSD and attempting to flash it with latest MW OSD software, I’ve discovered that offical tutorial, as well as many other are missing one tiny detail that makes whole process much harder than expected. In theory, MinimOSD just Arduino Pro Mini with additional hardware. So, in theory, you plug in your FTDI USB adapter and upload a sketch. But if you never worked with Arduino Pro Mini (like me, it was always Uno, Pro Micro, or barebone Atmega328) you might not know one detail. Yesterday it took me more than 30 minutes to figure out firmware upload is not working, while it should. So, another tutorial will be written.

Micro MinimOSD with soldered pins

Micro MinimOSD pinout

 

To flash MW OSD to Micro MinimOSD we will need:

Continue reading How to flash MW OSD to Micro MinimOSD