Software - cornellmotionstudio/DylanDrone GitHub Wiki

Hardware Required

  • 1x Assembled Dylan - remove the propellers for now as they could cut your fingers off
  • 1x Charged 4S LiPo Battery (>= 16V)
  • 1x RadioMaster Boxer Controller
  • 1x USB-C to USB-A or USB-C to USB-C depending on the needs of your computer

Software Required

Please install the latest version of all of the following software:

  • EdgeTX Buddy, this is just a link
    • To update the radio to the latest version of EdgeTX, the operating system on our radios
  • ExpressLRS Configurator
    • To update the ELRS transmitter and receiver to the latest version of the ELRS protocol
  • Betaflight Configurator
    • To update the Flight Controller to the latest version of BetaFlight, the firmware running on the flight controller (FC)
  • BLHeliSuite32
    • To change motor spin direction

Updating & Configuration

Part 1: Updating the Controller Software

I strongly recommend referencing this guide: https://oscarliang.com/flash-edgetx/#How-to-Update-EdgeTX

Step 1: Open EdgeTX Buddy. Keeping the RadioMaster Boxer turned off, plug the USB-C cable into the top port.

Step 2: Select the latest firmware version and then under the radio model, select RadioMaster Boxer. Press the Flash via USB button to start the updating process.

Step 3: After the process is complete, unplug the radio from the computer.

Part 2: Updating the Drone Receiver ELRS

I strongly recommend referencing this guide: https://www.expresslrs.org/software/updating/wifi-updating/

Step 1: Open ExpressLRS Configurator. Select the latest firmware version under the Releases drop-down. Next, under the Target section, in the Device category drop-down select Happymodel 2.4 GHz, and in Device, select HappyModel EP1/EP2 2.4GHz RX. In Flashing Method, choose WIFI. Configure Device options as shown in the image below. Under Flashing Options, press the BUILD button and the building will commence.

Step 2: After the build is complete, a finder or file explorer window will pop-up with the resulting firmware.bin file. Keep this tab open.

Step 3: Plug in the battery to the drone, and wait for the lights on the receiver to start blinking rapidly. This should occur after approximately one minute, meaning the receiver is now in WiFi mode. With your computer, connect to the receiver's wifi network called ExpressLRS RX with network password expresslrs.

Step 4: Once the connection is successful, a webpage will pop up. Select the update menu and drag the file into the firmware file attach box. Then, press the Begin Flashing button. The WiFi will disconnect before the update status reaches 100%, this is normal.

Step 5: Unplug the battery and then plug it back in, waiting another minute to connect to the receiver once more. Once connected, verify that the firmware version matches the one that was just flashed on it by connecting to the website again and checking the 'Firmware Rev.' on the homepage. Its number should match the release you selected on ExpressLRS. If not, repeat Steps 1-4.

Step 6: Under Binding Phrase, type in the binding phrase you would like to use. In our case, we used Dylan1 for Dylan 1 and Dylan2 for Dylan 2. Press the Save Changes button and the receiver will reboot. You can now disconnect power, and the receiver updating and configuration are now complete.

Part 3: Updating the Controller Transmitter ELRS

I strongly recommend referencing this guide: https://www.expresslrs.org/quick-start/transmitters/rm-internal/

This is similar to the steps above for the ELRS receiver configuration.

Step 1: Open ExpressLRS Configurator. Select the latest firmware version under the Releases drop-down. Next, under the Target section, in the Device category drop-down select RadioMaster 2.4 GHz, and in Device, select RadioMaster Pocket Internal 2.4Ghz TX. In Flashing Method, choose WIFI. Under Flashing Options, press the BUILD button and the building will commence.

Step 2: After the build is complete, a finder or file explorer window will pop-up with the resulting firmware.bin file. Keep this tab open.

Step 3: Turn on the controller by holding down the power button for a few seconds. Then, press the SYS button on the controller and select the first item in the menu by pressing on the scroll wheel. It should contain something along the lines of ExpressLRS Lua. Once in the menu, scroll down to the Enable WIFI option. With your computer, connect to the transmitters's wifi network called ExpressLRS TX using network password expresslrs.

Step 4: Once the connection is successful, a webpage will popup. Select the update menu and drag the file into the firmware file attach box. Then, press the Begin Flashing button. The WiFi will disconnect before the update status reaches 100%, and this is absolutely normal.

Step 5: Enter the ExpressLRS Lua menu again, and verify that the firmware version matches the one that you built. If not, repeat Steps 1-4.

