Hands-On: Flying Drones With Scratch

I’ll admit it. I have a lot of drones. Sitting at my desk I can count no fewer than ten in various states of flight readiness. There are probably another half dozen in the garage. Some of them cost almost nothing. Some cost the better part of a thousand bucks. But I recently bought a drone for $100 that is both technically interesting and has great potential for motivating kids to learn about programming. The Tello is a small drone from a company you’ve never heard of (Ryze Tech), but it has DJI flight technology onboard and you can program it via an API. What’s more exciting for someone learning to program than using it to fly a quadcopter?

For $100, the Tello drone is a great little flyer. I’d go as far as saying it is the best $100 drone I’ve ever seen. Normally I don’t suggest getting a drone with no GPS since the price on those has come down. But the Tello optical sensor does a great job of keeping the craft stable as long as there is enough light for it to see. In addition, the optical sensor works indoors unlike GPS.

But if that was all there was to it, it probably wouldn’t warrant a Hackaday post. What piqued my interest was that you can program the thing using a PC. In particular, they use Scratch — the language built at MIT for young students. However, the API is usable from other languages with some work.

Information about the programming environment is rather sparse, so I dug in to find out how it all worked.

Continue reading “Hands-On: Flying Drones With Scratch”

RC Paper Airplane From Guts Of Quadcopter

Mini indoor drones have become an incredibly popular gift in the last few years since they’re both cool and inexpensive. For a while they’re great fun to fly around, until the inevitable collision with a wall, piece of furniture, or family member. Often not the most structurally sound of products, a slightly damaged quad can easily be confined to a cupboard for the rest of its life. But [Peter Sripol] has an idea for re-using the electronics from a mangled quad by building his own RC controlled paper aeroplane.

[Peter] uses the two rear motors from a mini quadcopter to provide the thrust for the aeroplane. The key is to remove the motors from the frame and mount them at 90 degrees to their original orientation so that they’re now facing forwards. This allows the drone’s gyro to remain facing upwards in its usual orientation, and keep the plane pointing forwards.

The reason this works is down to how drones yaw: because half of the motors spin the opposite direction to the other half, yaw is induced by increasing the speed of all motors spinning in one direction, mismatching the aerodynamic torques and rotating the drone. In the case of the mini quadcopter, each of the two rear motors spin in different directions. Therefore, when the paper plane begins to yaw off-centre, the flight controller increases power to the appropriate motor.

Mounting the flight controller and motors to the paper plane can either be achieved using a 3D-printed mount [Peter] created, or small piece of foam. Shown here is the foam design that mounts the propellers at wing level but the 3D printed version has then under the fuselage and flies a bit better.

Making paper planes too much effort? You could always use the one-stroke paper plane folder, or even the paper plane machine gun.

Continue reading “RC Paper Airplane From Guts Of Quadcopter”

Flite Test Puts A Chair In The Air

The Flite Test crew is well known for putting some crazy flying contraptions together. They’ve outdone themselves this time with a flying IKEA chair. This build began with [Josh] issuing a challenge to [Stefan]. Take a standard IKEA ladderback chair and make it fly– in less than six hours. With such a tight schedule, measuring twice and cutting once was right out the window. This was a hackathon-style “throw it together and hope it works” build.

The chair was plenty sturdy, so it became the core of the fuselage. [Stefan] grabbed the wing from a previous plane and placed it on the seat of the chair. Two carbon fiber rods drilled into the seat frame formed a tail boom. The tailfeathers were built from Flite Test foam – paper coated foam-core board.

With the structure complete, [Stefan] and his team added servos for control, a beefy motor for power, and some big LiPo batteries. The batteries hung from the bottom of the chair to keep the center of gravity reasonable.

When the time came for the maiden flight, everyone was expecting a spectacular failure. The chair defied logic and leaped into the air. It flew stable enough for [Josh] to take his fingers off the sticks. The pure excitement of seeing a crazy build that works is on full display as the entire Flite Test crew literally jumps for joy. [Alex] even throws in a cartwheel. This is the kind of story we love to cover here at Hackaday – watching a completely nutty build come together and perform better than anyone expected.

Continue reading “Flite Test Puts A Chair In The Air”

LoRa System Commands Drones From A Distance

