I haven't updated jekyll for a while, and I haven't posted since June.
I'm going to be speaking at Confoo in Vancouver next week. I have two talks, one of which is on WebVR and the other talk is about the PhoneGap IntelliJ/Android Studio plugin that my co-worker Anis Kadri worked on, and how to embed CordovaWebViews inside a native application. It's been a couple of years since my last talk at PhoneGap Day 2014 in San Francisco, and it's good to get back out and speaking
As for what happened over the last few months, here's what happened to me:
- Epic Camping Trip in Oregon
- Built two racing quadcopters
- Starting to do work with Unity and getting back into 3D Modelling
- Experimenting/Working with more GIS data
- Slowly getting back into the ATIP stuff
- Told the Committee on Public Safety and National Security about the Stingray device
The last one is tricky. I never was awesome at 3D modelling, but I did OK with 3D Studio Max. The problem is that all the good 3D modelling software that's easy to learn is expensive, and everything else is just kinda awful. I recently played around with taking CDEM data and turning it into something that I can render in Unity and in A-Frame, and that kinda worked, although texture mapping and mesh editing are desperately needed.
I don't know if I will change the blog, and how I'm going to migrate to a new version of jekyll. This template is woefully inadequate, and a lot of the old Wordpress posts are all mangled. That beign said, creating static sites is working pretty well as far as migrating across different hosts, and I don't have the time to maintain servers like I used to. I'm going to try and write more.
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.