I would like to study the effects of the condo construction expansion and it's affects on the wildlife population and Plants within a conservation easement. My home is in a condo complex here in the Northeast part of the USA. for those who are unfamiliar with the term, a condominium, often shortened to simply “condo, ” is a privately owned individual unit within a community of other units.
My condo, is located next to conservation easement. For those who are unfamiliar with the term, a conservation easement is "a voluntary agreement with a nonprofit land trust or government agency that allows a landowner to limit the type or amount of development on their property while retaining private ownership of the land.".
I would like to gather data on the Flora and Fauna existence and population located on the conservation land during the 4 seasons. For those unfamiliar with the term, "Flora and fauna refer to the plants and animals of an environment. To remember them, fauna sounds similar to fawn, indicating it refers to animals, whereas flora sounds like flowers, indicating it refers to plants."
I'm planning on building a surveillance system using the Drone bundle offered for this challenge. I'm sure there are similar surveillance projects using the free kits offered in the Challenge. I, believe it is different in the way that I envision using the surveillance Data. It will useful to me in monitoring the Construction and Wildlife activity next to my Home.
The Hover Games Drone kit that I get will be used to Hover the area around my Home. The main feature will be to gaiter images of construction and wildlife activity. This data can be used to make assessments using image recognition.
I ordered my kit late in the challenge, The main reason for my delay in ordering, is primarily due to financial hardship, due to the out of pocket funds required to purchase the kit for this event and the timing of the availability of the discounted kit. I could not justify charging $300 USD to my credit card on a DIY kit during the Christmas Holiday season.
I ordered and received the kit via FedEx on January 19, 2023. I am a newbie to drone tech. There will be an extreme learning curve, so I thought to start out small, by studying on the squirrel population around my bird feeders. I could also play the sound of a hawk to scare them away after seeing them on the feeder. I can record the time and weather information at the time of detection.
Now that I have all the Hardware components for the Hovergames, I needed to start getting down to business and start putting all the parts together. I had been reading the Hovergames gitbook at https://nxp.gitbook.io/hovergames/ in anticipation of getting the kit.
When I received the kit I knew exactly where to go. I went to the "Drone Kit Contents" page and took an inventory of the entire kit. Using the picture of all the conents on the gitbook and the packing list I was able to account for all the parts.
Now it's time to assemble the kit. And once again I go to the next tab down on the gitbook to "Assembly". I have to say that these pages and the Discord Hackster Hovergames contest Server really made a difference in the assembly of the kit. The videos and the quick responses on Discord really made this a memorable experience. I would say if anyone reading this, is wondering if putting out the money to construct a drone is worth it, I would have to say to them, a big YES.
I followed the next 7 steps over the last few weeks of January and into the first few weeks of February.
Here are a few photos of my progress after the 5th step of assembly. Things are starting to take shape and I'm almost there. I have to say that the 1st step was the hardest and after that it was smooth sailing.
Steps 6 and 7 took another day. I was able to Mount the top plate and mount the arms and connected the FMU wires. And here is a pic of the completed Kit
At this point I have completed the assembly of the drone! I need to NOTE a few things before going onto the next section in the gitbook.
- I need to verify whether all motors are rotating in the right direction, and change the cables if necessary. This will be accomplished with a software test to be done later This is IMPORTANT for operation of the drone.
- The gitbook mentions the following diagram and text.
I think there will be a calibration test in the section "PX4 configuration using QGroundControl" we shall see.
- Determine How to install the Propellers correctly. There was no indication how to do it in this section? I have taken the propellers OFF for now
Make sure to properly configure your radio controller. The controller configuration should be changed to make it more reliable and safe.
- I followed all the steps in the Gitbook section and they are outlined below.
- Turning on the transmitter, press and hold the two power buttons on the front of the device until the screen lights up.
- The home screen has three different views. You can switch views by swiping left and right
- Configuration is done by pressing the icon with the wrench and screwdriver on the center home screen. This is assessable by pressing and holding the LOCK ICON then pressing the wrench and screwdriver ICON.
- The next screen has two different views: the functionview and the systemview.
The function
view provides options that c
hange how the different sticks, buttons and dials on the transmitter are transformed to channel values.
The system view provides setting for setting up the transmitter itself.Firmware update
My transmitter about screen display this version:
2.00 4-apr-2020 Hardware V_3.0
Do I need to update the Firmware? Apparently not, because the instructions I followed in this section resulted in this screen when I ran the firmware updater
But now the Transmitter is stuck in the update mode and the only way to clear it is to take out the batteries and reinsert them. Then the system is restored and can be accessed.
Is this normal operating procedure? if an update is denied?
Connecting and binding the RC receiverThe RC receiver module has already been installed on the drone. Please verify that it is correctly connected on both the receiver side and on the FMU side.
ON the FMU side, make sure the connection is made from the receiver to the FMU. as specified by the highlighted "RC IN" connector on the FMU shown below.
On the receiver side, the wire should be connected to the RC receiver.
The RX battery bar on my transmitter shows a question mark. The gitbook states that "the receiver pairing was most likely not done successfully." It goes on to say "If the transmitter and receiver are not bound, you can do it yourself"
Make sure the FMU is not powered by the battery or USB cable.
Insert the jumper cable in the rightmost vertical slot (labeled B/VCC) on the receiver module
The cable that goes to the FMU should remain as shown.
This was difficult to do, because the receiver is already attached and zip tied to the bottom of the drone. and, the battery plate has been attached to the Drone over the Receiver. It had to be pulled off to get to the Receiver underneath. and I need to pull out the receiver from the zip tie to attach the jumper cable.
Follow these steps to bind the receiver:
- Turn on the RC transmitter and go to the system view in the settings menu.
- Select RX bind. It will wait for the receiver to be turned on in bind mode as well.
- You should now power the FMU, which will also power the RC receiver module. The easiest way is to power the FMU with a micro-USB cable. The connector is located on the side of the FMU. I used the battery to provide power, and it seemed to work.
- When power is provided, the receiver module will go into bind mode because of the jumper wire. The binding procedure should be finished automatically (you might not even notice).
The home screen on the transmitter should have the RX battery should have the question mark and look like this photo
You should now pull out the binding jumper from the receiver module.
Reattach the Receiver and attach the Battery plate
Continue on by completing the task in the next _ sections
Setting the output modeI needed to unplug the battery for this step, The transmitter was stating to unplug the RC? I was was then able to go to this mode and set the parameters?
This will set PPM and S.BUS as the output communication protocols, which will be available on separate pins.
Setting up channels on the RC transmitterThe receiver module supports up to 10 Channels when using the S.BUS protocol. The First 4 channels are used to have basic control with the joysticks.
Leaving 6 FREE channels which can be mapped to auxiliary control switches. We will use these channels for changing flight modes.
Assigning switches, dials and buttons on the transmitter to channels can be done using the aux. channels option under the function tab in the settings menu.
Usage of this mentioned in the gitbook and section 6.7 of the manual.
The FlySky FS-i6S has:
- 4 switches on the front,
- 2 dials on the top
- and 2 buttons on the back.
For the HoverGames drone, we provide a default channel setup which allows for maximum utility of the available channels, which can be found below. In future references, we will always use the channel setup as provided here.
You could use channel 9 and 10 for the buttons on the back but the Hovergames gitbook does not use these.
And finally, I tested the channel setup by swiping right on the home screen, and seeing whether the channel output changes when you move the inputs. Every channel checks out.
Setting up connections loss failsafeREAD THIS SECTION CAREFULLY
When the signal is lost the receiver will continue sending the latest known stick positions. These failsafe setting are sent to the FMU if ever the signal from the transmitter is lost!
While the FMU should be able to detect signal loss and does have options to react in such a situation, they also recommend a good failsafe setup on the RC transmitter.
It is recommended to set the failsafe options as follows in tems of stick and switch positions. This will cause the drone to shut down it's motors when the FMU does not detect a signal loss.
It is recommended to set this transmitter Failsafe to:
- Left stick to the bottom and horizontally centered
- Right stick both horizontally and vertically centered.
- Switches SwA, SwB and SwC in upward position, SwD in downward position.
This will set the throttle to zero and reset the yaw, roll and pitch to neutral angles
to set up the failsafe, go to the failsafe screen from the function screen in the settings menu. Follow the instuction in the gitbook section to set up a fail-safe.
these defaults will cause the drone to switch to manual mode with the throttle all the way down and the kill switch enabled. This unfortunately will cause the drone to CRASH-LAND. Though it is not nice for the drone (it will crash, possibly causing damage to itself), we recommend this behavior as it prevents scenarios where the drone flies away without you being able to control it (fly-away).
The fail-safe settings were programmed into the transmitter, ending this section.
The RDDRONE-FMUK66 board will not have any software loaded when turned on for the first time. This page explains how to load precompiled code for the PX4 bootloader and the NuttX/PX4 application.
First - Software & Debugger Adapter boardYou need to use the J-Link Debugger and the NXP Adapter board to connect from the PC and the FMU to place firmware on the FMU.
- Assemble the Debugging system as described in the gitbook.
The case that is included in the kit, to house the NXP adapter board was not manufactured correctly. The bottom part was a little too small to house the board.
This is very likely a 3d printing error from the supplier. If you happen to have access to a 3d printer, the source files are on thingiverse.com under search for NXPHoverGames
A Friend has a 3d printer so I took over the file and printed out the bottom of the case and the board fit like a glove.
- Download the J-link software (at the time the file is JLINK_windows_V7 and installed it. I installed it on windows by clicking in the.EXE file.
- Now get the precompiled binary of the bootloader from the download page in the gitbook. I downloaded the Rev.E version. Copy the file to the desktop for later.
- I Connected the debugger to the FMU using the 7-pin JST-GH connector from the debug adapter board and plugged the USB coming from the debugger into my PC.
- I provided power to the FMU using a USB cable. I did not notice a "yellow/orange LED blinking" as indicated in the gitbook, so I assumed that the bootloader was not already programmed on the FMU. There is a blue pules LED, A red solid LED, a green flashing LED, and a solid yellow LED when I power on the FMU.
- Then I started the J-Link Commander program, and followed the following steps:
- Enter the
connect
command. - Enter
?
to bring up a window in which you can select the target device. - In the
Device
field, enterS
, selectMK66FN2M0xxx18
and pressOK
. - Type
s
to select SWD as the target interfac - Press
enter
to select the default interface speed (4000 kHz). - Enter loadbin <fullpath to nxp_fmuk66-e_bootloader.bin> 0x0 command to write the bootloader to the board at memory address 0x0. Change the path to the location of the bootloader binary file. I dragged&dropped a copy of the file from the desktop as indicated in the video from the gitbook.
I followed the instruction in the gitbook to get the firmware on the FMU using the debugger.
- I downloaded the.BIN file from the gitbook download page. I copied it to the Desktop for later. The file I downloaded was the stable build for Rev. E, use with J-link, from the many selections on the page
- I still had J-Link Commander open from loading the bootloader so all I needed to do was to write the firmware to the board using the loadbin <desktop/filename.bin> 0x6000. the command writes the firmware to the board at memory address
0x6000
, which is the address at which the bootloader will look to start a program. Here is the output of the load
This completes this section on the Programming FMUK66 for first use
This section will explain how to configure the PX4 software running on the RDDRONE-FMUK66.
QGroundControl overviewGround control software is used for configuration and monitoring of your drone.
- QGroundControl to configure the PX4 flight stack
- With QGroundControl you can configure the
- propeller configuration, radio controller, sensor calibration and much more.
- It also provides different ways of controlling the drone, such as an autonomous mission planner.
First Download and install QGroundControl from the download page on the gitbook.
I downloaded the windows installer and followed the instruction on https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html
I chose windows for my surface so I can use it when I using the Drone.
I connected the the FMU to the computer with the USB cable. I attached all the FMU connected Power, GPS, Telem, the 4 motors connectors. I'm not sure if I should have TELEM plugged in because I'd like to use USB because it's faster. So keep an eye out for whether I need to disconnect it. I do not have the telemetry transmitter set up yet.
NOTE: to use the telemetry transmitter with QGround Just plug it into your PC and QGround control will connect to it. You'll need to attach the battery and disconnect the USB
I read through the Firmware section. Even though I had already loaded it with the debugger, I thought to try it out. I was able to upgrade the Firmware even though it was the same version. But it's go to know how to do this. I might need to update the PX4 firmware someday. Also outhe3r firmware can be updated to the FMU as well.
I then read through the Airframe section and made notes. This section sets up the airframe configuration. I followed the instructions on this section to select s500 Generic.
I then read thru the Sensor section and followed the instructions on https://docs.qgroundcontrol.com/master/en/SetupView/sensors_px4.html to calibrate the sensors on the FMU. I found that running the Compass and other sensor calibrations work better if the FMU is detach during calibration. I am using a USB connection and when I had the FMU mounted on the drone, I found it very hard to orientate the drone for the calibration, because of the USB cable. It kept on tangling and loosing the connection and I was unable to complete the Compass calibration. I hope this is OK and that the sensors on the FMU are celebrated properly?
I performed the following sensor calibrations:
I get the green light on the summary screen Sensor status window as shown below.
I read the section, Radio and flight modes. this section illiterates, how to set p the connection with your RC transmitter and configure different flight modes.
I needed attach the FMU to the drone and reconnect all the wires back on. I connect the USB cable to the FMU and started QGroundContol.
For the Radio Setup, I performed the Calibration as specified in the Gitbook and the Radio · QGroundControl User Guide I used the Radio Tab as instructed and turned on the RC transmitter. then I moved the sticks, dials and switches as instructed then pressed NEXT to Save
For the Flight Mode Setup, I read through the gitbook section and followed the instructions on the Flight Modes - QGroundControl User Guide.
On the tab, setup the channels as specified below
After setup plug in the RC IN connector to the FMU. Test that the modes are mapped to the right transmitter switches:
- Check the Channel Monitor to confirm that each switch moves the expected channel.
- Select each mode switch on your transmitter in turn, and check that the desired flight mode is activated (the text turns yellow on QGroundControl for the active mode).
This default mapping is recommended to align with the channel mapping used when the channel assignments were made when we set up the Transmitter earlier. With this mapping:
- switch A will put the drone in "hold mode". (Manual, Altitude, and Position)
- Switch B can be used to change between different flight modes.
- Switch C either remains unused, or is used to toggle offboard mode or another mode that you assigned to it.
- Switch D is the kill switch.
There are other Flight Modes available in the QGroundControl documentation at PX4 Flight Modes.
The POWER section, contains options for battery management, voltage, and current measurements. I read through it and the Power - QGroundControl User Guide page. Two concepts are discussed here:
- Battery Percentage -- Displays the percentage of the Battery
- ESC Calibration -- Used to ensure that all motors correctly respond to commands coming from the FMU.
To perform an ESC Calibration first, unplug the battery, and on the POWER tab click the "Calibrate" button. you will get the following dialog.
When the calibration is complete the following prompt appears
the last section, Safety, describes important safety and failsafe options. There is no configuration done to the FMU at this point, but again the importance of a Fail-Safe switch is emphasized.
There are 3 more sections in the QGroundControl Guide that are not mentioned in this gitbook section? That being, Motors Tuning, Camera, Joystick, Parameters.
The Motors section describes How to test individual motors/servos (for example, to verify that motors spin in the correct direction). I never determined if the rotation of the motors were rotating in the right direction in the Assembly of the Motors according to the Rotation Diagram below.
To test the motors:
- Remove all propellers.
- (PX4-only) Enable safety switch ..by pressing and holding the safety switch on the GPS module, until it starts blinking faster.
- Slide the switch to enable motor sliders (labeled: Propellers are removed - Enable motor sliders).
- Adjust the individual sliders to spin the motors and confirm they spin in the correct direction.
The motors only spin after you release the slider and will automatically stop spinning after 3 seconds.
My Results:
- Unfortunately the Motors did not spin at all the first time I tried this. I found out that you need to have the battery connected and the Enable safety switch needs to be set ..by pressing and holding the safety switch on the GPS module. I also ran this using the Telemetry connection and not the USB connection.
- Once I did this. the Motors started spinning, all but Motor #1?
This concludes the 6 sections on PX4 configuration using QGroundControl.
FlyingRead through this section
In the gitbook in the Flying section I checked everything then I went to step 4 Arm the drone, I followed the 2 steps to arm the drone with success
1. Arm on the drone-side by pressing and holding the safety switch on the GPS module, until it starts blinking faster.
2. Arm on the RC transmitter-side by holding the left stick to the bottom right, until the safety switch and RGB LED on the FMU glow solid. At this point the drone is armed!
When the drone is armed, its motors will start rotating immediately! When you test this for the first time, do this without propellers!
I ran into a problem with one of the motors! Motor#1 was not spinning. Motors # 2, 3, 4, were spinning but all in a clockwise rotation? #2 is suppose to be running in a counter clockwise direction?
I had to take the top plate off, to work on the ESC rotation and diagnose why Motor #1 is not spinning.
I determined that Motor #1 does have a problem. The ESC that it was connected to was OK. I determined this by connecting one of the working Motor mounts to the ESC and tested it. The motor worked fine. So now I know its the motor not the ESC it was connected to. I need to get a new motor. where can I get one?
I tested it using QGroundControl Motors Setup
I made this video, to demonstrate how I was able to determine the Connection of the Motor wires to the ESC included in the kit. I was able to come up with a wiring scheme to allow the motors to spin in either a Clockwise or Counterclockwise motion.
Next, now that the top plate is removed, I could get to the other ESC's and was able to get the other ESC to rotate in the proper direction by placing the color coded black-red-yellow bullet jacks in to the following C-B-A order on the ESC bullet connectors. What I found, was that if the black wire was always inserted into the C bullet connector and I alternated just the Red and Yellow connectors in the ESC B or A connectors as instructed by the hover games community on Discord. I can assure that the motors will rotate in the proper direction.
The connections are for:
- Clockwise --> Black to C, Red to B, Yellow to A
- Counterclockwise --> Black to C, Yellow to B, Red to A
Hopefully I can figure out my motor problem so I can Fly this thing. I will be able to get another motor since the kit is on warranty. When I get the new motor I'll reassemble the drone and continue with the project.
I received a new motor on March 2 2023. I need to reassemble the drone and then try an fly this thing. There is snow still on the ground, here in the Northeast of the USA, so I will have to wait to fly.
I started reassembling the drone by following these steps:
- reassemble the new motor to the mount and tubbing, connect the bullet ends to the proper ESC connectors for a Counterclockwise rotation as described above.
- make all connections to the FMU, without attaching the plate yet. We will test all the connections.
- With the 4 motors still hanging, run the test as described above, to assure that motor #1 is working. and that all motors are operating in the proper rotation as described above.
- Power on the Drone, then plag the TELEM radio into the PC and run QGroundcontrol. Go to the motors screen as described above and test all the motors.
- All the motors checked out ok, and motor#1 was working Great!
- Reattach the plate and attach the 4 motor mount bars to the plate.
- Now run the test again
Now for some strange reason, the new motor is Not operating well as descried in this video!!!
I received a third motor on Thursday March16 and decided to get to the bottom of this motor problem. I took off the plate again so I could access the ESC connections easily.
I kept the connections to the FMU and ran the motor test on the three motors, this time swapping the motor on ESC 4 to ESC 1. This was the ESC that the bad motors were plugged into. This motor worked here too? SO it's not the ESC. NXP sent me anther ESC along with the 3rd motor and I set it aide as a backup.
Now I took the second motor that was not working on ESC 1 and plugged into ESC 4, and it WORKED? Then I plugged it into ESC 1 , Where it was not working and it WORKED. Must have been a bad connection? I marked it as good and set it aside
Next... I took the 3rd motor and tried the same thing and it WORKED both ESC4 and ESC 1. I will use this one for now
Finally... I did the same exercise with the original motor and it DID NOT WORK I marked it as BAD and set it aside. I was finally able to get 4 motors to operate. I have the 3rd motor running on ESC 4
When I'm connected to QGC I keep getting the same waning's when ARMING. what does this mean?
During Motor testing I kept coming up with this?
Other then these 2 problems, I'm spinning the motors in the right direction using manual arming as describe by the 2 steps:
1. Arm on the drone-side by pressing and holding the safety switch on the GPS module, until it starts blinking faster.
2. Arm on the RC transmitter-side by holding the left stick to the bottom right, until the safety switch and RGB LED on the FMU glow solid. At this point the drone is armed!
I'm almost ready to FLYNext is the proper installation of the Propellers. I did not see any instuctons in the Git book for doing this. I've written about detrmining the propeler to use for either Clockwise or CounterClockwise. But I'm not quit sure how to mount them.
What i the round piece for?
Do I tighten down the prop nut, using the tool to run in the Hole on the prop nut to tighten it down? or is it just finger tightened?
I was able to assemble the drone with some motor problems as describe above. I was able to ARM the drone, I was able to configure and connect to the Drone with QGroundControl.
I'm going continue on with this project well after hovergames 3 is over. I'm not expecting to win anything, but it's been a great adventure assembling the Drone. I'm excited to fly it, But I don't think I will have time to before the end of the challenge, now 2 weeks away. I have to say that the gitbooks and the Discord community were tremendously helpful for me. It took a lot of parts to assemble this kit and I have reached that point Thank you NXP.
NEXT..
Once I get this flying manually , I'm anxious to get it to fly autonomously with qGroundControl running on my PC. Then, once that is completed I will get into using the NAVQ+ and the Gas Sensor.
Submission March 31,2023
Ok, the deadline has arrived to submit my final version of my project. I did not get to implement my idea stated at the beginning of this project. But, I did get the drone assembled and have been monitoring the Discord community. I received some great advise and learned a lot about what I need to do to get the drone off the ground.
I also plan to get the NavQ+ and the BME688 gas sensor, up and running, and excited to get to experiment with it. Again the Discord community and the results of the projects summited will aid in the development.
Thanks to NXP, Hackster and all the participants for a really fun paced challenge. Like we say in American Football, "There's always Next season"
Cheers
Steve K
Comments