How to detect board flash size, MCU code name, revision and bootloader version

this post will describe how to detect board flash size and MCU code name and revision in 3 ways

How to find FMU version :
you can find your boards FMU version with this table :


source

How to detect flash size and MCU code name :

Option 1 (this way shows flash size, bootloader version and FMU version) (most easy way) :
1-open QGroundControl and go to setting --> firmware


2-connect your FC via USB cable
now you can see flash size, bootloader version and FMU version

Option 2 (this way only shows MCU code name) :
1- first you need to upload a firmware with Nuttx OS (this option will not work on ChibiOS)
for example i was uploaded AP3.6

2-open mission planner and connect your FC go to Setup menu then go to Advance and click on Terminal

3-now chose NSH from drop down menu and click on Connect

4-in this step you must type “ver all” quickly before new messages comming
by typing “ver all” you will get a result like this
in this section you can see MCU code name


also if you were on a 1m flash will see a “warning warning warning warning warning” message
source

Option 3 (open Pixhawk and check the revision of the main processor) :

by opening your pixhawk you can physically see your MCU revision and search for datasheet to get complete information of it
If it is RevA, RevY and Rev1 then you have an 1M board, other (most likely Rev3) is 2M.

at the end if you have 1m flash size select Pixhawk1-1m else select Pixhawk 1 or decide by your FMU version

I’m not convinced by option 1. Is “FMU version” the same as the “revision”?

No
FMU is Flight Management Unit so fmuv2 is meaning that Flight Management Unit Version 2
MCU revision is the generation of the main processor

In option 1 you cannot tell the CPU revision. I thought the whole point of the CPU bug is that the CPU thinks it has 2MB of flash but just has 1? i.e you must read the CPU revision to know if the bug is present and option 1 does not provide that information (I think…).

This is what it tells you:

Pixhawk VIT6-1 (1Mb)
1Mb

Pixhawk VIT6-3 (2Mb)
2Mb

1 Like

As mentioned in main post option 1 is only shows flash size and bootloader version

Thanks for clearing that up @dkemxr . So however the bug manifests itself, QGroundControl is able to tell the true amount of flash memory that the CPU has. :slight_smile: