Documentation/Hardware Selection

This page intends to be a first sketch of the openmulticopter hardware. Feel free to contribute helpful ideas.

Microcontroller
ST Microelectronics Cortex M3: STM32F103xx (high-density controller)


 * 512 kB Flash
 * 64 kB RAM
 * 8 x 16 Bit Timer (IC, OC, PWM)
 * 2 x WDG
 * 3 x SPI
 * 2 x I2S
 * 2 x I2C
 * 5 x USART
 * 2 x UART
 * SDIO
 * USB
 * CAN

Gyroscopes
Gyroscopes are sensors that are used to measure angular velocity.


 * Melexis MLX90609
 * Supply voltage: 4.75 - 5.25 VDC
 * Supply current (no output load): 16 - 20 mA
 * Output not supply-ratiometric
 * Angular velocity range: +/- 300 °/s
 * Output voltage range: 0.5 - 4.5 VDC -> 4V
 * Nonlinearity: +/-0.5 % FSout
 * Zero rate output: 2.5 VDC
 * Zero rate temperature drift: +/- 5 % FSout (-40...+85°C)
 * Sensitivity: 6.67 mV/°/s
 * Sensitivity drift: +/- 5% S0 (-40...+85°C)
 * Spectral noise power density: 0.03 °/s/sqrt(Hz)
 * Angular rate cross-sensitivity for X, Y: 1 (typ) - 2 (max) % FSout
 * Resonance frequency: 8.2 kHz
 * Package: CLCC32, easy to solder by hand but large
 * Shock survival: +/- 1500g (0.5ms 3 axis)
 * Price
 * 36.30€ each in case of a purchase of > 3 units at Sander
 * 39.95$ each at Sparkfun


 * ADXRS610
 * Supply voltage: 4.75 - 5.25 VDC
 * Supply current (no output load): 3.5 - 4.5 mA
 * Output is supply-ratiometric
 * Angular velocity range: +/- 300 °/s
 * Output voltage range: rails at 0.25 and 4.75 V, respectively, range = 3.6V
 * Sensitivity: 6 mV/°/s
 * Spectral noise power density: 0.05 °/s/sqrt(Hz)
 * Resonance frequency: 12 - 17 kHz (14.5 kHz typ.)
 * Package: CBGA32, hot-air or reflow oven needed
 * Price
 * 34.59$ at Digikey
 * 64.95$ Sparkfun Breakout Board


 * Ivensense IDG500
 * dual-axis
 * Supply voltage: 3 VDC
 * Supply current (no output load): 7 mA
 * Output is not supply-ratiometric
 * two different outputs for each axis (different range and sensitivity)
 * Angular velocity range: +/- 500 °/s and +/- 110 °/s
 * Sensitivity: 2 mV/°/s or 9.1 mV/°/s
 * RMS noise: 0.8 mV RMS in 1 Hz to 1kHz bandwidth range
 * Resonance frequency: 24kHz (X-axis) and 27kHz (Y-axis)
 * QFN 28 (4mm x 5mm x 1.2mm)
 * ISZ500 Z-axis complement (all three sensors can be mounted in PCB plane)
 * Price
 * 39.95$ at Sparkfun


 * ST LISY300AL
 * Supply voltage: 2.7 - 3.6 VDC
 * Supply current (no output load): 4.8 mA
 * supply-ratiometric?
 * Angular velocity range: +/- 300 °/s
 * Zero rate voltage at 1.65 V for 3.3 V supply
 * Sensitivity: 3.3 mV/°/s
 * Spectral noise power density: 0.1 °/s/sqrt(Hz)
 * Resonance frequency: 4.5 kHz
 * Low resonance frequency causes critical sensitivity to vibrations induced through the motors.
 * Even extended dampening measures might not eliminate this unwanted behaviour.
 * Price
 * 14.38$ at Digikey
 * 11.95$ at Sparkfun
 * 29.95$ for Sparkfun Breakout Board


 * '''ST LY530ALH + ST LPR530AL
 * Part of a new family of ST gyroscopes
 * Resonant frequency: 4100 Hz


 * Murata ENC-03A
 * Supply voltage: 3 VDC
 * SMD 8mm*4mm*3mm 0.2g easy to solder by hand
 * 6.7mV °/s
 * large temperature drift, compensation in software or with op-amp offset needed
 * low shock resistance
 * needs op-amp
 * price about 23.5 Euro

Acceleration Sensors
Used to get an attitude reference based on the effect of gravity in order to compensate for integral drift.


 * Analog Devices ADXL335
 * Replacement for the discontinued ADXL330
 * Analog output
 * 3 axis
 * Acceleration range: +/- 3g
 * Supply voltage range: 1.8 - 3.6 VDC
 * Supply current at 3V: 350uA
 * Sensitivity: 270 - 330 mV/g (300 mV/g typ.)
 * Sensitivity vs. temperature: +/- 0.01 %/°C


 * Price
 * 5.54$ at Digikey
 * 24.95$ Sparkfun Breakout Board


 * Acceleration range: +/-5g
 * ST LIS3LV02DQ
 * Digital output (SPI, I2C)
 * ST LIS344ALH
 * Analog output

Pressure Sensors

 * Freescale MP3H6115A
 * Supply voltage: 3 VDC
 * Freescale MPXH6115A6T1
 * Supply voltage: 5 VDC

Magnetic Sensors

 * 3 axis are required


 * PNI Micromag3
 * Supply voltage: 3.3 VDC
 * SPI
 * complete integrated 3 axis solution on a PCB
 * large but easy to mount
 * Price
 * 59€ at Sander
 * 59.95$ at Sparkfun


 * PNI MS2100
 * same as MM3 but as fully integrated one chip solution
 * only 2-axis, external third axis circuit can be interfaced to the chip
 * QFN-20
 * Price
 * 50.04€ at Sander


 * Honeywell HMC1052L + HMC1051
 * 2 axis sensors HMC1052L + Z- axis HMC1051


 * Honeywell HMC5843
 * 3 axis sensor with i2c interface
 * 7 milli-gauss resolution
 * Breakout board 12.7x12.7mm
 * Price
 * $49.95 at Sparkfun
 * $19.95 chip only Sparkfun

Voltage Level Adjustments

 * Gyroscopes usually operate at 5 VDC (Invensense and ST gyroscopes are 3.3V)
 * ACCs usually operate at 3.3 VDC
 * Depends on ADC input range

Considerations

 * Internal 12 Bit ADC
 * External ADC
 * Sensor noise limits ADC performance
 * Sample rate (10x oversampling required to reconstruct signal)
 * Interfacing to the MCU (fast SPI bus, simple protocol, conversion start through CS line)
 * Number of channels (3x gyros + 3x ACC + ...)
 * Small package variant, solderable by hand

External ADCs for Gyroscopes and ACCs

 * Maxim MAX1168
 * Resolution: 16 Bit
 * 8 channels
 * SPI interface
 * 5V analog supply voltage
 * 200 kSps max. (full time SPI transmission at max. clock rate, no breaks allowed)
 * Analog Devices AD7928
 * Resolution: 12 Bit
 * 8 channels
 * SPI interface
 * max. sample rate: 1 MSps

External ADCs for Pressure Sensor

 * LTC2440
 * SPI interface
 * LTC2485
 * I2C interface

Analog Sensor Filters

 * Bandwidth (depends on sample rate and closed control loop frequency)
 * Order of the filter
 * Active / passive filter
 * Number of parts, space needed on PCB
 * Filter type (e.g. Butterworth)

I2C

 * NXP PCA9306
 * I2C levelshifter / buffer
 * Analog ADUM1250
 * I2C Isolator

CAN

 * Microchip MCP2551
 * TI ISO1050
 * CAN Isolator (meets ISO11898 standard)

Power supply

 * 3 to 4 LiPo/ LiFePo cells: 9 to 16.8 VDC


 * Switching regulators
 * low power loss, high efficiency
 * switching noise
 * applications
 * probably a good solution for the main power supply
 * Step-up regulator for camera supply (12 VDC)
 * additional power supply for servos
 * examples:
 * TI PTH08080W
 * Supply current: 2.25 A
 * Input voltage range: 4.5 VDC - 18 VDC
 * Miniature power module, fully integrated solution, only few external components needed
 * Linear regulators
 * massive power dissipation in case of higher drop-out voltages
 * low noise
 * applications
 * post-switching-regulator solution (eg. 3.3 VDC main cpu supply)
 * low noise power supply for sensor circuitry
 * examples
 * Linear LT1763
 * very low noise
 * Supply current: 500 mA
 * Input voltage range: 1.8 VDC - 20 VDC
 * 300mV drop-out voltage
 * Servo Power Supply
 * Jumper to select between switching regulator provided supply and an external high current power supply in case of higher power demands.
 * Regular RC servo connectors

Temperature range

 * components should be chosen according to a specified voltage range
 * -40°C ... 85°C (flying on cold winter days must not cause any problems)

Assembling and Board Layouts

 * Dampening
 * rubber cable grommets


 * Size
 * 50 x 50 mm Mikrokopter + X-UFO compatible
 * 36 x 36 mm with 30mm* 30mm distance mounting holes booz HW, Booz_HB and IMU HB_autopilot compatible
 * all this IMUs PCB have SPI bus connection 16 bit ADCs, magnetic rate an accelerations sensors and have GPL license
 * other size, depending on actual space needs


 * Single/Multiple PCB(s)
 * 1x IMU (aka sensor board) + 1x MCU (main processor)
 * 1x IMU (gyroscopes + ACC) and MCU on a single board including pressure and magnetic sensors
 * 1x IMU (gyroscopes + ACC) and MCU on a single board + 1x NavBoard for pressure and magnetic sensors and GPS


 * Additional PCBs
 * VDU / OSD
 * RC modem
 * RC receiver


 * Number of Layers
 * 2 Layers
 * + easy and cheap manufacturing
 * + simple debugging (eg. green wire fixes)
 * - EMC considerations
 * - space requirements
 * 4 layers
 * + EMC suited layout
 * + higher density of parts possible -> smaller dimensions
 * - Cadsoft Eagle license necessary
 * - high priced manufacturing
 * - No debugging possible in case of flaws on inner layers.