Setting up Naze32 with GPS and OSD

I’m in the process of building a tricopter for long distance exploration and decided to go with the Naze32 flight controller paired with GPS and the RCTimer MAVLink OSD (which is just a hardware variant of minimOSD). I’ve got everything up and running now and it’s an awesome combo, but to do so I had to dig through a mountain of forum posts and videos to understand how to set everything up. I’m writing this post to compile some of my ah ha! moments to hopefully help you out with your setup!

Before I start, there are a couple of videos by Mochaboy RC that were incredibly useful in this process and they are How to setup a Naze32 Acro / Funfly Flight Controller and How to Setup KV OSD MinimOSD Naze32, without these I would not have been able to get anything working!

Continue reading

Tricopter Part I: Building a Basic Wooden Frame

Postal box tricopter

It was about a year and a half ago that I became interested in multirotor helicopters, around that time I set out to design and build my own basic tricopter. This series of posts will explore my journey of building, crashing, modifying, learning and iterating. The process has been exciting, I’ve learned a lot, and it’s become one of my longest running projects to date! Read on if you’re interested in multirotor, building things, or if you want to know what the heck the photo above is all about! Continue reading

Using OpenLRS with a Hitec Aurora 9

aurora tx module model

Recently I’ve become interested in the R/C FPV scene and all things multirotor. My ongoing project for the last few months has been a DIY tricopter multirotor that I fly FPV with. The tricopter I’ve built has been through more iterations than any other project I’ve done and has been great fun! I’m always trying to improve it’s flight characteristics and range and most recently that has meant swapping out my Hitec 2.4Ghz controls for a UHF Long Range System.

Before doing this my controls was the limiting factor on range, the 1000mW video link I use can go much further, so that started the hunt for a low cost UHF LRS I could use with my existing Hitec Aurora 9 transmitter. The lowest cost LRS I could find was the Orange RX OpenLRS combo that’s sold on For US$50 you can get a transmitter and receiver based on the OpenLRS hardware, but unfortunitly the transmitter module is not made for Hitec and is way too big to fit.

That’s where the AutoCAD model above, and a 3d printer comes in! I created a model of my existing 2.4Ghz transmitter module so that I could remotely connect it to the OrangeRX OpenLRS transmitter from HobbyKing. This new printed module snaps in to the back of the Aurora 9.

2013-04-12 19.55.20

Here’s the module with the lid Continue reading

Extend the length of PHP session time by using cookies

A look at sessions

Handling sessions in PHP can be a bit of a challenge. They like to just disappear at random, which makes it hard to set a specific time limit for user’s sessions to expire. The reason for this is that PHP stores each client session as a separate file and then occasionally picks through them and deletes the sessions that are expired. This is a common process in software called garbage collection. Every time a user starts a session on your site (basically every page request) there’s a chance that the garbage collection process with run. You can control how likely this is to happen by setting a couple of PHP options:

ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);

or you can set these in a php.ini file:

session.gc_probability = 1
session.gc_divisor = 100

This works by taking the gc_probability and dividing by the gc_divisor, so in this case 1/100 is 0.01 or 1.00% chance of running garbage collection.

The other important setting for handling user sessions is session.gc_maxlifetime. This is set to the amount of seconds a session must age before it is considered expired and therefor able to be garbage collected (deleted). So you may have something like this in your php.ini file:

session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 86400

Continue reading

Long range video surveillance robot

The title of this post isn’t entirely accurate. It’s more of a very strange remotely controlled vehicle, a kind of land drone. You’re probably wondering why it’s made out of a shipping box, well here’s what happened… I bought a 1000mw wireless video transmitter with the intention of learning about it and eventually putting it on an RC plane to fly around. It was shipped to me in that very USPS box pictured above. The first thing I wanted to do was power it up and see how long the range was, of course! So I taped all the components to the top of the box so they would stay together and handed it to +Steve Melton who then proceeded to run far away while I watched the video feed. The camera works great, it gives a good picture for quite a long distance (tested to 1900 feet on flat open ground) and is resistant to objects in the way like buildings and trees.

Continue reading for all the details and a video of it in action!
Continue reading

Ethernet controlled garage door

I just finished installing an electric opener on a big steel roll-up door so that we can park our car inside, away from the dirt and sun! But since it is an old industrial opener there was no way to open it remotely, like from inside the car. The photo above is my finished circuit board for controlling the door via ethernet.

It uses the MICROCHIP ENC28j60 Stand-alone Ethernet Controller. This project is an attempt to make a low-cost generic ethernet-attached relay box with a web interface. It will allow me to control physical devices from my iPhone or any internet connected device with a browser. It can control things like the garage door, air compressor, exhaust fans, or basically anything else that can be switched on and off.

Continue reading for all the details, photos, and a video of it in action!

Continue reading

Bomb Timer Movie Prop

A friend of mine was asked to make a prop that looked like a home made bomb for a movie that was being produced. I helped out by designing and building the countdown timer display circuit. As you can see it has a bit of a home made look to it, which is what the director was looking for to fit within the context of the story.

This project used parts I got from Digikey and Sparkfun. It’s built on two separate pieces of perfboard and uses only two ICs to operate the display, a LED Display Driver (MAX7219) and an Atmel ATTiny4313. Click continue reading for more photos, descriptions, and a video of the finished timer!
Continue reading

Jake and Ashley wedding video

(Watch in HD on!)

I recently got the chance to film a wedding for Mr. and Mrs. Wright, and it was a blast. I shot it handheld with the Canon 7d and primarily used the Sigma 18-200mm OS. The stabilization on this lens works surprisingly well for shooting handheld video even at longer focal lengths. Initially I was worried about the 12 minute time limit on the 7d, but in the end my clips averaged about only 30 seconds long so 12 minutes seemed like forever.

I put together a wedding day highlight video and embedded it above. Check it out and let me know what you think in the comments!

WordPress plugin: Completely Random Widget


During the process of (re)building this site in WordPress I was trying to come up with ideas for the sidebar. I used to have a widget that showed a random image from a folder, which was cool but a little limited. What if it could be expanded to pull an image from the entire internet? Introducing the Completely Random Widget. This is the first project I have submitted to the WordPress Plugin Directory. You can see it in action on the sidebar of this site. In essence it is a sidebar widget that uses Google images to find a totally random image from the web and display it on your site. You can check it out it’s page in the Plugin Directory, give it a try on your site! This site is running a custom version that archives each image that gets displayed, and I’ve set up a Random Image Archive Page so you can see every image that the widget has ever displayed on this site! Give this plugin a try and let me know what you think!