Program CRC failed error, Pixhawk 2.4.8, Mission Planner, ArduCopter

I recently bought a Pixhawk 2.4.8 kit for building an autonomous Quadcopter. In that, I received a Pixhawk 2.4.8 Board which has an STM32 F4 ARM Cortex microcontroller. I am using mission planner software to upload firmware to the board.
I am able to see the com port, the device name is also detected in the setup section but when I go to upload firmware at the very end of the upload I get an error.
Program CRC failed (CRC stands for cyclic redundancy check). I have been stuck at this stage for several weeks trying pinpoint the problem.
Now even my main led only flashes white once when I plug it into my laptop using a USB to micro USB cable. Mavlink is also not able to connect with the pixhawk and says heartbeat packet not received.


WhatsApp Image 2022-10-19 at 20.08.00
I tried various different versions of Mission Planner - 1.3.72, 1.3.69 and latest one to upload firmware and the former one gave me the same CRC failed error but the later couldn’t event detect my board.
I found an article on this forrum of someone who had crashed their

Try using QGroundControl. Select Ardupilot, Chibios and Pixhawk1 for the firmware.

1 Like

Hi dkemxr,
I tried using Qground control to upload fmuv2 multirotor firmware to pixhawk 2.4.8 as on the PCB board of pixhawk it says FMU v2.5 so i chose to upload this firmware. I got the same CRC failed error. but now the main LED is glowing yellow and i am getting this response from the board.
Here are two videos about the upload process. Now the main led is glowing yellow.



When I connected my battery the failsafe error was gone but prearmed armed when safety switch and prearmed compass 1 not found error are still there.
https://drive.google.com/file/d/13iz5ny5-TXp2eQUkq7AdecGoHZpqH_IC/view?usp=sharing
https://drive.google.com/file/d/13jFf4rV9G-bpzfdczWfsR_cUF5eTbKf2/view?usp=sharing

what am i supposed to do now?

Pixhawk LED video: https://drive.google.com/file/d/13nFpsW05AfnlLWncaK0sIfGNVv8vDYey/view?usp=sharing
Other drive links are also videos.

Here is the Ubuntu terminal output for Qground control.

Settings location “/home/anishsan/.config/QGroundControl.org/QGroundControl.ini” Is writable?: true
Filter rules “*Log.debug=false\nGStreamerAPILog.debug=true\nqt.qml.connections=false”
System reported locale: QLocale(English, Latin, India) ; Name “en_IN” ; Preffered (used in maps): “en-IN”
LocalizationLog: Qt lib localization for “en_IN” is not present
LocalizationLog: Error loading source localization for “en_IN”
LocalizationLog: Error loading json localization for “en_IN”
VideoReceiverLog: Stop called on empty URI
VideoReceiverLog: Stop called on empty URI
MAVLinkLogManagerLog: MAVLink logs directory: “/home/anishsan/Documents/QGroundControl/Logs”
Map Cache in: “/home/anishsan/.cache/QGCMapCache300” / “qgcMapCache.db”
qml: QGCCorePlugin(0x55c12f501360) []
setCurrentPlanViewSeqNum
setCurrentPlanViewSeqNum
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
setCurrentPlanViewSeqNum
setCurrentPlanViewSeqNum
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
“v4.2.0”
“ArduPilot” “fmuv2”
qrc:/qml/QGroundControl/ArduPilot/APMSensorIdDecoder.qml:121: TypeError: Cannot read property ‘valueString’ of null
qrc:/qml/QGroundControl/ArduPilot/APMSensorParams.qml:103: ReferenceError: insIdParamsAvailable is not defined
setCurrentPlanViewSeqNum
setCurrentPlanViewSeqNum
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
setCurrentPlanViewSeqNum
setCurrentPlanViewSeqNum
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
setCurrentPlanViewSeqNum
setCurrentPlanViewSeqNum
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
_recalcFlightPathSegments homePositionValid false
qrc:/qml/QGroundControl/ArduPilot/APMSensorIdDecoder.qml:121: TypeError: Cannot read property ‘valueString’ of null
qrc:/qml/QGroundControl/ArduPilot/APMSensorParams.qml:103: ReferenceError: insIdParamsAvailable is not defined
“ArduPilot” “fmuv2”
FirmwareUpgradeLog: PX4 releases github download failed “Error during download. Error: 3”
FirmwareUpgradeLog: ArduPilot Manifest download failed “Error during download. Error: 3”

Pixhawk1 is the correct firmware for that Flight Controller. Download the .apj file from here:
Pixhawk1
Then use Mission Planners “load custom firmware” and select that file.

If that doesn’t work perhaps it’s defective.

1 Like


I am getting program CRC failed error when uploading pixhawk1 using mission planner.
In Qground Control I am not getting the options to choose the firmware it says it is downloading list of firmwares.

Now when I connect my pixhawk to my battery I get a constant red LED.
https://drive.google.com/file/d/14AJW6NbsK4fUfpYoQI6BuEYCSAuz-AAi/view?usp=sharing
^Here is the video.
I think my SD card might have issues because when red led is constant and CRC error came for some person they had to change SD cards (if someone can confirm this it would be good).

Re-format it and try again.

1 Like

Can you share the procedure for after reformatting the SD card.
I have seen some video about reformatting SD cards in FAT32 file system so just doing this is enough for pixhawk or some additional steps are also present?

Nothing. A blank formatted card is all you need. Plug it back in and try to flash the firmware again.

1 Like


I used mission planner to upload the .apj file you shared me and also tried doing the given pixhawk-1 firmware upload but it is giving connection timeout error after which mission planner stops responding and has to be restarted.


^Here is me uploading using Qgroundcontrol it is giving me same timeout error.

I don’t have any other suggestions. Try another USB cable. Is that some adapter you have connected to the one you are using?

1 Like

I also have a telemetry. How can I upload firmware using telemetry?
So that if it is an USB issue then it will work fine.

You can’t.

1 Like

ok. I have ordered another micro SD card hoping that it will give better results. I’ll try with another micro USB cable as well.

You don’t need an Sd card installed to flash the firmware. Remove it and try again.

1 Like

Hi dkemxr,
I was trying to calibrate my pixhawk using Qground control. The firmware upload stage had completed the programing part but failed the update stage. I am able to use mavlink and connect my pixhawk and can also see my location on the map. I was trying to calibrate the various things in my quadcopter but the GPS calibration always fails after the progress bar reaches full and I am unable to get a GPS lock. In motor calibration step as well I am unable to operate all motors together but I am able to test each motor individually.




Another previous calibration step i did had this showing up

Here is the video of when I test all motors: https://drive.google.com/file/d/14Oy_8OnjIPw9vBjH5SQp_0YFWz5ItHWN/view?usp=sharing
only two of the above are spinning rest don’t spin but they do spin individually.