Skip to main content

All part list

Part preparationโ€‹

What you need:

  • Distribution board which might be only partially populated
  • Any missing parts from the distribution board, usually JST-GH connectors
  • 1x Stacking header for Raspberry Pi
  • 1x male header for Kakute H7 (2x9 pin)
  • 1x female header for Kakute H7 (2x9 pin)
  • Happymodel ELRS 2.4G
  • 4-pin JST-GH cable (from an old Pixhawk)

Distribution boardโ€‹

img

  1. Solder any missing parts to the distribution board, usually JST-GH

  2. The stacking header for Raspberry pi can come with several spacers. We need exactly one spacer to be installed: img

  3. Solder the stacking raspberry pi header to the board. Use 14 mm M2.5 standoffs to mount the Raspberry Pi to help with alignment. After soldering, clip off excess legs:

  4. Solder the Female header to Kakute H7 in this orientation: img

  5. Now we have to solder the male header to the distribution board. NOTE: the header is soldered in a very counter-intuitive way, so pay attention ๐Ÿ˜„ )

    • Insert the header in this orientation:

      img

    • Solder the pins from the top. You can solder the first row, then cut off the excess with cutter so that you can access the second row easier (the caps are in the way). Once soldered, cut off the excess pins

      img

    • Now the hard part, we have to remove the black plastic piece holding the pins together, without bending the pins or scratching the board.

      img

    • To do this, you will need special pair of cutters, some old PCBs and old pieces of SMD Stencils.

    • Put the stencils around the black plastic spacer, and gentely press with the cutters. This will lift the plastic up. Do not push too hard, or you will cut off the pins.

      img

      img

    • Once you run out of clearance, replace the stencil pieces with old PCBs (they are taller). Repeat the process. This should be enough to remove the plastic part.

      img

    • The pins should be straight. Make sure that they are all properly soldered in and not moving. If you need to resolder a pin, use the Kakute Female header for alignment.

      img

RCโ€‹

  1. Solder a 4-pin JST-GH cable to the RC like this:

    img

    img

3D printsโ€‹

Print the following items:

XT60_cover.stl - 1x (black PETG) - insert M3 threaded inserts, 2 pcs

Rpi_cover.stl - 1x (black PETG)

FortiLeg.stl - 4x (2x black PETG, 2x red PETG)

BatterySupport.stl - 2x (black PETG) - insert M3 threaded inserts, 2 pcs per support

ArducamBottomMount.stl

ArducamFrontMount.stl

Here is whole bundle for that:

robofly_all_parts.3mf

Kakute H7 SW setupโ€‹

You need to first setup the Kakute FCU with the PX4 firmware, as it comes with Betaflight from the manufacturer. Follow the guide here - https://mrs.fel.cvut.cz/wiki/articles/RoboFly/articles/RoboFly/Kakute-H7-SW-setup.md

Kakute H7 SD card configโ€‹

Use the config from mrs_uav_deployment: https://github.com/ctu-mrs/mrs_uav_deployment/tree/master/miscellaneous/pixhawk_sdcard_config/kakuteH7/etc

Frameโ€‹

The frame consists of two parts, the lower board with motor mounts is 4 mm thick, the upper board for electronics mounting is 2 mm thick. Pay attention to the orientation of the boards. The lower board is symmetric in mechanical terms, but the cut out logos are not, so make sure they are aligned as shown in the picture.

Motors and legsโ€‹

The motor cables are just long enough for our needs, so do not make them any shorter! The cables have to be sleeved with a braided sleeve, this is mostly for good looks, so pay attention to details. You will need black braided cable sleeve and some black heat shrink to secure it, these sizes work best:

  • remember you can always make the cables shorter!

  • Cut the braided sleeve 95-100mm long sleeve is too long, 90mm could work, type 6mm, 4 pieces

  • Cut the heatshrink 15-20 mm long heatshrinks are also quite long 10-12mm should work, type 12mm, 8 pieces

  • Slide the braid over the motor cables, make sure that the cables are straight and parallel inside the sleeve, we do not want twisted cables inside!

  • Apply a tiny bit of hot-glue to the ends of the braids, once heatshrink is put over the ends and heated up, it will help with adhesion and make the assembly more resilient:

    • Slide the heatshrinks over the ends of the braids and place them around 5mm in front of the motor, so theres some clearance for the motors to spin without hitting the sleeve.
    • Then use a heat gun to shrink them
    • Make sure to apply a bit more heat than usual, so that the hot glue melts and secures everything together.

    The end result should look like this:

    • Attach all 4 motors to the frame:
      • Two different bolt lengths are used here
        • 8x M3x8 (included) for attachment through the 3D printed legs
        • 8x M3x6 for direct attachment of the motor

    Attach like this and dont forget the thread locker

  • The red legs should be on the back of the drone and all the legs should be align with the drone as its shown in pictures below: img img

    • If you use the wrong bolt size, you can short out the motors!!!:

      • Secure the cables with zip-ties as shown:

      • The zip-tie was intended to go to the slot prepared for it, but this will make the cables too short to reach the ESC, so this is the solution for now. It will be fixed in next frame iteration (already fixed, use the milled slot for zip-ties)
      • The zip-tie end should be on the top, not from the bottom of the board (for cleaner look)
      • The zip-tie has to go over the braided sleeve with heatshrink, not just over the cables or braids! If the sleeve is too short or too long, you have to redo it:

