Flashing Pixhawk


While running through the complete initial setup of Ardsub http://ardusub.com/raspi-setup/
I took every step and now end up flashing pixhawk through Raspberry Pi.

I am waiting for the board to reload as the text says.

While the flashing command is running, you will see the script try to start the Pixhawk’s bootloader multiple times. The output will look like this: <div class="highlighter-rouge"> <pre class="highlight">if the board does not respond, unplug and re-plug the USB connector. attempting reboot on /dev/ttyACM0... </div> Eventually it should catch and reflash the board.
How long should I wait? I waited for approx 40 min's, without success. After unplugging the USB and also rebooting (repower) the devices, still QGC doesn't recognizes the Pixhawk.


I run the installation through Raspberry Pi connected with the Pixhawk via USB, and connected to my windows PC via an ethernet cable. I run Putty SSH.

What more can I try?

Thanks in advance.

The pixhawk must be connected to the computer running qgc directly via usb in order to flash from qgc.


As I was following the procedure, I wanted to flash through/from RPI.
If I have to do it now via USB directly, how should it work then in the future in the setup with RPI - FathomX - Tether cable - Top station… ?


In order to flash through the raspberry pi, you need to ssh into the pi.


QGC is not used in this flashing process.


I see that you are using the recommended process. I misread ‘QGC does not recognize the pixhawk’ as if you were trying to flash through qgc.

Please turn on the raspberry pi/pixhawk, ssh and do

‘ls /dev/tty*’


‘ls /dev/serial/by-id’

Please run these two commands both before and after running (then cancelling) the upload script. Let the upload script run for a couple of minutes, do you see the main led on the pixhawk turn off, then white for many seconds?


Thank you for your answer.

After the commands I got these:

pi@raspberrypi:~ $ ls /dev/tty* /dev/tty /dev/tty15 /dev/tty22 /dev/tty3 /dev/tty37 /dev/tty44 /dev/tty51 /dev/tty59 /dev/tty9 /dev/tty0 /dev/tty16 /dev/tty23 /dev/tty30 /dev/tty38 /dev/tty45 /dev/tty52 /dev/tty6 /dev/ttyACM0 /dev/tty1 /dev/tty17 /dev/tty24 /dev/tty31 /dev/tty39 /dev/tty46 /dev/tty53 /dev/tty60 /dev/ttyAMA0 /dev/tty10 /dev/tty18 /dev/tty25 /dev/tty32 /dev/tty4 /dev/tty47 /dev/tty54 /dev/tty61 /dev/ttyprintk /dev/tty11 /dev/tty19 /dev/tty26 /dev/tty33 /dev/tty40 /dev/tty48 /dev/tty55 /dev/tty62 /dev/tty12 /dev/tty2 /dev/tty27 /dev/tty34 /dev/tty41 /dev/tty49 /dev/tty56 /dev/tty63 /dev/tty13 /dev/tty20 /dev/tty28 /dev/tty35 /dev/tty42 /dev/tty5 /dev/tty57 /dev/tty7 /dev/tty14 /dev/tty21 /dev/tty29 /dev/tty36 /dev/tty43 /dev/tty50 /dev/tty58 /dev/tty8 pi@raspberrypi:~ $ ls /dev/serial/by-id usb-3D_Robotics_PX4_FMU_v2.x_0-if00
The power LED is not doing anything but lighting steady green.


What is the behavior of the large, RGB led in the middle of the pixhawk during the flashing process?

Allow the pi and pixhawk to boot up, when powered on, the pixhawk led should turn white for many seconds, then eventually flash red and blue briefly before continually blinking yellow or blue. At this point the pixhawk has finished booting.

When the pixhawk has finished booting, observe the RGB led on the pixhawk when you run the script. Does anything change with that RGB led when you start the script? The led should turn off while the pixhawk is being flashed, or you may observe the pixhawk booting sequence several times while the script tries to catch the bootloader.




I flashed through USB via QGC, and that worked fine. LED is flashing as you describe.

However, connected via my raspberry, QGC doesn’t recognize the Pixhawk.

The LED burns brighter when disconnecting the USB, so there is a connection detected.


What diagnostics can I try now in order to get it running via Raspberry?



in raspberry pi terminal do

‘sudo screen -ls’

If you do not see mavproxy screen running, then there is an error in your startup script. Try running the mavproxy startup script in the terminal directly to get information on the failure.


Hi Ward,

Have you set up the required software on the Raspberry Pi? You can do that by downloading our image file or by setting up everything manually. The default Raspbian install doesn’t have the scripts needed to run ArduSub.

Here are the instructions: http://ardusub.com/raspi-setup/


Hi, i ’ m try to flashing the pixhawk via usb on my mac with the qgroundcontrol but don’t recognize anything



Some usb cables only have the wires to power devices and don’t have the data wires that are used to communicate. Can you verify that your usb cable has the data lines, or try another usb cable?


Hello Jacob, I used three different cables and I realized they were different but really the one to use is the one that can synchronize your phone with the computer but pixhawk card can not be recognized in my mac

now try to connect my mac to pixhawk card using the terminal mode without results

use this command:

“Ls /dev/tty.usb*”



Hi there

My setup is working. Partly…

Strangly enough the windows version of QGC does not allow flight mode “manual”. Is that important after all?

Other thing is the video, but I understood that video on Windows 7 will never work ?

And raspberry connected to a monitor via HDMI, how can I show the video stream there? I have no desktop or something , only command screen …

many thanks for all support allready.!!


Maybe you do not have the Manual Mode available because you are using the “Stable” version of QGC and not the “daily” build version?

Also, have you added the Manual Mode into the Flight Mode parameters and have selected a controller button to enable that Mode?



Video working here under Windows 7. Make sure your camera cable is install right way around on Pi3.

Nice, glad to hear it’s working on Windows 7.

Hi All

The flight mode issue is fixed by running the latest build of QGC on a Mac.

But video is not working on the Mac either. I am convinced that the cable is installed well.

What are diagnostics I can run to discover where my fault is located?



Hi Ward,

The first thing to check is the IP address settings on your Mac. Open “Network Preferences” on your Mac and select your Ethernet adapter on the left sidebar. Then make sure the following settings are set:

Configure IPv4: Manually
IP Address:
Subnet Mask:

Let me know if those are set properly. If they already are then we can investigate other causes.


Hi Rusty


For any reason I choosed

(don’t ask me why I didn’t choose

Since it is in the same range, I thought that was OK.
But on second thoughts, maybe the video script is written with one specific IP address and must it be .1 ?

Let me try it this Thursday.

I’ll keep you posted.