Step 6: Enable the WiFi once more with the Enable WIFI option and connect to it. Under Binding Phrase on the web page, type in the binding phrase you would like to use. In our case, we used Dylan1 for Dylan 1 and Dylan2 for Dylan 2. It is important that the transmitter and receiver's binding phrases match. Press the Save Changes button and the receiver will reboot. While still in the ExpressLRS Lua menu, toggle the Model Match option to ON.

Part 4: Flight Controller Updating & Configuration

I strongly recommend referencing this guide: https://oscarliang.com/flash-update-betaflight/

Step 1: Open Betaflight Configurator and connect the drone's flight controller to your computer with a USB-C cable. The Betaflight Configurator software should automatically detect the connected flight controller.

Step 2: In the Betaflight Configurator, navigate to the Firmware Flasher tab on the left. Press the Auto-Detect button and this should automatically select the correct board for your FC.

Step 3: Next, select the latest firmware version, and click Load Firmware [Online] to download the firmware. Then, click Flash Firmware to begin the update, ensuring not to disconnect the USB cable during this process or you could brick the Flight Controller (FC). It should only take a minute or two.

Step 4: After flashing, you should be able to connect by clicking the Connect button at the top right corner. When connecting for the first time after flashing, Betaflight will prompt you to apply custom defaults. Always select Yes. These defaults configure critical settings like gyro connection and motor pins specific to your Flight Controller.

Step 5: Under the Ports, enable the Serial Rx toggle in the UART2 row. This tells the flight controller that a receiver is connected to the UART 2 RX and TX traces. Press save in the bottom or top right corner, and the flight controller will reboot to register the settings and then connect again.

Step 6: Go to Receiver, and select the CRSF under the Receiver Mode drop-down. Now, turn on the radio. The transmitter and receiver with the same binding phrase should automatically connect, indicated by a solid light on the receiver and by "reception bars" on the controller's main screen. Try moving one of the sticks or toggling one of the switches, you hsould see the graph on the Receiver tab change. Once again, press the save and the flight controller will reboot and reconnect once more.

Step 7: Go to Modes, and select the first row, and press the toggle button on the top left of the controller. Set the mode to Arm, ensuring that the drone will arm only when the switch is pressed into the controller. Next, choose the second row and toggle one of the toggle flick switches into the downwards position, and set this to Horizon. Choose the third row down and toggle the same toggle flick switch into the middle positon, and set this to Angle.

Step 8: Calibrate the accelerometer under Setup, it is vital that the drone is placed on a flat surface for accurate calibration.

Step 9: Under Motors, select the DSHOT600 protocol, this is the protocol that our ESC uses. Try arming and testing the motors, ensuring that they spin in the same direction as the QUAD X motor configuration. If not (most likely), take note of which motors need to be reversed according to the QUAD X numbering convention and move onto Part 5: Motor Direction Configuration

Part 5: Motor Direction Configuration

I strongly recommend referencing this guide: https://oscarliang.com/change-motor-spin-direction-quadcopter/

What might happen is that the motors won't spin in the right direction as per the diagram in BetaFlight. All motors should be rotating inwards relative to the frame, so opposite motors should have the same spin direction.

Step 1: Being sure to exit Betaflight Configurator, open BLHeliSuite32.

Step 2: Reverse the motors according to what was observed from the Betaflight Configurator. Once done, press save and disconnect the drone.

Step 3: Veriy that the motors are spinning in the right direction by once again doing Part 4: Step 9. If this does not work, repeat Steps 1 & 2 again.

How to Fly

Just send it 🤙

With that being said, it is important to be gentle, especially as these are being flown in an indoors enviornment!

I recommend trying LiftOff, a drone simulator game. Also, Joshua Bardwell's learning how to fly playlist is very good.

Step 1: Securely attach the propellers.

Step 2: Ensure that the battery is still relatively charged, securely mount it and plug it into the drone.

Step 3: Power on the controller, and verify that the drone and it are communicating.

Step 4: Put the toggle switch into either the Horizon, Angle, or Acro (toggle the switch to the up position), depending on which flight mode you would like, as outlined below:

  • Acro: Absolute rate input, hardest to initially learn but most precise for serious piloting.
  • Horizon: Most forgiving as drone will not roll over as the horizon stays decently level. Letting go, or centering the sticks returns the drone to level.
  • Level: A bit more aggressive than Horizon.

Step 5: Press the Arm switch, which is the one on the top left of the controller and gently increase the throttle until the drone is in a hover, then try to move the other sticks to fly it, and then gnetly reduce the throttle and press the Arm switch once more to disarm the drone.

Step 6: After landing the drone, ensure that the battery is charged or discharged to an appropriate voltage using the Storage mode on the charger.

Further Reading & Resources