Omnibus F4 SD
The Omnibus F4 SD is a controller board designed for racers. In contrast to a typical racer board it has some additional features, such as an SD card and a faster CPU.
These are the main differences compared to a Pixracer:
- Lower price
- Fewer IO ports (though it's still possible to attach a GPS or a Flow sensor for example)
- Requires external pull up resistor on the I2C bus for external GPS, see I2C below.
- Less RAM (192 KB vs. 256 KB) and FLASH (1 MB vs. 2 MB)
- Same board dimensions as a Pixracer, but slightly smaller form factor (because it has less connectors)
- Integrated OSD (not yet implemented in software)
Note that an SD card is required for parameter storage.
All the usual PX4 features can still be used for your racer!
- Main System-on-Chip: STM32F405RGT6
- CPU: 168 MHz ARM Cortex M4 with single-precision FPU
- RAM: 192 KB SRAM
- FLASH: 1 MB
- Standard racer form factor: 36x36 mm with standard 30.5 mm hole pattern
- MPU6000 Accel / Gyro
- BMP280 Baro (not all boards have it mounted)
- microSD (logging and parameters)
- Futaba S.BUS and S.BUS2 / Spektrum DSM2 and DSMX / Graupner SUMD / PPM input / Yuneec ST24
- OneShot PWM out (configurable)
- built-in current sensor
- built-in OSD chip (AB7456 via SPI, not supported yet)
Where to Buy
The board is produced by different vendors, with some variations (e.g. with or without a barometer).
PX4 is compatible with boards that support the Betaflight OMNIBUSF4SD target (if OMNIBUSF4SD is present on the product page the board should work with PX4).
Any Omnibus F4 labeled derivative (e.g. clone) should work as well. However, power distribution on these boards is of varying quality.
These are the boards tested and known to work:
This board fits on top of the Hobbywing XRotor Micro 40A 4in1 ESC without soldering. This ESC board also provides power for the Omnibus board.
Original Airbot Omnibus F4 SD
- ESP8266 WiFi Module for MAVLink telemetry. You need to connect these pins: GND, RX, TX, VCC and CH-PD (CH-PD to 3.3V). The baud rate is 921600.
Boards from different vendors (based on this design) can have significantly different layout. Layouts/Silkscreens for various versions are shown below.
Airbot Omnibus F4 SD
Below are silkscreens for the Airbot Omnibus F4 SD (V1), showing both top and bottom.
Hobbywing XRotor Flight Controller F4
Below are silkscreens for the Hobbywing XRotor Flight Controller F4.
RC is connected to one of the following ports:
- SBUS/PPM port (via inverter, internally goes to UART1)
Some Omnibus F4 boards have a jumper connecting either or both the MCU SBUS and PPM to a single pin header. Set your jumper or solder bridge to the appropriate MCU pin before use.
UART6: GPS port
- TX: MCU pin PC6
RX: MCU pin PC7
Airbot Omnibus F4 SD Pinout is on Port J10 (TX6/RX6):
- TX: MCU pin PA0
- RX: MCU pin PA1
- 57600 baud
It can be configured via SYS_COMPANION parameter.
Airbot Omnibus F4 SD Pinout:
- TX: RSSI pin
- RX: PWM out 5
There is one I2C port available via:
- SCL: MCU pin PB10 (might be labeled as TX3)
- SDA: MCU pin PB11 (might be labeled as RX3)
You will need external pullups on both signals (clock and data). You can use 2.2k pullups for example to attach an external mag.
- Airbot Omnibus F4 SD Pinout is on Port J10 (SCL [clock] / SCA [data]):
Here is an example implementation. I used a Spektrum plug to get 3.3v from the DSM port, connecting only 3.3v + to each line via 2.2k resistor.
CRSF Crossfire Telemetry
TBS CRSF Crossfire telemetry is used to send telemetry data from the flight controller (the vehicle's attitude, battery, flight mode and GPS data) to the RC transmitter (Taranis).
Benefits over FrSky telemetry include:
- Only a single UART is needed for RC and telemetry.
- The CRSF protocol is optimized for low latency.
- 150 Hz RC update rate.
- The signals are uninverted and thus no (external) inverter logic is required.
For Omnibus we recommend the TBS Crossfire Nano RX, since it is specifically designed for small Quads.
On the handheld controller (e.g. Taranis) you will also need a Transmitter Module. This can be plugged into the back of the RC controller.
The referenced links above contains the documentation for the TX/RX modules.
Connect the Nano RX and Omnibus pins as shown:
|Omnibus UART1||Nano RX|
Nothing else needs to be configured on PX4 flight controller side - the RC protocol is auto-detected.
Next update the TX/RX modules to use the CRSF protocol and set up telemetry. Instructions for this are provided in the TBS Crossfire Manual (search for 'Setting up radio for CRSF').
Build & Upload Instructions
The board comes pre-installed with Betaflight. Before PX4 firmware can be installed, the PX4 bootloader needs to be built and uploaded.
Download and build the Bootloader via:
git clone --recursive https://github.com/PX4/Bootloader.git cd Bootloader make omnibusf4sd_bl
Don't be afraid to try flashing using any of the below methods. The STM32 MCU cannot be bricked. DFU cannot be overwritten by flashing and will always allow you to install a new firmware, even if flashing fails.
Enter DFU mode
Both methods require the board to be in DFU mode. To enter DFU mode, hold the boot button down while connecting the USB cable to your computer. The button can be released after the board is powered up.
dfu-util -a 0 --dfuse-address 0x08000000 -D build/omnibusf4sd_bl/omnibusf4sd_bl.bin
Reboot the flight controller and it let it boot without holding the boot button.
See the dfuse manual is here: https://www.st.com/resource/en/user_manual/cd00155676.pdf
Build and flash the PX4 Firmware with the following build target:
make omnibus-f4sd_default upload
Installing other firmwares
If you later on want to switch back to Betaflight, you can easily do that:
- Backup the parameters by copying the params file on the SD card (or use another SD card)
- Keep the bootloader button pressed while attaching the USB cable
- Then flash Betaflight as usual with the Betaflight-configurator
Make sure to insert an SD card as the parameters are stored there.
In addition to the basic configuration, the following parameters are important:
|SYS_HAS_MAG||This should be disabled since the board does not have an internal mag. You can enable it if you attach an external mag.|
|SYS_HAS_BARO||Disable this if your board does not have a barometer.|
|MOT_ORDERING||If you use a 4-in-1 ESC with Betaflight/Cleanflight motor assignment, this parameter can be set accordingly.|
A review with further information of the board can be found here.
This page also provides a nice overview with pinouts and setup instructions.