PR Copter

Welcome to my copter build page. Right now it's merely a test, but soon here will be lots of useful information. For now, let's make draft layout.


Important! On this page I will collect information that will serve as a reference for copter build. I will be very grateful to any who will help to keep this page up to date with existing changes not distracting core page structure.


All the information in this manual comes without any warranty and should be used with extreme caution. Although copters are not too big and heavy machines, significant property damage or harm can be caused by improper use. Be sure to fly in appropriate places, respect people’s privacy and obey and local law restrictions. If you are unsure with what to do, better double check everything and ask question, than fly unprepared vehicle.


Workstation considerations

In my case I was using Ubuntu Linux 32 bit for firmware builds and upgrade. On windows version of update software I was not able to flush firmware getting “Unable to open port” on all my systems. Well, maybe it will change with time. Now, what we’ll need:

  1. x86 compatible PC (as funny as it seems, in my case it was laptop).
  2. Latest Ubuntu x32 bit (I guess x64 will do also, but haven’t checked that out).
  3. FTDI USB→COM adapter (well, it will take some time to get system up and running, so you’ll need terminal connection).

Required hardware

In my case, I’ve ordered complete set of hardware which greatly simplified my work.

  1. PX4FMU – it’s the core of the system, and you can’t live without it.
  2. PX4IO – pretty useless thing in small aircraft and marvelous piece of hardware for larger ones. Works like port replicator on PC. This is optional device.
  3. PX4FLOW – optical flow sensor. Basically measures optical, ultrasonic and angular values giving us drift velocity. This is optional device.
  4. Buzzer – connects to PX4FMU board and gives audial feedback on system working modes. I guess it might also warn on some critical inflight conditions, like battery depletion. Mandatory.
  5. Arming switch (with red led inside) – connects to PX4FMU module and arms it. Also indicates current system arming state by various blinkings. Mandatory with PX4IO.

6. Wires: In my case it took: - one 5pin wire to connect PX4IO to PX4FLOW and - one 9pin wire to hook up to PX4FMU USART1 for console. (Note, that connector less than 9pin won’t allow you to match required pin width. If you are going to order connectors at store, I’d rather recommend full length 15pin connector {} ).

Now, the “flying stuff”:

  1. You’ll need 4 to 8 ESC’s depending on your copter layout. Please keep in mind, that standalone PX4FMU unit can handle only up to 6 rotors. PX4IO allows using 8 rotors. For my experiments I’ve used Turnigy Plush 6A ESC’s for they are 400Hz PWM capable.
  2. Then you’ll have to get the same amount of motors. i.e. for quadrotor you need 4 esc’s and 4 motors.
  3. Also you can not do anything without RC Receiver. In my case I’ve used FrSky TFR4 in CPPM mode.
  4. Misc things like copter frame and battery are also needed.

Airframe construction and it's caveats

It is important to understand, what kind of vehicle you want to get as a result. Currently there are two types of airframes supported: (as soon as it is not manual, I'll just place links sometimes) Multicopters

PX4 Hardware specific information

In this section I will give only information that is important and sometimes mission-critical for copter function.


Basically it's brain of the system.

At this point all system settings are stored in flash memory of CPU. See software section for detailed configuration process.

The following table shows port distribution on FMU board.

ttyS0 UART1 USART1 Free port, can be used for various tasks
ttyS1 UART2 MavLink MavLink port for telemetry and control
ttyS2 UART5 PX4FLOW PX4FLOW module uplink port (optional)
ttyS3 UART6 GPS GPS receiver uplink port (optional)


Port extension and power source board.

Board power source is pretty noisy, so try to keep it away from magnetometer.


Optical flow module. Something from far-far space. Not working tip-top just yet.

PX4 Software specific information

Firmware update

Firmware update is pretty straightforward here:

  1. Remember to install SD card in PX4FMU module.
  2. Start QgroundControl.
  3. Go to configuration tab. (??? rechek exact names)
  4. Press “Detect hardware” button (??? )
  5. Connect PX4FMU module via USB cable
  6. Reboot PX4FMU via reset switch if bootloader haven't been detected (red light should flash rapidly).
  7. Choose “Stable firmware” (if you are reading this manual than you don't need other options, just not yet).
  8. Click on “Flash” (???) and wait for magic.

Now updating PX4IO is a bit more tricky:

  1. Unplug PX4FLOW from USART port on PX4IO! REMEMBER TO UNPLUG! It's important.
  2. Press and hold arming switch of PX4IO (the one with LED inside, assuming you have one. If you don't you still can update, but that will be much more difficult).
  3. Apply power to system (typically if you use PX4IO extension module it is a good idea to let it power everything). Yes, you can let go switch.
  4. Now, if you've done everything right, you'll see red light on PX4IO rapidly flashing (which means that bootloader is active). In approximately 15-30 sec your IO module will reboot.
  5. The result of flashing PX4IO module can be found in log which will be created on SD card.

Flashing PX4FLOW is the same as flashing PX4FMU, just repeat steps 2 to 8.

Core system setup

Understanding flight modes

Many beginners (including myself) become frustrated when they see mode switch diagram and system states graph. It looks horrifying although it's pretty logical and well composed.

Here I want to give you a jump start. Firstly you will need only three of these modes:

  • MANUAL - which is stabilized mode with no automatic controls like altitude hold or heading hold. Just gyros + mag + acc. All the tuning happens in this mode.
  • SEATBELT - pretty much the same as MANUAL, but with altitude mantained by system, which means, that copter will try to maintain altitude position it remembered when SEATBELT mode was turned on.
  • AUTO - autopilot mode. It will take some effort to get to the point when you need this mode. Requires GPS to enable.

System fine tuning


My guinea copter

Evolution 1

Evolution 2

Evolution 3

Translations of this page:

Quick Links

QR Code: URL of current page