BETAFPV F405 Family

The BETAFPV F405 family are autopilots intended for smaller size (“Whoop”) multicopters. ArduPilot supports the following units:

Whoop AIO

../_images/betafpvf405.png

AIO

../_images/betafpvF405-AIO.png

Toothpick

../_images/betafpvf405-tootpick.png

the above image and some content courtesy of BETAFPV

Note

Due to flash memory limitations, this board does not include all ArduPilot features. See Firmware Limitations for details. In addition, it is being built only for Copter on the Firmware server. Also note, that with the exception of a special firmware version of the AIO variant that allows disabling the integrated ELRS receiver to allow an external compass to be used along with a GPS, it is recommended that only ACRO, STABILIZE, and ALTHOLD (requires Baro) modes of Copter are used for safest operation.

Warning

this firmware only applies to the F405 variants of the autopilot.

Functional Differences

Unit

Integrated ELRS

Baro?

Size/Weight

Whoop

Yes

BMP280

26mmx26mm mtg/4.23g

AIO

Yes

BMP210/DPS310

26mmx26mm mtg/5.58g

Toothpick

No

No

25.5mmx25.5mm mtg/8.35g

Specifications

  • Processor

    • STM32F405RGT6 ARM (168MHz)

    • 16MByte flash for logging

  • Sensors

    • ICM-42688P IMU (accel, gyro)

    • Voltage & 234A current sensor

  • Power

    • Whoop: 1S - 2S Lipo input voltage with voltage monitoring

    • AIO: 2S - 3S Lipo input voltage with voltage monitoring

    • Totthpick: 2s -4s Lipo input voltage with voltage monitoring

    • 5V, 2A BEC for internal and peripherals including air unit power

  • Interfaces

    • Integrated 4 in 1 ESC with current monitoring and telemetry
      • Whoop: 12A

      • AIO: 20A

      • Toothpick: 20A

    • SBUS input with inversion for optional use instead of internal ELRS RX

    • UARTs/serial for GPS and other peripherals
      • Whoop: 3

      • AIO: 4

      • Toothpick: 4

    • USB-C port on remote dongle

Where to Buy

BETAFPV

Pinout

Whoop

../_images/betafpvf405_top.png ../_images/betafpvf405_bottom.png

AIO

../_images/betafpvf405-AIO-top.png ../_images/betafpvf405-AIO-bottom.png

Toothpick

../_images/betafpvf405-Toothpick-top.png ../_images/betafpvf405-Toothpick-bottom.png

Default UART order

The UARTs are marked Rn and Tn in the above pinouts. The Rn pin is the receive pin for UARTn. The Tn pin is the transmit pin for UARTn.

Whoop

  • SERIAL0 -> USB

  • SERIAL1 -> USART1 (GPS) (DMA capable)

  • SERIAL3 -> UART3 (RCin,ELRS internal module)

  • SERIAL4 -> UART4 (DisplayPort)

  • SERIAL5 -> UART5 (not pinned out)

  • SERIAL6 -> UART6 (USER,SBUS pin inverted and tied to RX6 as alternate RC input,DMA capable)

AIO

Toothpick

  • SERIAL0 -> USB

  • SERIAL1 -> USART1 (GPS) (DMA capable)

  • SERIAL3 -> UART3 (RCin,SBUS pin inverted and tied to RX6 as alternate RC input,DMA capable)

  • SERIAL4 -> UART4 (DisplayPort)

  • SERIAL5 -> UART5 (not pinned out)

  • SERIAL6 -> UART6 (USER, DMA capable)

Serial protocols shown are defaults, but can be adjusted to personal preferences.

Servo/Motor Outputs

Internally connected to integrated 4in1 ESC with BlueJay firmware. Bi-Directional DShot capable and are configured as such by default.

Note

for users migrating from BetaflightX quads, the first four outputs M1-M4 have been configured for use with existing motor wiring using these default parameters:

RC Input

On the Whoop and AIO versions, UART3 is tied internally to a 2.4GHz ELRS receiver module and defaulted to that protocol. On the Toothpick the SBUS pin is inverted and tied to UART3 RX and supports all ArduPilot unidirectional protocols except PPM.

All units have an SBUS input which is inverted and tied to a UART:

  • Whoop would need SERIAL6_PROTOCOL set to “23” and SERIAL3_PROTOCOL set to some other protocol in order to function as a unidirectional RC input.

  • AIO would need SERIAL5_PROTOCOL set to “23” and SERIAL3_PROTOCOL set to some other protocol in order to function as a unidirectional RC input.

  • Toothpick uses this as it main RCinput by default since it has no internal ELRS module.

Any UART can be used for RC system connections in ArduPilot also, and is compatible with all protocols except PPM (SBUS requires external inversion on other UARTs). See Radio Control Systems for details.

OSD Support

The units supports HD air units with telemetry using UART4 RX/TX. See MSP OSD for more info.

Battery Monitor Configuration

These settings are set as defaults when the firmware is loaded (except BATT_AMP_PERVLT which needs to be changed from the default value). However, if they are ever lost, you can manually set the parameters:

Enable Battery monitor.

BATT_MONITOR =4

Then reboot.

BATT_VOLT_PIN 12

BATT_CURR_PIN 11

BATT_VOLT_MULT 11.0

BATT_AMP_PERVLT 70.8

Connecting a GPS/Compass module

This board does not include a GPS and compass so an external GPS can be connected to allow operation of position holding/tracking modes (ie LOITER,etc.). However, only the AIO has the ability to disconnect its ELRS module to provide the required access to the UART3 RX/TX pins to attach an I2C compass. This also requires special firmware (see below) be installed to convert these pins from UART use to I2C use with RX3 becoming SDA and TX3 becoming SCL.

Warning

since a compass cannot be normally attached, only ACRO, STABILIZE, and ALTHOLD (if the unit has a BARO) modes are recommended. GSF (Compass-less Operation)can be used, but requires pre-flight actions to converge it before taking off, and it is susceptible to failures in flight.

Firmware

This board does not come with ArduPilot firmware pre-installed. Use instructions here to load ArduPilot the first time Loading Firmware onto boards without existing ArduPilot firmware.

Firmware for this board can be found here in sub-folders labeled “BETAFPV-F405”. For the AIO version, a firmware labeled “BETAFPV-F405-I2C” is provided to allow I2C devices to be attached if the hardware modification metioned above is made to disconnect the ELRS module from those signals.