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 HobbyKing.com. 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.
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:
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
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.
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!
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 →
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!
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!
[UPDATE: This seems to no longer work. On the up side, YouTube is doing automatic bandwidth detection so videos will often switch to HD automatically after a few seconds on a good connection]
Recently I was helping out with the Customer Dish learning center where we needed to embed some HD YouTube videos. We wanted to embed them as HD so the user did not have to hit play and then select the better quality. Turns out the hd=1 option does not work anymore, the new player automatically selects the ‘best’ resolution for the size of the embed, which is 480p or lower when your embed size is less than about 850px wide.
But there is good news! The old player is still avaliable and allows you to embed in HD regardless of size. The new player is version 3.0, you want 2.0. Here’s how to get it:
On your video hit Share to get to the embed code
Check Use Old Embed Code and Play in HD
Copy the code and put it on your site
Replace both instances of version=3 with fs=1 in the code
Now you should be good to go! Your videos will load in HD automatically and also have a full screen button. If you want to skip the work you can plug in the video ID in the box below and I’ll generate the code for you!
There you have it, YouTube videos embeded in HD regardless of the embedded size.
If this helped you out be sure to comment or like!
So I was curious about when the best time to post something to Facebook was. So I created a script that spoofs my browser information and logs into Facebook. Then it scrapes the number of friends I have online from the chat bar at the bottom of the screen. The script runs every 5 minutes, 24-hours a day, and stores the number of friends I have online in a database.
I used the first week of readings to create the graph above. I find it fascinating! Every day follows the same basic shape with Monday and Tuesday seeing by far the most activity. Then it steadily decreases until the least popular day, Saturday. I’m really interested to see what next week looks like, will it be similar? I have posted the page that shows the real-time data here, so check it out if you want to see more!