Dampersโ€‹

  • Attach 6x rubber dampers with 6x M3x6 bolts to the main frame and secure them with thread locker:

    img

  • Note: due to the chaotic timeline of the making of this guide, some of the photos here will be out of order (like the photo above is missing its motors), or they will be of the older revisions. Please do not worry about this fact, just follow the guide :). Feel free to update the photos with better versions.

Center boardโ€‹

First of all, we need to solder a capacitor to the ESC and the header to the Flight controller

  • Solder the cap from the bottom side of the ESC and angle it a bit back, like this:

  • You should already have the FCU with the soldered header:image.png (wrong image?)
  • Mount the 3D printed Battery support under the ESC with 2(4)x M3x4 bolts. Mount both of them
  • Secure the Screw and Nut Connection with blue medium strength locktite
  • Befor attaching the ESC, insert a Velcro strap to both of them to hold the battery. It has to go under the ESC:

img

  • Mount the XT60 with M2.5 bolts. Secure the Screw and Nut Connection with blue medium strength locktite

  • Mount both the FCU and ESC on the M3x5 standoffs using M3x4 bolts (even though ESC has holes for M4s). Note the polarity of the XT60 and the orientation of the FCU.

    • The Fcu screw and nut conection should be Secured with blue medium strength locktite
    • The ESC can slide backwards and forwards, to compensate for motor cable length and different ESC types in the future. For the current setup, putting it all the way to the front works best. Do not tighten the ESC yet, you might need to adjust it.

  • Add 3 standoffs for the distribution board: 2x 15mm M3 M-F standoffs with 2x M3 locknuts 1x printed F-F standoff (you have to solder inserts) and add M3x? screw

    • Secure the Screw and Nut Connection with blue medium strength locktite

    img img

  • Assemble the electronics board and the board with motors. You might need to bend the capacitor a little or move the ESC back a bit to fit the board through. Pull the motor cables through the holes as shown in the image. Secure the board with 4x M3x4 in the front and middle and 2x 15 mm M3 M-F standoffs in the back. Secure all the threads with threadlocker:

    img

  • Solder the motor cables to the ESC. Move the ESC forward, so that there is roughly a 1mm gap between the ESC and the FCU. This should give you enough slack to solder the motor cables properly.

img

  • Solder wires from the XT60 to the ESC. Plug a male XT60 into the connector first, so that you do not move the contacts when heated up by the soldering. Use 10 or 12 AWG cables:

  • You should already have setup of the FCU ready.

  • Connect the cable from the ESC to the flight controller (not yet uder the FCU) and any 4S battery. Now you can try to spin the motors through QGroundControl. They will spin in the wrong order, which we will need to fix. This is the order in which the motor will spin before the fix:

  • If motor number or direction is wrong, we can fix it in SW (see chapter: Changing the number or direction of motors). https://wiki.fly4future.com/hardware/robofly/kakute

  • Test that the motors are now connected in the right order.

  • You need to make or borrow Dan Hertโ€™s ESC programmer (you can make it from the spare ESC cable):

  • Flash the ESCs to the newest firmware version, apply the Robofly config from mrs_uav_deployment, and set the correct motor direction.
  • Verify that the motors are now spinning in the right order and in the right direction.
  • Once they are route the cable Over (not below) the FCU.
  • Tighten up the screws in ESC Secure the Screw and Nut Connection with blue medium strength locktite
  • Cover the motor cable solder points, ESC cable connections and power connections with Black hot glue. Also secure the FCU signal cable to the FCU. Do not worry about the XT60, that will be covered by a 3D print:

img

  • Get the XT60 cover 3D print and the RC:

img

  • Insert 2x M3 threaded inserts into the print
  • Insert the RC into the 3D print, push it all the way back, with antenna facing downwards:

