Pixhawk Doesn't Boot

I am installing a new Pixhawk.

Connecting via the USB, initially I got the music, and Pixhawk booted. But I have had problems from the beginning in loading new software.

I have two previous Pixhawks. I have managed to load the software on those, but it has always been a problem. Reading a post here, “Pixhawk DOA”, I saw that this problem was cause by “weak” USB ports.

Too late for me now though.

I was struggling to load my Pixhawk. But it never comes back after the “Unplug the USB, press OK and reconnect the USB”.

I tried MP and APM Planner 2.0 Always the same. I changed com ports, nothing.

After one attempt, plugging the USB back in and it didn’t come back with music… or anything.

Just
FMU lights: green on and orange fast blink
IO lights: green on, orange solid, blue slow blink.

And the buzzer sort of hisses as it does when it is preparing to boot.

If I press the safety button while powering on, only green solid and orange fast blink, both sides.

It won’t boot to connect to terminal.

Looks like my bootloader is bricked!

My other Pixhawks work fine.

Is there any way to load the bootloader without terminal?

Looks like I’m going to have to power my USB externally. To prevent this in the future.

Do I need to send this Pixhawk back?

Hi SkyHawkDP,

If you are seeing the board in the com ports, the bootloader is ok.

Try to power the Pixhawk with the power module, and retry the firmware upload.

I do see the port, “PX4 FMU com 25” in my case.

But If I go to terminal with the port selected beforehand, and select PX4/Pixhawk-> Connect,

I get the following. It doesn’t boot and come back. Almost gave up but it finally indicated port openned,
but no prompt of any type

[attachment=0]bl_update.jpg[/attachment]

I tried the bl_update anyways, but nothing becasue I can’t get to the directory where it’s located to run it.

You seem like a sophisticated user. Can you connect a debug cable to serial 4/5

Console Port
The system’s serial console runs on the port labeled SERIAL4/5. The pinout is standard serial pinout, to connect to a standard FTDI cable (3.3V, but its 5V tolerant).

Pixhawk FTDI
1 +5V (red) N/C
2 Tx 5 Rx (yellow)
3 Rx 4 Tx (orange)
4 Tx N/C
5 Rx N/C
6 GND 1 GND (black)

and connect it to a serial cable at 57600 and post the output here

NuttShell (NSH)
nsh> [boot] Successfully initialized SPI port 1
[boot] Successfully initialized SPI port 2
[boot] Initialized SDIO
[init] looking for microSD…
[init] card mounted at /fs/microsd
sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
[init] USB interface connected
Running rc.APM
Mounting binfs
binfs mounted OK
nsh: rm: unlink failed: No such file or directory
Detected FMUv2 board
[uorb] ready
uorb started OK
[px4io] default PWM output device
[px4io] starting
[px4io] ready
PX4IO board OK
CRCs match
PX4IO CRC OK
Setting FMU mode_pwm
MODE_6PWM
set_pwm_rate 0 50 50
[fmuservo] starting
adjusted actuator update interval to 20ms
Starting APM sensors
[MS5611_SPI] on SPI bus 1 at 3
ms5611 started OK
init done
adc started OK
Starting FMUv2 sensors
[HMC5883] on I2C bus 1 at 0x1e
Using external magnetometer
hmc5883: starting mag scale calibration
hmc5883: axes scaling: 0.997272 0.881853 0.929833
hmc5883: mag scale calibration successfully finished.
hmc5883: PASS
hmc5883 calibrate OK
ID 0x58
[MPU6000] on SPI bus 1 at 4
Found MPU6000
[L3GD20] on SPI bus 1 at 1
l3gd20 started OK
[LSM303D] on SPI bus 1 at 2
lsm303d started OK
[Airspeed] i2c::transfer returned -6
probe failed
ets_airspeed: driver start failed
probe failed
probe failed
meas_airspeed: driver start failed
Trying PX4IO board
[rgbled] on I2C bus 1 at 0x55
rgbled started OK
mtd:
mtd: Creating partitions
mtd: Partition 0. Block offset=0, size=32
started mtd driver OK
reading /fs/mtd expecting 16384 bytes
readtest OK
mtd readtest OK
rwtest /fs/mtd testing 16384 bytes
rwtest OK
mtd rwtest OK
Starting ArduPilot /dev/ttyACM0 /dev/ttyS1 /dev/ttyS2
Starting ArduCopter uartA=/dev/ttyACM0 uartC=/dev/ttyS1 uartD=/dev/ttyS2
initialised /dev/ttyS3 OK 512 512
initialised /dev/ttyS1 OK 512 512
initialised /dev/ttyS2 OK 512 512
ArduPilot started OK
rc.APM finished

NuttShell (NSH)
nsh> Failed to read /fs/mtd

Craig,

I wish I could have a more positive result!!

But nothing. I used a 3DR radio set for the link (FTDI compatible). Disconnected pins 4 and 5 to be safe.

