
Last year I got one of the nice tiny quadcopter Cheerson TINY CX-95S . After a lot of enjoyable flights it was time to test if this copter can handle a 2s lipo. After 2 more flights with a bit more power, one of the motors died. This was the opportunity to think about using it on a fixed wing plane, to be more precise, on a toy plane with just two differential motors to do all movements. No servos are on this old AirAce Betty plane. One big plus on this plane type is, it’s very robust and hard to destroy.
To replace the old controller also has some advantages
- 2.4GHz based connection instead of 27 MHz
- Smaller electronic
- Stabilisation is build in
- Fully programmable
Disassembling the quadcopter shows that it has four main parts, the flight controller, the receiver connected via part/serial, the cam and the video transmitter. Cam and video transmitter are connected via usual analoge video signal. Video transmitter and flight controller use the same battery connection which means, the video-cam combination can also be used independent from the flight control.
The flight controller itself is a F3 based one, running a Betaflight firmware. The first thing to find out was, how the board is named within the Betaflight configuration software to be able to flash it to the latest version. In the configuration software the board was detected as “SPEV”, but there was no board named like this to choose for flashing.
2018-04-17 @ 06:51:40 -- MultiWii API version: 1.31.0
2018-04-17 @ 06:51:40 -- Flight controller info, identifier: BTFL, version: 3.1.5
2018-04-17 @ 06:51:40 -- Running firmware released on: Feb 7 2017 22:31:13
2018-04-17 @ 06:51:40 -- Board: SPEV, version: 0
2018-04-17 @ 06:51:40 -- Unique device ID: 0x1c00364234571820343534
So a full text search within the open source firmware files showed, that this “SPEV” is only used in the target.h file within the “SPRACINGF3EVO” folder. The name of the folder is the name of the board within the configuration software and can be successful flashed. In case of some problems with the flashing there I found the 2 boot pads on the board which helped a lot in my case. Because sometimes you have to use these. If you connect both pads the board goes into DFU mode and you can flash it.

Theoretically it’s also possible to flash other compatible firmware like iNav, but for the first tests it was easier to stick to the Betaflight software. Even if the iNav software has some useful additional functionality like autonomous navigation.
Next step was to use a custom mixer and only use the roll part for two motors. So the commands for the command line looked like this:
mixer CUSTOM
mmix reset
mmix 0 1.000 -1.000 0.000 0.000
mmix 1 1.000 1.000 0.000 0.000
save
The parameters have the following meaning. First is the motor number, then throttle, roll, pitch and yaw.
For some reasons it’s not possible to choose other combinations than 0 and 1 for the motor number, even if you would prefer for example 0 and 3 because the position on the board nicer to have less cables crossing the whole board. You have always to start from 0 and go on with 1, 2 and 3 depending on how many motors you want to use.
Because the plane need a 2S Lipo I thought it might be better to cut of the connection between the two pads on the board labeled with S1 and instead connect the pads labeled with S2.
After a first test flight it was clear that the default PID settings for roll are way too high. The plane wobbled a lot, but stays in the air and was controllable.
After some more flights and adapting the PID values the flight behavior becomes better and better. Now I used for roll PID the values 8, 7 and 4 and the plane flows quite good.
So in the end it’s quite nice to see that it’s possible to use all the parts of a cheap quadcopter within another vehicle. As long as the other vehicle does not need much more power and use the same motor type (brushed) as well as do not need anything else like servos. Some type of boats and coax-helicopter are constructed like this for example.