Building the UAVs
Component List
| Part | Quantity |
|---|---|
| MatekSys H743-SLIM v3 | 1 |
| Flywoo GOKU ESC (4in1 32bit 3-6S) | 1 |
| T-Motor F1404 KV3800 | 4 |
| GEMFAN Hurricane 3016-3 | 4 |
| VIFLY ShortSaver 2 | 1 |
| MatekSys M10Q GPS | 1 |
| MatekSys mR900-30 | 1 |
| MatekSys Optical FLow 3901-L0X | 1 |
Design Files
Carbon Fibre Machining Companies
The base frame of the UAV is machined from a Carbon Fibre sheet. Unless you want to do this yourself, we recommend using one of the following companies for manufacturing the frames:
- CNC Madness (Canada) — Good price and quality, great if you are not in a rush
- Carbon Fibre Tubes (UK) — More expensive than CNC Madness, but they are located in Fareham and registered as a supplier with the university so better for quick turnarounds
Altering the frame design
If you need to change the design of the frame, maybe to accommodate different components, you are strongly encouraged to 3D print a prototype before ordering the frame. This will help you identify any potential issues with the design before investing significant time and money into having the frames manufactured. Please contact Toby Godfrey (t.godfrey ~at~ soton.ac.uk) with your updated designs so we can add them to these resources.
Assembly
Nylon Locking Nuts
Nylon Locking Nuts (A.K.A. Nylocks) are not infinite use. Once they have been tightened through the nylon ring several times, the the locking ring can be damaged and performance will degrade. Before tightening the bolt, ensure you will not need to remove that component many times again. It may be a good idea to leave all of the locking nuts off until the end of assembly.
- Pass the
M3x16countersunk bolts from the bottom of the frame through the 4 larger countersunk holes and use anM3nut to lock the bolt in place. Ensure the bolt is seated in the countersink bore on the underside of the frame. Place the flight controller (with the rubber grommets) onto the bolts and then use 4M3 Nylocknuts to tightly lock the flight controller in place. Make sure the arrow on the board is on the top and facing forwards. - Attach the cable between the flight controller and the ESC, then pass the
M2x14countersunk bolts through the smaller 4 holes in the middle of the frame. Then use anM2nut to lock those bolts to the frame. Place the ESC (with the rubber grommets) onto the bolts and then use 4M2 Nylocksto secure the ESC in place. - Pass 4
M2x8bolts through the 4 motor mount holes on one arm. Place the motor on top and thread the bolts into the motors. Repeat for the other 3 motors. - Place the radio module and the GNSS module into their respective mounts, and place them either side of the rear mounting arm. Pass one
M3x14bolt through each hole, and use anM3 Nylockto secure each bolt and keep the mounts flush against the frame. - Place the optical flow board on the underside of the mount between the front motors. Use
M3x12bolts andM3 Nylocksto secure the sensor to the frame. Ensure the arrow on the board is facing forwards. - Align the battery cage below the frame and use 4
M3bolts through the mounting holes. The bolt length will depend on whether standoffs or Nylock nuts are used. Attach the relevant 'nut' on the other side of the bolt and ensure the battery cage does not move.
Wiring
ESC
| On ESC | On FC | Notes |
|---|---|---|
V |
VBat |
Power |
G |
G |
Ground |
1 |
S1 |
Motor 1 signal |
2 |
S2 |
Motor 2 signal |
3 |
S3 |
Motor 3 signal |
4 |
S4 |
Motor 4 signal |
C |
Curr |
Current sensor (optional) |
T |
RX8 |
Telemetry (optional) |
GPS
| On GPS | On FC |
|---|---|
G |
G |
DA |
DA1 |
CL |
CL1 |
TX |
RX2 |
RX |
TX2 |
5V |
4V5 |
mLRS Radio
| On Radio | On FC |
|---|---|
G |
G |
V |
4V5 |
TX1 |
RX6 |
RX1 |
TX6 |
Optical Flow Sensor
Warning
This is so far untested
| On OFS | On FC |
|---|---|
G |
G |
5V |
5V |
TX |
RX4 |
RX |
TX4 |
ArduPilot Setup
Flashing ArduPilot
Updating Existing ArduPilot
If the flight controller has already been flashed with ArduPilot, it can be updated through QGroundControl using the ardupilot.hex file.
- Download the
ardupilot_with_bl.hexfrom https://firmware.ardupilot.org/Copter/stable/MatekH743-bdshot/ - Open
STM32CubeProgrammerto flash the flight controller - Plug the flight controller in via USB while holding down the
DFUbutton - Change the mode in the top right drop-down to
USB - Click on the Erasing & Programming tab on the left side
- Click Full Chip Erase on the right side of the pane
- Check Run after programming and browse to the downloaded firmware file
- Click Start Programming
Setup
Accelerometer Calibration
- Open
QGroundControland navigate to Vehicle Setup > Sensors. - Select Accelerometer and follow the on-screen instructions.
- Perform a six-point calibration (front, back, left, right, up, down) on a level, non-magnetic surface.
Compass Calibration
- Go to Vehicle Setup > Sensors > Compass.
- Calibrate in an area with minimal magnetic interference.
- Use Compass Learn if interference issues are encountered.
Motor Setup
- Set
MOT_PWM_TYPEto4(DShot600) for the Goku 4-in-1 ESC. - Use the Motor Test feature in
QGroundControlto verify each motor spins correctly. - The motors must be in the correct order as in the table below. Update the
SERVOx_FUNCTIONparameters (wherexis the ESC port number) so the motors are labelled correctly.
| Motor Number | Position | Motor Test Slider Label |
|---|---|---|
| 1 | Front Right | A |
| 2 | Rear Left | C |
| 3 | Front Left | D |
| 4 | Rear Right | B |
Battery Setup
- Set
BATT_MONITORto4for analog voltage and current monitoring. - Set
BATT_CAPACITYto the mAh rating of the battery - Set
BATT_LOW_VOLTto 14.2 (3.55 V/cell) - Set
BATT_CRT_VOLTto 13.2 (3.3 V/cell) - Set
BATT_LOW_MAHto 400 (20% remaining) - Set
BATT_CRT_MAHto 200 (10% remaining) - Set
BATT_FS_LOW_ACTto 4 (SmartRTL or RTL) - Set
BATT_FS_CRT_ACTto 1 (Land)
GPS Setup
- Go to Vehicle Setup > Sensors > GPS.
- Set
GPS_TYPEto1(NMEA) or5(u-blox) depending on the GPS protocol. - Set
SERIAL1_PROTOCOLto5(u-blox) or1(NMEA) for the GPS UART. - Set
SERIAL1_BAUDto115(115200 baud).
Radio Setup
- TODO
Optical Flow Sensor
- TODO
mLRS Radio Over USB
To use the radio over USB to connect to a groundstation it must be reflashed with the SikTelem version of the firmware. Use the mLRS web flasher (on Chrome or Edge): (https://olliw.eu/mlrsflasher)[https://olliw.eu/mlrsflasher].
Tuning
- Use the Autotune feature in ArduPilot for PID tuning.
- Adjust
ATC_RAT_RLL_P,ATC_RAT_PIT_P, andATC_RAT_YAW_Pfor stability.