Phone Controlled Kite Line Parabear Dropper

by zwmm01 in Circuits > Microcontrollers

1323 Views, 3 Favorites, 0 Comments

Phone Controlled Kite Line Parabear Dropper

parabear success
Rotty the Raccoon goes skydiving

Introduction

This instructable describes how to build a device to drop up to three parabears from a kite line. The device acts as a wireless access point, delivering a web page to your phone or tablet. This allows you to control the parabear's drop. It also provides altitude and temperature at the drop height. Range should be 100 meters, the limits of 2.4GHz wi-fi, since the mechanism and the controller are guaranteed to be in clear air, line of sight from each other.

The Arduino sketch draws heavily on the excellent Beginner's Guide to the ESP8266 by Pieter P. Let him know you are using it.

Parts List and Equipment

20190501_200801.jpg

Parts list

I've linked to various suppliers.

  • ESP8266 based microcontroller Wemos mini D1
  • servo motor
  • 18650 battery, preferably rescued from the garbage (or similar li-ion)
  • BMP180 temperature/pressure sensor breakout This is generally considered obsolete, but is available cheaply and suits this device.
  • prototyping board, 30x40mm or larger
  • 0.1" header strip, female and male
  • JST PH series power connector and plug
  • hookup wire
  • 3d printed launch assembly
  • safety pin
  • polyester thread

In addition to the above parts, you will need

  • parachuting teddy bear, feline, canine or rodent
  • lifting kite. Mine is a Delta Coyne with about a 2m wing span
  • wi-fi capable device to control the bear dropper
  • battery charger, for example TP4056 (just search, there are numerous suppliers)

Equipment

  • soldering iron
  • 3D printer
  • epoxy glue
  • pop riveter

Connections on Prototyping Board

20190507_132945.jpg
20190507_132854.jpg
20190507_132842.jpg

Solder connectors on to the prototyping board as shown in the images above. Use the prototyping grid to align the components.

  • 6 pin female header for one side of Wemos D1 mini 5V, GND, D2 and D1 pins(column K)
  • 2 pin female header for the other side 3v3 and D8 pins(column A)
  • 4 pin female header for I2C bus of BMP180 (column M)
  • 3 pin male header for servo motor connector(column L)
  • 2 pin JST connector for battery (column N)

Using hookup wire, solder connections for

  • ground between negative of battery connector, GND of Wemos D1 mini, GND of I2C connector and ground of servo motor connector
  • 5 volt power between positive of battery connector, 5V of Wemos D1 mini and positive of servo motor connector (short wire in row 01, column K to N)
  • 3.3 volt power between Wemos D1 mini pin 3v3 and VCC of I2C connector (yellow wire)
  • serial clock between Wemos D1 mini pin D1 and SCL of I2C connector (row 6 column L to N)
  • serial data between Wemos D1 mini pin D2 and SDA of I2C connector (row 7 column L to N)
  • servo control between Wemos D1 mini pin D8 and control of servo motor (white wire)

Pin D4 would be nice for the motor control, but it has an LED on it. If we use it, you cannot upload to the Wemos D1 while it is connected.

Charge the Battery

20190502_101129.jpg

I use an old lithium-ion camera battery which was light weight, and powered the device for hours. I have also used heavier surplus 18650 battery rescued from a failed laptop battery pack for longer life.

Charging these batteries is another topic, but not difficult. I soldered a compatible JST jack onto a TP4056 charger, and plugged the other end into a USB power source.

I colour the sides of the JST connectors with red & black sharpie to indicate polarity.

Since you will be plugging and unplugging quite a bit, consider shaving a bit off the bumps on the plug that make a tight connection. It's easy to pull the wires out of the plug when it makes too tight a connection.

Load and Test the Software

Screenshot from 2019-05-07 14-01-23.png
  1. Navigate to https://github.com/morrowwm/kite_bear_dropper
  2. Get the KBD3.ino Arduino sketch
  3. Optionally, set your access point information on lines 19 & 20
  4. To test, comment out the #define on line 313. This will compile the code to use your local wireless network
  5. Set your network information on lines 332, 333 and 337
  6. Connect the Wemos D1 mini on its own. Not in the circuit yet.
  7. Compile and load the sketch
  8. From your phone, tablet, computer, browse to the static IP address you set on line 332
  9. You should get a display similar to the above screen capture
  10. Try turning the LED ON and OFF
  11. Disconnect the Wemos D1, insert it in to your prototype board (with nothing else) and reconnect it. Keep a finger on the components on the board. If something gets hot, remove power immediately, and check your wiring.
  12. If components stay cool, or only get warm, refresh your browser and try the light again.
  13. Disconnect again, insert the BMP180 module, and retest.
  14. The altimeter should now show a reasonable value. Try moving the device vertically, and watch the altitude change. Hold the part inside your hand, watch the temperature rise. Blow on the BMP180, watch the temperature drop.

Test Motor

Connect the servo motor to the three pin male header next to the 5V and GND pins.

Make sure the servo connection is correct. The 5volt wire is usually red, the ground is brown or black, and the control white or orange. I had to gently pry up the plastic tabs on the Dupont connector, and swap the positions of the 5V and ground connectors for one of my servos. Another servo motor's connector was wired OK.

Reconnect power, and test again. You will smell the servo dying if it is wired incorrectly. It may move when the sketch starts up.

Try moving the motor between the reload launcher, Drop 1, 2 and 3 positions by clicking on those buttons.

Print the Drop Mechanism

20190507_142206.jpg
20190507_142158.jpg

Download beardrop.stl from my github repository and print it, using your 3D printer. I designed the part using Freecad, and have included the Freecad source file, if you want to make changes.

using epoxy, glue the motor into position, noting the correct orientation.

Assemble Motor, Battery and Prototype Board

Slide the prototyping board into the printed part. Hold it in place with an elastic band.

Connect the motor.

Slide a battery under the elastic. Don't connect it yet.

Build and Attach Drop Arm

Form the drop arm arc out of safety pin or similar stiff, thin steel. Attach it to servo arm using thread and epoxy.

Adjust arm so it rotates through the drop mechanism, and has the right curvature. The radius should match that of the torus in the Freecad model, which is 13.5 mm. A paper template might help. This step is tedious.

Consider using a servo sweep sketch to aid in adjusting the arm.

Test the assembled device, sweeping through the four positions. You should be able to adjust by screwing the drop arm in at the right angle. You might need to adjust the settings in the Arduino sketch, at lines 130-133.

If you glued the motor in wrong, switch the order of the positions.

Test Independent Mode

20190507_144257.jpg

Recompile and load sketch in WAP mode. This will create a new wireless access point. remain powered from USB. No battery yet.

From smart phone, tablet, wireless capable laptop, connect to the "Aloft" access point using the password specified on line 321.

Navigate to 192.168.4.1 from your connected device, and retest the control web page.

Disconnect USB and plug in the battery. Reconnect to the "Aloft" network and test again.

Move the arm to Drop 3, and insert one or more static lines for your parachutists. I used a loop made from a paperclip.

Test the dropping action.

Fly

Add an arm to the printed device, or some method of attaching to your kite line.

Get the kite flying at a stable altitude, and attach the device with parabear in place. Let out more line to the desired altitude, and launch him!

Doing More

A line climber would be handy for repeated launches. Or a separate line on a pulley, so you can lower the device back to the ground, along the flying line.

Change the sketch to have a better default elevation for your location. Line 139.

Change the web page to your location name. Line 119.