After a few months of working on various things, I find myself going back and working on dontflyhere.ca, especially after the Industry Canada announcement of the NoDroneZone campaign. There is the fact that there's very few actual laws and regulations that govern drones, and that there is actually no such thing as a NoDroneZone according to David T.S. Fraser, who is a Privacy Lawyer and UAV enthusiast. However, since I fly a lot for work, I would really like not dying because someone was an asshole with their Phantom, and I really would like it clear that not knowing is not a valid excuse.
So, I added the following features:
- NAV Canada Airspace Data based on Peter Spear's Soaring data
- BC Wildfire data
I would love to add other provinces wildfire data, but so far no other province provides data that's worth adding, nor do they add it on a daily basis like BC does as far as I know, even though I only checked Alberta and Saskatchewan so far. The open data thing is basically what dontflyhere.ca is built on.
As for this blog, it seems that jekyll has a sort of a halflife, so I will be looking at replacing it, and adding a blog to dontflyhere.ca soon which will cover drone regulations, flying and other things that are happening with flying in the backcountry. There may be an emphasis on DIY drones and racing drones because DJI and 3DR don't seem to have cases where you can put a goddamn water bladder into. I don't think there's many people hiking on trails yet with these things.
Once again, I found myself not going to Google IO, having lost my Ion status years ago. However, Google announced the Android Experiments contest, which got work to let me work on a cool Android hack so that I could try and get into Google IO. Unfortunately, since it's work, that means I have a time budget, so I decided to work on this thing with the following caveats:
- Parts must be readily available! (Sorry Google IO Limited Edition Arduino Board)
- Application must be using Vanilla Android and the Compatibility Library
- Application most only be possible using Android (Sorry Bluetooth)
- Total development time must be only 8 hours
- Must be well documented
With that in mind, I started working on the EL Control. I've been working with EL Wire for years. I built an EL Wire Hoodie to wear when I decided to go to Burning Man the first time. Needless to say, the playa wasn't very kind to it, but it bothered me that there was no way that I could change the pattern, so I've been working on using Arduino-based sequencers for a while and had one inside a backpack that I was going to wire up for another trip to various parties.
For this build, I am using the following parts:
- Arduino Uno - Available practically everywhere now!
- SeeedStudio EL Shield
- SparkFun Square EL Panels
- SparkFun Jumper Wire with JST
- IOIO-OTG Board
- SeeedStudio USB ELWire Inverter
- Jumper Cables
- A LARGE breadboard (recommended)
The reason I decided to use the SeeedStudio EL shield instead of the SparkFun EL Escudo Dos is because I wanted to have some digital IO pins left over to do Software Serial to the IOIO Board. The reason that we're using SoftwareSerial instead of Hardware Serial is because Hardware Serial is nearly impossible to debug. The cool thing about EL is that there's EL Tape, EL Wire and EL Panels that allow you to do a lot more quickly than with LEDs. For time, I recommend using the panels because they already have their JST connectors attached and plug into the board easily, and won't coil up and clutter your desk or workspace when you're working on them
The important thing to note is how to connect the IOIO to the Arduino. The IOIO only has certain pins that are able to be used as Serial UARTs, which is how we're connecting to the Arduino, for simplicty, I hooked up my Green Cable from pin 10 on the Arduino (RX) to pin 45 of the IOIO(TX) and Blue cable from pin 11(TX) to pin 46 of the IOIO(RX). The Ground and Vin pins are connected to Ground and 5V on the Arduino, since we need to be powered by the same power source as the Arduino to communicate with it. This is difficult to do with the ELWire Shield's Acrylic panel, since it blocks the numbers on the board.
Once this is all hooked up, load the sketch that is found at https://github.com/infil00p/ELControl/tree/master/arduino/ELShield and load it on the Arduino. Once this is done, you can hook up the EL Wire and the EL Panels to the shield. Once this is done, and you install this app here, you should be able to get this working.
This method can be applied to any Arduino project that has two pins available for SoftwareSerial. It may seem strange to turn a robust board like an IOIO into a Serial Port for Arduino, but it is probably the fastest method to get a hardware hobby project complete. While it's possible to connect various boards to the IOIO directly, this could actually add complexity to the code and it's easy to reuse existing Arudino sketches instead of trying to implement things like PWM.
Another thing that can be done is adding Bluetooth to this project using a similar method as the above, however it is more complex, and part of the goals of this project was to allow people to be able to re-create this project and implement it as quickly as possible. If I do manage to win the contest, and I do end up going to Google IO, I will be definitely be adding more features to this demo, but this is just a first proof-of-concept.
I've been somewhat busy the last three months. I decided that I wanted to get a drone before the regulation got insane, so I bought a DJI Phantom 3 Standard, and after three months of flying it, I crashed it into a tree and bent the gimbal. After talking to the repair guy, who gave me a rough estimate of the repair, I'm going to consider the first experiment into drones a failure, and get a new drone. I am not confident in my flying ability to build my own drone and fly it yet (I like AirBrakes), and after trying out the 3DR Solo Simulator, I decided to stick with DJI despite the bugginess. I will probably build a drone as well as buy one, but that will be later this year.
Now, what I DID make is dontflyhere.ca, which is a rough guide to where you can't fly your drone. This takes the data from OurAirports.com and the GoC Geogratis map for the National Parks of Canada and highlights them red so that you know not to fly there. I'm going to add more features to this, since I'm using this site and application to figure out where I can and can't fly.
Hopefully, I'm back up in the air soon, but here's a couple videos of me flying.