img

  • Secure the RX with some black hot glue, like this:

img

  • Attach the assembly to the frame (use thread locker) with 2xM3x4 bolts (Outdated picture, but you get the idea):
    • Secure the Screw and Nut Connection with blue medium strength locktite

img

  • Take the prepared distribution board, without the Raspberry Pi for now, and attach the GPS to it with 4xM3x8 (leftover from motors) and 4xM3 locknuts. Keep the nuts on the top, bolts from the bottom, to prevent shorts with the ESC.ย 

  • Secure the Screw and Nut Connection with blue medium strength locktite

  • Attach 3x M2.5 14 mm standoffs for the Raspberry Pi. Secure them from the bottom with 3x M2.5 locknuts:

    • Secure the Screw and Nut Connection with blue medium strength locktite

    img

  • Attach the distribution board to the drone. Make sure to line up the Kakute header properly, so that you do not bend any pins. You can Make sure that the header is connected by all pins and that it is not offset. Connect the RC and GPS connectors. Secure the board with 4x M3x4 bolts:

  • Secure the Screw and Nut Connection with blue medium strength locktite

    img

RTC battery installโ€‹

The RTC battery is needed for the Rpi to keep time. The battery is rechargable, and needs to be a special chemistry ( ML-2020 Lithium Manganese Dioxide).

  • To raspberry pi attach heatsink and fan.

  • Connect 2 150 mm ribbon cables for cameras (just cables without the camera)

  • Connect the battery to the RTC port, lead the cables under the fan cable, so that it does not flop about.

  • Use the supplied adhesive pad to glue the battery to the ethernet connector, like this:

    image img

  • Also dont forget to insert the SD kard:

    img

Tuning final detailsโ€‹

  • When everything above is done, to finish the assembly part, connect the Raspberry Pi to drone build with 4x M? x ??mm
    • Version A: If wanted, attach the UVLOC 3D print and mount UVLOC PCB with antena on the top with 4x M? x ??mm
    • Version B: If you dont want UVLOC just screw classic 3D print on the top
    • For both versions secure the Screw and Nut Connection with blue medium strength locktite

img

Camera mounting guideโ€‹

RC setup and pairingโ€‹

This setup is valid for this RX/TX combo:

First, install ExpressLRS configurator on your computer. Both the TX and RX have to be updated to the same version of ELRS.

TX configโ€‹

Turn on the RC, long-press the SYS button, select ExpressLRS, next scroll and select WiFi-Connectivity and click on Enable WiFi. On your computer, connect to the TX WiFi (SSID: ExpressLRS TX, password: expresslrs). In ExpressLRS Configurator, select the newest release (3.4.3 as of the time of writing this readme), and these parameters:

  • Device category: Jumper 2.4 GHz
  • Device: Jumper AION T-Lite 2.4GHz TX
  • Flashing Method: WIFI
  • Deselect the AUTO_WIFI_ON_INTERVAL

img

Now click on FLASH and wait until you see the Success! message:

img

Reboot the TX.

RX configโ€‹

By default, the RX should start its own WiFi immediately, when it is powered on and it is not yet configured. If it was already used, it will turn the WiFi on after 60s, if it does not connect to its TX. Connect to the RX WiFi (SSID: ExpressLRS RX, password: expresslrs) and run ExpressLRS Configurator. Select the release number which matches the one you used on the TX (3.4.3 in our case) and these parameters:

  • Device category: Happymodel 2.4 GHz
  • Device: HappyModel EP1/EP2 2.4GHz RX
  • Flashing Method: WIFI
  • Keep the AUTO_WIFI_ON_INTERVAL at 60

img

Now click on FLASH and wait until you see the Success! message:

img

Reboot the RX.

Bindingโ€‹

We have to put the RX into binding mode (indicated by 2 blinks which repeat). To do so, we have to power-cycle the RX 3 times in a row:

  • Supply power to the receiver.
  • The receiver LED lights up.
  • Turn it Off.
  • Repeat 2 more times.

The RX should now blink like this:

img

Which means it is in binding mode.

On the TX, long-press the SYS button, select ExpressLRS, and select Bind. The LED on the RX should turn to solid light, which means that binding was successful. Power cycle the RX, and it should connect to the TX normally (Telemetry recovered!).

When the RX and TX are connected, we need to set the RX to output SBUS to the FCU (default is CRSF). On the TX, long-press the SYS button, select ExpressLRS, scroll all the way down to Other Devices, select it and then select the RX (usually HM EP 2400) and set the Protocol to SBUS