Before plugging in the cable checked pins of Serial 4/5 connector with a scope:
pin 1: 5 volts
pin 2: 3.3 volts
pin 3: 0 volts
pin 6: 0 volts

Plugging in the cable to 3DR radio:
pin 2: 3.3 volts
pin 3: 3.3 volts

Using an external serial monitor program, connected to the radio port at 57600 baud, no response at boot and no response to typing characters. I see data arriving on pin 3 of Pixhawk, nothing going out on pin 2

Sigh!

I don’t think that configuration would work. The radios use CTS & RTS and those signals are not available on the console / serial 4/5 connector

Yes, of course… modem…

I’ll set up a wired link with the corresponding interface.

Still have problems!

I have an FTDI interface, with signals of 3.3v

Connecting to the port (pins 2 and 3 of the Pixhawk, plus GND of course) I have echo as long as I don’t power on the Pixhawk.

As soon as I put power, nothing.

My USB Tx is transmitting and connected to pin 3 of the Pixhhawk
Pin 2 is connected to my USB Rx

My GND to pin 6 of Pixhawk

Added note. Tested interface on another Pixhawk, and it functions correctly.

This new Pixhawk is not booting.

Resumen:
Identified port and loads driver: PX4 FMU
Attempt to connect to Terminal via MP, indicates rebooting, and waits for reboot which doesn’t happen, so times out and says Com port opened.

No other prompt of any type:

Trying to connect to Serial4, nothing the Pixhawk doesn’t attempt to boot nor output anything on the serial port.

This is a new Pixhawk

please advise.

@Craig3DR,

It seems I have a faulty Pixhawk… brand new, rev 2.4

How do I get it replaced or repaired? Is there anything else I can try? I wondered if it could be the SD card, but there are no tones of any kind at all.

I don’t think it’s hardware. At one point it connected to terminal. It also tried to upload new firmware, but after one of those failed attempts, this happened. As though it uploaded some garbage and now boots into a loop.

I am now confident that my new computer has all driver problems resolved, so any future firmware uploads should be clean.

Did you get the console serial debug cable working? It will tell you what the problem is

Yes, I got the cable working. Tested it on a good Pixhawk. Works fine,
but on this Pixhawk, nothing. Powered using a PM.

There are no musical tones of any kind. just blinking lights, both FMU and IO.

Craig, I will be buying more than 20 of these in the near future. It would be good if I could configure a board from scratch. Will save me AND 3DR a lot of headaches.

Can you direct me to a good source of information on how to do that?

I’m fairly sure this isn’t a hardware problem.

Craig I found:
pixhawk.org/dev/px4_bootloader#b … bootloader

I’ll let you know how it goes.

Won’t get to it until Saturday. At this point, if it voids warrantee, I’ll see it as a cost of “learning”.

I may need a little guidance if it doesn’t go well…

Compiled the bootloader, probably wasn’t necesary because the bin is available in a lot of places, but I wanted to set up the tools and environment anyways.

Bought an ARM-USB-TINY… but needed to make up a cable to extract just the signals required by the PX4.

So still haven’t gotten to trying to load the bootloader.

To be continued…

OK, can somebody help me find the right links to flash the bootloader?

I found a hex of the bootloader from github.

The original information I found was for a PX4 not the Pixhawk

From what I can make out the bootloader can be flashed over UART0? Read something about connecting with a 3.3v FTDI cable after booting with the “boot pin” connected to ground to put UART0 in “flash mode”?

Where is access to UART0… Serial 1 or D13 USB connector or…?

Nevermind, I’m just sending it back!

I have the same problem. I installed firmware using qgroundcontrol not realising this isn’t the APM firmware, so tried to install the firmware using apm planner. It gave an error about erasing flash failed, then when I reboot it I just get exactly the same flashing lights as SkyHawkDP.

Is there any way of fixing this without starting to make up cables? Surely a fairly expensive commercial product should be better at handling firmware updates than this?

MP and APM Planner didn’t want to know despite many attempts, and with an ever-increasing crestfallen face I eventually turned to groundcontrol which managed to install it’s own firmware on first attempt, thus turning my frown upside down.

I then tried to install the APM firmware with APM Planner, which failed, but MP worked, so I eventually got up and running (although I can’t get past the GPS HDOP pre-arm warning despite a decent lock).

The firmware flashing is a very hit and miss affair, and it’s quite confusing to newbies over which software and which firmware should be used. It would be helpful if the pixhawk/apm websites had an even clearer ‘into to newbies’ which lays this out.

Although it’s still maybe a little rough around the edge, which is not uncommon with opensource based projects, I’m blown away by the underlying technology in these projects. It’s absolutely amazing and one gets the feeling with next generation of hardware like the pixhawk that it’s just the beginning…

Just for the record I also received a Pixhawk DOA. Very disappointed.
Tried everything to bring it to life, no joy. Gave it to a programmer
friend who has one working perfectly and he confirmed it’s a dud.
From APM thru Pixhawk, it seems we are hacking these boards more than flying them. :frowning: