Troubleshooting
Contents
Troubleshooting#
It is very very common for something to go wrong during your build. Count on it. The goal is to systematically figure out what is wrong and fix it. Mastering this process is essential to any robot project, because things will always go wrong.
The high-level bit when troubleshooting is to try to isolate the problem systematically. Rather than simply redoing part of the build or replacing a part, try to systematically verify what parts are working and what parts are not working. Your drone will not fly until everything works!
Power issues#
Troubleshooting
SYMPTOM
My Raspberry Pi does not boot.
RESOLUTION
You should verify that each part of the drone is receiving power. The Raspberry Pi indicates it has power with a red power LED.
If your Raspberry Pi is not powering on, verify with a multimeter that the Raspberry Pi pins are receiving the right voltage on input. You can find a mapping of the GPIO pins here. Verify that each power pin is receiving 5 Volts compared to each ground pin with the multimeter.
Make sure you did not use metal screws to mount the camera to the frame as they can cause a short.
If your Raspberry Pi is receiving 5 volts on its power/ground pins, but no red light turns on, then it might have gotten fried. This can happen if you wire or short the power/ground pins on it, so try replacing the Raspberry Pi.
Troubleshooting
SYMPTOM
The motors do not turn on.
RESOLUTION
The motors indicate they are receiving power by beeping once. You can also check each part with the multimeter. Verify that there is a 12 Volt connection between power and ground on the power distribution board. And verify that the Raspberry Pi is receiving 5 volts from the UBEC.
Raspberry Pi Issues#
Most of the next debugging steps require getting “into” your Raspberry Pi using ssh, check the First connection chapter if you are not connected.
Troubleshooting
SYMPTOM
My Raspberry Pi is receiving power and turning the red light on, but it doesn’t boot.
RESOLUTION
Something might be wrong with your SD card.
Verify that your SD card has the correct image flashed on it.
Check that the SD card is inserted in the Raspberry Pi so that it can boot.
If all this does not work, find a keyboard and monitor to plug the Raspberry Pi into during boot, to see what is going on during the boot process.
There may be an error message being printed on the screen that will give more information.
Camera#
Now verify that the camera is working.
Troubleshooting
SYMPTOM
I’m in the Screen session, but the camera node is not starting.
RESOLUTION
Use raspistill
to verify that it is plugged in.
You can try raspi-config
and make sure it is enabled.
Also it is very common for the camera cable to be plugged in backwards, or
plugged into the wrong slot on the Raspberry Pi. (There are two possible slots
that fit the cable.) Make sure it is plugged into the slot marked
"camera"
, and that the cable is facing the right way. (The metal pins
of the cable should be facing the pins in the slot.) Make sure it
is seated all the way.
If none of these things make raspistill
work, try plugging into your Raspberry Pi
someone else’s camera, and someone else’s Raspberry Pi into your camera,
and try all of the above debugging steps. You can also check if
the cable is bad. For example if you bend the cable too much, it will
fatigue and then break the wires; or if a prop strikes the cable, it
might cause the cable to break.
If your Raspberry Pi and cable work with someone else’s camera but not yours, try replacing the camera. If your camera and cable work with someone else’s Raspberry Pi but not yours, try replacing the Raspberry Pi.
Flight Controller#
Finally check the Flight Controller. When the Flight Controller connects to the motors, it will make a “low beep, high beep” sound. So verify you hear the “do do do” from the motors, indicating they have power, and then the “low, high” indicating the Flight Controller can talk to them. If that doesn’t work, check the connection between the Flight Controller, ESCs, and motors.
Inside the Raspberry Pi, make sure you can calibrate the accelerometer, and run the Flight Controller node. If those don’t work, go back and recheck your Betaflight configuration.
Flight Issues#
Before each flight, physically inspect the drone.
Make sure that:
your camera is mounted firmly, pointed downwards.
the range sensor is pointed downwards and hasn’t gotten rotated.
the Flight Controller board is level and firmly attached, else the IMU and gyroscope will return incorrect readings.
each propeller is tightened down all the way.
Any of these issues could cause poor flight behavior.
If your drone flips the first time you try to take off, the motors are spinning the wrong way, or the props are on upside-down. If your drone makes funny noises when arming, either the props are not tightened all the way, or they are striking a wire. Tape everything down as much as possible.
If the drone is not stable during flight, you should make sure that the props are all tightened down. Make sure the ESCs have been calibrated following as in Calibrate the ESCs.
A well-tuned drone can hover with velocity zero with some drifting, but not too much. It should be able to hover with position hold indefinintely.