Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

\uD83D\uDCCA Success metrics

Goal

Metric

Design a flight controller that allows safe fixed-wing, helicopter, and multirotor UAS flight that can be piloted autonomously and manually while complying to all relevant laws

\uD83E\uDD14 Assumptions

  • Within legal spec?

\uD83D\uDDD2 Requirements

Requirements / Constraints

Justification

Priority

Owner

Notes

Implementation Notes

Status
colourRed
titleHIGH
Status
colourYellow
titleMEDIUM
Status
colourBlue
titleLOW

 

 

 

 

 

ZeroPilot must have a method to physically Arm/Disarm the aircraft

For safety while working on/around the drone.

For clarity of drone operation (ie armed = going to fly).

Status
colourRed
titleHIGH

Daniel Puratich (Unlicensed)

  • Prevent accidentally triggering arm/disarmed states?

  • How do we handle restarting the system in the event of hardfaults?

  • Not connected to zp (on a separate board)

  • Pressing a push button will arm the motors

  • switches and sticks should be in the right spot to arm (when the button is pressed)

  • gpio input

ZeroPilot shall have an audible buzzer

Debugging, clarity of operation

Status
colourYellow
titleMEDIUM

Daniel Puratich (Unlicensed)

  • Should at minimum be able to beep one tone (one gpio)

  • Consideration for having multiple tones?

  • Buzzer will also be external (on the same board as the arm/disarm switch)

  • Buzzer uses a pwm signal to drive tones

ZeroPilot shall have debugging LED’s of multiple colours

For status display when debugging

Status
colourRed
titleHIGH

Sahil Kale

Could be RGB or multiple different LEDs (or both?)

  • maximum 7 LEDs, minimum 4

  • some are different colours

  • A colour reserved for power is red

  • gpio output

ZeroPilot must have the ability to monitor the battery

Need some way to monitor battery health while in the air to prevent falling out of the sky?

Anthony Luo

  • Voltage monitoring (external ADC)

  • Overall voltage (not individual cells)

  • nice to have temp monitoring for zeropilot and batteries if there are extra ADC pins

ZeroPilot will have an IMU

The IMU tells the aircraft it’s orientation in space, and without it cannot fly

Daniel Puratich (Unlicensed)

This could be external or internal

ZeroPilot will have Non-Volatile Data Storage

Having data storage allows logging of flight information for analysis

Daniel Puratich (Unlicensed)

It should be accessible by devices other than just the MCU

  • MicroSD Card for data logging

  • MicroSD Card for saving model configuration

  • MicroSD cards MUST use SPI

  • No other external storage

ZeroPilot will have one microcontroller

Reduces complexity, and there is no need for two really (chance of failure of any given chip is still the same)

Sahil Kale

ZeroPilot must be able to communicate with other boards on the aircraft

Communication with the computer vision computer and the ground station will depend on this

Dhruv Upadhyay

need to spec architecture

  • UART based comms (USB UART)

    • CV opens a virtual com port, firmware already has software to do this

ZeroPilot will have at least 12 Motor/Servo/Actuator outputs

  • octacopter - 8

  • gimbal - 3

  • actuator - ?

Aidan Bowers (Deactivated)

maybe put in as many as we can reasonably get?

ZeroPilot must be able to communicate with a GPS

Legal requirement

Sahil Kale

  • Sahil Kale will deal with the GPS accuracy requirements

    Image Added
  • We will have extra of UART, SPI, I2C, GPIO, PWM input

ZeroPilot will have a debugging output data pipe

Super helpful in debugging 😕

Aaditya Chaudhary

(e.g. arduino serial)

  • SWO & stlink will handle this

    • We need SWO breakout

  • 1 connector (such as ribbon) for programming and data output - No FTDI no Onboard STlink

ZeroPilot must accept tele-op input

Allows pilot to control aircraft

Aidan Bowers (Deactivated)

  • PPM input

  • UART upgrade path

ZeroPilot shall have a DataLink to ground

Allows pilot to see information such as gps location and send autopilot commands

Aaditya Chaudhary

  • XBees use UART

  • open for future upgrades

The board will have user power input protection

Can save the board in case of user error such as reversing polarity or attaching incorrect voltage

Kevin Li

Depends on power architecture

  • This is being discussed by electrical

  • Reverse polarity protection

  • Overvoltage protection (fuse and zener diode)

  • For all inputs/output have ESD protection through zener diode

  • External and internal power will have separate fuses

The board shall have the option to use locking, non-reversible connectors and simple jumpers

Non-locking connectors have a habit of falling out of the board, and are easy to plug in in the wrong order. Jumpers make it easier to quickly test components without spending hours crimping connectors.

Anthony Luo

Perhaps connectors that are same form factor for headers and for locking, so can be soldered on depending on iteration of board.

Should not prevent easy access on breakout version of board

  • Locking connectors for key peripherals

  • Compatible with jumpers

ZeroPilot will be possible to place into a case

Putting the board in a case protects it from shorting components and makes it easier to handle

Steven Wang

ZeroPilot will have power outputs for peripheral devices

Power for peripherals (5v, 3.3v) power should exist.

@Xierumeng

Power output protection (e.g. ESD protection) should be considered

  • This depends on the peripherals that are going to be connected

    • 5v & 3.3v side by side, and the connector will be crimped appropriately

    • each peripheral connection will have 5, 3.3, GND, and appropriate data pins

ZeroPilot will have an LED driver

Allow us to use navlights, strobes, or whatever is appropriate for the given mission

Dhruv Upadhyay

  • 4 GPIO for LEDs (most likely neopixel)

  • (High current e.g. 3A per strip) current source could be from an external board or onboard zp

ZeroPilot will have sensor breakouts

External sensors that have not yet been identified may be desirable.

Dhruv Upadhyay

  • all sensors will be external and should use common protocols (I2C, SPI, UART, GPIO, PWM)

  • extras of all these common protocols (whatever that means for the protocol)

ZeroPilot will have mounting holes that can support anti-vibration mounts

A way to mound the board securely is required, and reducing vibration will protect the components onboard

Anthony Luo

ZeroPilot will have debugging buttons

This will provide an easy way to test/configure the drone

Anthony Luo

Must be removable for flight (e.g. Debug Shield)

Comms emulator (that can be connected to a PC) will be used instead of this

(question) Open Questions

Question

Answer

Date Answered

Will the board have USB programming capabilities

Will the board have redundant power input? (i.e. two 5v inputs from bms in case one falls out)

Will the board have ESD protection

Will the board have flash storage (for configuration stuff)?

We need to consider what IMU we are using (IE not locking ourselves into the vectornav)

Ground telem link upgrade path interface

Dhruv Upadhyay How many extra peripherals are we adding, and what are their timing requirements

(warning) Out of Scope

  • Test Points

  • Polarity Markings on silk screen

  • Small Footprint

  • Low Profile

  • Easy to solder

  • Sahil Kale How are we going to develop a comms emulator (could be arduino ppm, uart, etc.)