Adding a Custom Board

I have designed a custom flight controller board based on the STM32F405RGT6 microcontroller. The board includes the following hardware features:

  • Three user-controllable LEDs
  • Two GPIOs configured to support PWM output via Timer 12
  • A Bosch BMI055 IMU sensor connected over SPI

To support this hardware, I followed the official PX4 development workflow and created a custom board configuration within the boards/ directory of the PX4 firmware. This includes all necessary configuration files and hardware abstraction layers specific to my board design.

The firmware builds successfully and is uploaded to the board using QGroundControl via USB. However, after flashing, the board does not appear to establish a connection with QGroundControl. It seems that the board does not enumerate as a USB device after the firmware upload, preventing further interaction, including sensor calibration and parameter synchronization.

Attached the snap of QGroundControl

Do you have a console connected to check the bootup and what is going on? If not, I highly recommend using either an FTDI cable on some Telem or GPS port, or using something like this debug adapter: Pixhawk Debug Adapter – Holybro Store

You can configure which serial port the console is on by changing the console setting in the defconfig. Here is Pixhawk 6C as an example:

Thanks for the reply. Actually i design a custom board which had BMI055 sensor on board and have USART3 and UART5 pins at a External header. I can only program my board either using External ST-Link or using USB in DFU mode.

Is there any way i can share my files with you so that you can look into them and tell me whats wrong in that