LoRa has been making quite a stir in hacker circles over the past couple of years, as it offers a fascinating combination of long range, low power, and low cost. It does this by using spread spectrum techniques on unlicensed frequency bands, meaning it can send data a surprising distance and that you don’t need a radio license to use it. It is mainly used for Internet of Things things, but [Paweł Spychalski] has other ideas: he’s building a system to use it to control a quadcopter drone over distances of 5 kilometers or more. That’s an ambitious aim, considering that the parts he is using cost only a few bucks.

He’s using an off-brand Adafruit Feather LoRa board and a couple of home-made antennas with his own software that takes the data from the Taranis control port of the RC controller, encodes it and chirps it out over the LoRa radio. At the other end, a similar radio receives and decodes the data, feeding it out to the drone.

This is definitely still a work in progress, but he has got it working, flying his drone over the link, keeping control of it out to several hundred meters. At the moment, he can’t go much further as it seems that his LoRa radio is being overwhelmed by the video link on the drone, but he is working on changing the frequency spread & hopping and using a better antenna to provide longer range. We’ve seen some interesting stuff from [Pawel] before, like his DIY telemetry system, so this project is worth keeping an eye on if you are a drone fan.

Continue reading “LoRa System Commands Drones From A Distance”

Super Simple, Super Cheap FPV Drone Tracking

What’s more disruptive to the drone first-person view (FPV) experience than dropouts in your video feed when you’re in the middle of a race? Probably nothing, and there’s probably also not much you can do about it. Or is there? Might a simple tracker based on RSSI help keep your video signal locked in?

Honestly, we’re not sure it would, but we think it’s pretty nifty to see [FlyerFpv]’s tracker following his drone around. The idea is simple and uses the full-diversity FPV receiver he already has. Diversity receivers constantly monitor signal strength from multiple antennas to determine which one to listen to, which improves reception quality. [FlyerFpv] sends the RSSI outputs to analog inputs on an Arduino which drives a servo to keep the signals as close to each other as possible. The Arduino and the DC-DC converter needed to power it fit nicely inside the receiver case with no modifications, which is a nice touch. With a 3D-printed servo mount and some fancy directional antennas, the setup keeps pretty good track of his drone now. See it in action below.

Sure, the response could be snappier, and we’d love to see another receiver and servo added to track pitch as well as yaw. For a first pass, we think it’s great, but [FlyerFpv] should enjoy it while he can in case AI takes over our flying fun soon.

Continue reading “Super Simple, Super Cheap FPV Drone Tracking”

Unlocking Drones With Go

Looking for a first project in a relatively new language that’ll stretch your abilities? [Ron] was, so he hacked a commercially available drone and opened up a lot of its functionality, while writing the client software in Go.

The drone is a DJI Tello, which has some impressive hardware like a 14-core Intel processor and excellent video processing abilities. There’s also a vibrant community and a lot of support, making it the ideal platform for a project like this. It communicates to a base station via WiFi, and using some tools like the Wireshark [Rob] was able to decipher a lot of the communications and create a whole new driver for the drone. While the drone can be controlled in the traditional way, users can also write programs to control the drone as well.

The project is both an impressive feat in reverse engineering an inexpensive drone, and a fun example of programming in the Go language. Because of the fun and excitement of drones, they have become a popular platform on which to hack, from increasing their range to becoming a platform for developing AI.

3D Drone Video

If you enjoy flying quadcopters, it is a good bet that you’ll have a drone with a camera. It used to be enough to record a video for later viewing, but these days you really want to see a live stream. The really cool setups have goggles so you can feel like you are actually in the cockpit. [Andi2345] decided to go one step further and build a drone that streams 3D video. You can see a video of the system, below.

Outdoors, there’s probably not a lot of advantage to having a 3D view, but it ought to be great for a small indoor drone. The problem is, of course, a small drone doesn’t have a lot of capacity for two cameras. The final product uses two cameras kept in sync with a sync separator IC and a microcontroller, while an analog switch intersperses the frames.

On the viewing side, a USB frame grabber and a Raspberry Pi splits the images again. At first, the system used an LCD screen married with a Google Cardboard-style goggle, but eventually, this became a custom Android application.

Continue reading “3D Drone Video”