[Broken Link] File "f405-min/hwdef.dat" not found in Ardupilot documentation

Hello ArduPilot Community,

I am currently working on a drone project and as part of this, I am developing a flight controller from scratch. As part of this process, I have been going through the ArduPilot documentation to understand how to port a new custom flight controller board.

While reading the documentation, I found a broken link. In the section ‘Step 2 - Create a hwdef.dat file for the board’, there is a link named ‘f405-min/hwdef.dat’. This link is supposed to direct me to an example board of STM32F40x, which is the board I am targeting to build. However, the link leads to a ‘404 - page not found’ error.

As I am completely new to this field and heavily relying on the documentation for my project, I would greatly appreciate it if someone could guide me to the correct link or provide any updates that have been made to this link. Understanding the content referred to in this context is crucial for my project’s progress.

Thank you in advance for your help!

Best Regards,

(1) Porting to a new flight controller board — Dev documentation - ArduPilot. Porting to a new flight controller board — Dev documentation.
(2) File not found · GitHub

1 Like

There are a lot of other hwdef.dat files in neiboring directories. Have you taken a look at those?

@amilcarlucas Thank You, for your reply.

I’m delving into software development like never before. I learned from Mr. Tridge’s video that the fmuv3 should be thoroughly documented. However, I was initially confused as a beginner because there are two distinct folders named fmuv3 and fmuv3-bdshot in the ~\ardupilot-master\libraries\AP_HAL_ChibiOS\hwdef directory. When I opened it, I found that it was based on STM32F427.

Furthermore, I’m attempting to construct a basic STM32F405-based Flight Controller with a single IMU and 6 Pins, and possibly an external GPS port. Therefore, a specific link to f405-min/hwdef.dat would be extremely beneficial for me.

Note: I’m mostly from the hardware side.

Apparently that link has been broken for about 5 years, which should tell you how often folks attempt what you’re doing…

EDIT: PR submitted to fix the broken link and provide alternatives.

The Matek F405 board is pretty feature-barren, so that should be a reasonable replacement for the defunct link:

ardupilot/libraries/AP_HAL_ChibiOS/hwdef/MatekF405/hwdef.dat at master · ArduPilot/ardupilot (github.com)

However, the questions you’re asking and even the rough plan you describe for your board indicate near zero familiarity with the software you are attempting to design a board around. Might I suggest taking some time to understand and use ArduPilot (with established autopilot hardware) before attempting to roll your own?

1 Like

Thank you, Mr @Yuri_Rage. I’ll take a look at the Matek Board. This is my first time delving so deeply into the Ardupilot codebase.

In response to your other question, I have previously used the Matek F405-SE board and some Pixahawk 2.4.8 (which may have been counterfeit**). I have gained some familiarity with the software, primarily flashing the hex file and modifying some parameters within the software GUI with the help of the Ardupilot documentation and reading through the community answers.

With due respect, Could you clarify what additional experience you’re suggesting? Could you provide some guidance or hints? I’m curious about the level of familiarity you’re referring to.


**I suspect the Pixahawk was counterfeit because it failed after just a few flights. Also, when I examined it, I discovered that the co-processor was from a Chinese vendor that didn’t provide a proper datasheet. However, it appears to be similar to the STM32F10xx board mentioned in the open-source hardware section of the 2.4.6 version.

You don’t seem to know the difference between bdshot and non-bdshot targets. Your plan suggests that you don’t intend to include a barometer, compass, or possibly GPS, all of which are fundamental to basic ArduPilot functionality (yes, GPS-less operation is possible, but it’s neither common nor recommended practice). And you don’t seem to know how to navigate GitHub.

This isn’t an indictment of you or your intentions, it’s simply observation that you lack some very basic understanding and that you’d benefit greatly from exploring the ArduPilot ecosystem more thoroughly before attempting to design hardware for it. Lacking such fundamental knowledge will require that you continue to lean heavily on others to decipher the basics for you, which could prove frustrating for both you and those who attempt to help.

Highly recommend that you build and fly (or drive) an ArduPilot-based vehicle as a first step.

1 Like

I greatly appreciate your response, Mr @Yuri_Rage.

As I previously mentioned, I have experience flying with the two boards I mentioned, using a GPS with an inbuilt compass and the onboard barometer. However, I must admit that I’m not familiar with the difference between bdshot and non-bdshot targets.

The board I’m currently working on is intended as a proof of concept to deepen my understanding of how the software and hardware interact in this context. While it may not include a barometer, compass, or GPS at this stage, I fully intend to incorporate these features in the near future.

Thank you once again for your guidance and patience.

I’m ready to learn. But there is too much information to grasp, requires some direction.