Modification and assemble of an S900 with ‘The Cube’ flight controller. This information is for guidance, it documents some of the key setup procedures carried out and is not a complete guide.

Overview- S900

The S900 was a Hexacopter sold by DJI but now discontinued. It is a similar frame design to tarrot folding series like the 680.

It was available as a part assembled kit with integrated motors and esc, the lower frame plate is a PDB with tracers for the ESC and a few power take off points.

There are readily available second hand and lots of new parts and spares are available online.

Originally intended for the Wookong or A2 flight controller, they make good donor frames for a quick pixhawk build.

Parts List

1 x S900 Kit (the frame with retractable landing gear, motors and ESCs)

1 x Cube combo pack (Cube black standard carrier board and Here GPS)

1 x FrSky X9D+ and X8R (optional Telemetry adapter for Lua scripts)

1 x GPS Stand (unless included with Kit)

6 x M2.5 10mm M-F standoffs (to raise the top plate over cube)

1 x Pair Holybro 433 MHz V3 telemetry radios (for connecting to GCS

1 x 6S 10000 mAh LiPo we used Tattu 25C, larger batteries can fit upto 16K

1 x Battery connectors to match DJI (AMASS AS/AT 150 mix)


Servo leads, 3M Tape, thread lock, Velcro, tools …

S900 Pixhawk Cube Build

Checking the S900 pre-assembly

Before the build was started the donor frame was checked to make sure it was suitable, and worn or defective parts are replaced.

Some things to check …

Motor mounts, their security and condition of the rubber dampers, Propellers and their attachemnt

Folding mechanism function and the attachment of the locking mechanis

Integrity of the frame centre section, all screws and mounting plates, landing gear attachemnt, battery tray

Power distribution system and attachment of motor power wires.

Functioning of each motor, I used a servo tester to spin the motors.

Functioning of the landing gear, again a servo tester can be used with power applied to the drone.

A full check should be carried out of all items to ensure you are satisfied the frame is safe to use and any parts needed should be replaced. This is not an exhaustive list.

Changes to the Frame

The main change to the frame I made was to alight the battery mount to the centre since no gimbal was being used, for its original purpose a camera and gimbal would hang forward with the battery hanging out to the rear. The battery mount was moved forward to balance the drone on the pitch axis.

In order to fit larger batteries the connection for landing gear power should be moved to take power from the top of the PDB

GPS mounts were added – see picture

m2.5 standoffs are used to raise the top plate so the Cube can fit in the centre of the frame.

Parameters – Pre Flight

Some of the initial setting changes prior to flight.

Frame type – Hexa X

Enable 3rd IMU

Set battery monitor – using included power brick, only for voltage sensing no current pass through.

Change roll and pitch filtering to 10 hz from 20

Set autotune for 1 axis and aggression to 0.08 – Flight time is expected to be 10-15 mins, I will tune 1 axis at a time.

Set RC fail safe and battery fail safe (21.4v to start)

Geo fence the drone for safety on initial flights

Set flight modes Stabilised, Alt Holt and Loiter to a 3 position switch.

Set a switch for auto tune (I use RC8 – can be set on extended tuning page)

More settings

Landing gear

Set a 2 position switch on the TX to be used for Landing gear

Set the function of the switch to Landing gear (29) in the full parameters list

Plug the connector in the a spare servo port, I used AUX 2

Set AUX 2 (servo 10) function to Landing Gear (29)

Change LGR settings in the full parameters list for deployed and retracted, they are backwards for this model. I used end points of 1100 and 1900.

Change the Servo min and max settings for 1-6, DJI esc have fixed endpoints and cannot be calibrated, I used 1120 and 1940.

Motor Layout

The motor numbering from DJI is different to Arducopter. see picture for correct numbering when using Arducopter.

*** If you are doing this build on an S1000 (octocopter version), arms must be swapped in pairs for the correct CW and CCW rotations ***

The motor test function can be used to ensure the motors have been connected in the correct order, the incorrect wiring of motors is the most common cause of flip over on taking off for first flight.

Radio setup

A FrSky Taranis X9D+ is used with the latest version of Open TX and a LUA script such as Flight Deck or Yapuu, this is loaded on to the SD card

All settings are done as output mixes, logical switches are used for the 6 flight modes.

2 switches are used to allow for 6 flight modes on channel 5

The radio stick calibration is performed on the taranis from its settings menus before any radio calibration is done with the pixhawk.

It is bound to the X8R and connected via SBUS to the Pixhawk RC in port.

The radio calibration on the pixhawk is done, ensure trims are centred.

Throttle failsafe should be adjusted to 950 from 975, check this is functioning.

Additional channels and settings are mapped to their corresponding functions shown in the table on the right.

Channel Mapping and Functions

Channel Function
1 A
2 E
3 T
4 R
5 Mode Switch, 6 options using 2 switches
6 Waypoint Speed
7 Super Simple Mode
8 Autotune then change to Land
10 Landing Gear

Post Flight Parameters

The tuning page from 1st auto tune of all axis is shown on the right.

The following parameters are set after auto tune.

ATC_THR_MIX_MAX – to 0.8 from 0.5 (prioritises altitude over throttle for more accurate height holding)

remove Autotune from a switch

Set values for voltage scaling PIDS, min and max voltage

Changed loiter break delay from 1 to 0.1 (feels better in loiter)