Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
2.1 How To: Setup with ARF Kit
##How To: Setup Flyver with Drone ARF Kit or Flyver DevKit
ARF = Almost Ready to Fly
ARF kits are like a lego kits for grown ups.
Includes: Frame, motors, electronic speed controllers (ESCs), power supply board, propellers.
Does NOT include: autopilot, radio (RX/TX), battery.
Flyver DevKit (currently not available) comes with DJI Flamewheel F440 ARF kit + IOIO OTG board.
- Quadcopter ARF Kit
- IOIO OTG Board - Connects the smartphone to the hardware
- Good Android Phone - Used as the brain of Flyver
- Any Android Phone - Used as a remote control for the drone
- Plastic smartphone case - to be attached to the frame.
1. Assemble the ARF Kit
There are many online resources of how to assemble an ARF Kit and especially of those of the DJI model.
The process for F330 and F450 is identical.
How to assemble Flywheel F330/F450: Video Here
NOTE! Take extra care of checking the motor spin directions. If DJI F450/F350 check motor direction labels once you are screwing them on the frame. After you connect them to the ESCs they are most likely not spinning the right directions. Check their directions by running the default apps (without propellers). To change a direction of a motor, swap any two of the three leads connecting the ESC and the motor.
2. Connect the IOIO OTG
After the assembly of the ARF kit, the IOIO Board has to be connected.
To power the IOIO OTG you will need 5-15Volts. You could use the JST-PH 2 pin female connector, the bare wires of which you could solder to your battery connector on the power supply board (2 or 3 cell lipo only). If you are using 4 cell battery, find another voltage source to power up the IOIO board. This could be the red wire of a ESC, which normally provides output of 5 volts(measure first).
Note! If you are using the Flyver DevKit you will only need to connect the ESC wires to the IOIO board without soldering and solder the JST connector (used to power the board ) on the same solder used for the battery connector on the power supply board. The battery signal and else is already soldered for you.
Note! This is full schematics of how things are connected and linked together. In real life you won't use breadboard to connect your setup. If you are using the Flyver devkit you will only need to assemble the drone kit and connect the IOIO without doing soldering on the IOIO board itself. Please check how a practical connection will look like in ImageTop, ImageBottom, ImageJST.
Battery status signal:
It is great when you could measure the status of the battery. We have taken care of that.
To measure battery voltage and status (%) we are using the analog-to-digital converter (ADC) found in most of the microcontrollers. IOIO OTG has ADC which has input of max 3.3 volts. We cannot measure the overall voltage or single cell voltage as this will cause damage on the board. Therefore, we have to scale it first. To do that we are using a simple circuity called voltage divider. You could downscale a voltage to the values you need by using only two resistors. The problem with this is that everyone would have different scale factor and therefore the end apps won't show the same battery status no matter what device you are using. To avoid this would be better to use the recommended values for the two resistors.
*R1 = 32K Ohms
*R2 = 5.5K Ohms
If you are powering the IOIO with a connector straight from the battery, you could attach your voltage divider on the Vin, GND and Pin 46 (signal) on the IOIO. Or if you are powering the IOIO from alternative power source, you will need to take the battery voltage signal (unscaled) from your power supply board.
The smartphone is connected to the board via USB cable. The IOIO OTG board comes with USB OTG cable. This cable is special 5 pin USB from which the relationship between the IOIO and the smartphone is setup. The USB device could be a host or a peripheral. This is like the server-client relationship in web.
IOIO OTG as a host: This is the recommended configuration. You setup your IOIO as a host by connecting the USB OTG cable to it. Then you connect the smartphone to the USB OTG cable. In this configuration the IOIO acts like a host device. The smartphone starts charging. This mode is supported by most of the smartphones. NB! When configured in this mode, USB Debugging on the smartphone should be turned OFF.
Smartphone as a host: This will work only on some Android devices. By using this mode your smartphone is the host of the IOIO board. One of the benefits of this setup is that you are no longer required to turn off your debugging mode which makes development and testing easier. The second benefit is that now you could use a USB OTG hub. This means that now you can plug many external USB devices in your smartphone and therefore use them on the drone. This includes USB storage, usb cameras, usb radio modules, and many more. A new door for modularity is opened.
Connecting the motors:
The Quadcopter in X configuration has four motors which we indicate as FCW, FCCW, RCW, RCCW. The motors are connected to their ESCs and the ESC leads should go into the IOIO. The best way to connect them in by using 3 x 4 male pin headers. They are already connected in the devkit. One row of the pin headers should be soldered to pin 34-37 on the IOIO, while the other could be left hanging. The middle row should not be connected. And the last row should be soldered together and grounded. Check ImageTop, ImageBottom, ImageJST.
You could see the colour code and the way the ESC connectors should be connected to the IOIO.
- Front clockwise spinning motor - pin 34
- Front anticlockwise spinning motor - pin 35
- Rear clockwise spinning motor - pin 36
- Read anticlockwise spinning motor - pin 37
3.Secure the smartphone case to the frame
With the flamewheel we recommend that the smartphone case is attached to the top plate of the frame facing forward. Forward is the diagonal between the red arms. The best way to attach the phone is with strong adhesive velcro straps. This is setup is secure enough with a new piece of velcro but additional over the phone strap won't hurt.
4.Install the Flyver Test App
Install the Flyver Test App you could find on the Flyver-Apps repo on a good Android phone. This app runs on the drone itself.
It is a good starting point to start playing with your drone and confirm that it runs properly.
5.Install the Flyver RC App
Flyver RC is used as a remote control for the Hello Flyver App. It should be installed on the second Android phone and used to control and test your Flyver drone.
- Place your phone on board and connect it with the usb cable.
- Open the Flyver RC app
- Connect the drone's battery. Flyver Test App should start.
- Setup the phones into the same wifi network and add the IP setting into the Flyver RC app.
- Click the connect button.
- Under Settings, set the PID values (firs time only). Recommended values for the Flyver Dev Kit are: Pitch: P=2.4, I=0.1, D=0.4; Roll: P=2.4, I=0.1, D=2.4; Yall: P=2.2, I=0, D=0.2.
- You are ready to go. _Note that to control the pitch and roll of through the Flyver RC you need to constantly press the left-hand side button of the app. The app uses the motion of the RC phone to control the device.
- From the settings of the RC App PID values and other options could be set. Note that this is very important for achieving a steady flight. In the future all settings will be autoconfigured through automatic procedures, but now using other devices will be some effort to setup.
How should it look like: