Reverse Engineering Quadcopter Protocols

Necessity is the mother of invention, but cheap crap from China is the mother of reverse engineering. [Michael] found a very, very cheap toy quadcopter in his local shop, and issued a challenge to himself. He would reverse engineer this quadcopter’s radio protocol. His four-post series of exploits covers finding the right frequency for the radio, figuring out the protocol, and building his own remote for this cheap toy.

[Michael] was already familiar with the capabilities of these cheap toys after reading a Hackaday post, and the 75-page, four language manual cleared a few things up for him. The ‘Quadro-Copter’ operated on 2.4GHz, but did not give any further information. [Michael] didn’t know what channel the toy was receiving on, what data rate, or what the header for the transmission was. SDR would be a good tool for figuring this out, but thanks to Travis Goodspeed, there’s a really neat trick that will put a 2.4GHz nRF24L01+ radio into promiscuous mode, allowing [Michael] to read the transmissions between the transmitter and quadcopter. This code is available on [Michael]’s github.

A needle in an electromagnetic haystack was found and [Michael] could listen in on the quadcopter commands. The next step was interpreting the ones and zeros, and with the help of a small breakout board and soldering directly to the SPI bus on the transmitter, [Michael] was able to do just that. By going through the nRF24 documentation, he was able to suss out the pairing protocol and read the stream of bytes that commanded the quadcopter.

What [Michael] was left with is a series of eight bytes sent in a continuous stream from the transmitter to the toy. These bytes contained the throttle, yaw, pitch, roll, and a ‘flip’ settings, along with three bytes of ‘counters’ that didn’t seem to do anything.  With that info in hand, [Michael] took an Arduino Nano, an nRF04L01+ transceiver, and a Wii nunchuck to build his own transmitter. If you’re looking for a ‘how to reverse engineer’ guide, it generally doesn’t get better than this.

You can check out a video of [Michael] flying his Wiimoted quadcopter below.

Continue reading “Reverse Engineering Quadcopter Protocols”

Hackaday Links: June 19, 2016

Wait a minute. We’re almost through June and we haven’t seen anyone’s ‘DIY air conditioning’ setup. Oh the shame! How could we ever argue about thermodynamics otherwise? Here’s some copper tubing wrapped around a fan. Does it make sense? Assuming you’re making the ice (or cold whatever) in a room separated from the crappy air con, and you don’t have to pay for electricity (or ice), and you don’t mind hauling buckets of ice every few hours, yes. It’ll work. Now we can argue if you should put salt in the ice water…

I know I mentioned this in last week’s links post, but [Arsenijs]’s Raspberry Pi project is growing by leaps and bounds. He already has more than 33 followers to this project (awesome!) and 3.3k views on his project page. Not only is it climbing in popularity, but this is also a great use for the Raspberry Pi. You don’t see projects like this come around very often.

The Goliath is a quadcopter powered by a lawnmower engine. It was an entry in the first Hackaday Prize, but the project literally never got off the ground. There’s now a Mk. II version in the works. Goliath is getting a new frame made out of aluminum tube and rivets. There’s going to be ducts on the props, and this version might actually fly.

You did know Hackaday has it’s own Hackaspace, right? Technically it’s the Supplyframe Design Lab, but there are still a few skull ‘n wrenches hidden in the rafters. The Design Lab is hosting an open house this week on June 23rd, and the design lab residencies will begin July 1st. If you have an idea for something you’d like to build, here’s the residency application.

The LimeSDR is a powerful next generation software defined radio that’s currently on CrowdSupply The crowdfunding campaign ends in just a few days. It’s a very impressive tool, able to send and receive anything from 100 kHz to 3.8 GHz.

Last week one of our writers posted a review on the Monoprice MP Select Mini 3D printer. This printer is becoming stupidly popular, and Monoprice has depleted their inventory twice since then. I’ve been watching the product page for this printer for a while now, and here’s what happens: 1) Printer is out of stock, with an ETA of about a month in the future. 2) Printer is still out of stock, ETA is a few days away. 3) Monoprice has this printer in stock. This cycle seems to repeat every week or so.

Arduino Raycasting. When you think of raycasting, you probably think about Wolfenstein 3D, or other barely 3D games. You don’t need a powerful CPU like a 386 for raycasting – you can do it on an Arduino. The display is a 32×16 matrix of LEDs, control is through a Wii Nunchuck, and yes, head-bobbing is implemented. Here’s a video.

Easy DIY Telemetry Goes the Distance

[Paweł Spychalski] wrote in to tell us about some experiments he’s been doing, using cheap 433 MHz HC-12 radio units as a telemetry radio for his quadcopter.

In this blog post, he goes over the simple AT command set, and some of the limitations of the HC-12 part. Then he takes it out for a spin on his quadcopter, and finds out that his setup is good for 450 meters in an open field. Finally, he ties the radio into his quad’s telemetry system and tethers the other end to his cellphone through a Bluetooth unit for a sweet end-to-end system that only set him back around $20 and works as far out as 700 meters.

The secrets to [Paweł]’s success seem to be some hand-made antennas and keeping the baud rate down to a reasonable 9600 baud. We wonder if there’s room (or reason?) for improvement using a directional antenna on the ground. What say you, Hackaday Antenna Jockeys?

Also check out this very similar build where an ESP8266 replaces the Bluetooth module. And stashes it all inside a nice wooden box! Nice work all around.

Hackaday Prize Entry: Raspberry Pi Zeros And Drones

How do you get eyeballs on a blog post? Put Raspberry Pi Zero in the headline. How do you get even more eyeballs? Put the word drone in there too. Lucky for us, there’s one very special project in the Hackaday Prize that combines both. It’s the Pi0drone from [Victor], and it’s exactly what it looks like: a flying Raspberry Pi Zero.

[Victor] has been working on the PXFmini, a ‘shield’ or ‘hat’ for the Raspberry Pi that integrates a barometer, IMU, and a few PWM outputs into a very small form factor that is just a shade larger than the Raspberry Pi Zero itself. It comes with standard connector ports for UART and I2C to attach GPS and on screen display for FPV flying.

Of course, there are dozens of flight controllers for drones and quads out there, but very few are running Linux, and even fewer platforms are as well supported as the Raspberry Pi. To leverage this, [Victor] is running Dronecode on the Pi for mission planning, real autopilot, and everything else that turns a remote controlled quadcopter into a proper drone. It works, and it’s flying, and you can check out the video proof below.

Continue reading “Hackaday Prize Entry: Raspberry Pi Zeros And Drones”

Hacklet 109 – Complex 3D Printed Projects

If you can’t tell, we’re on a roll with 3D printers and printed projects this month. So far, we’ve covered printers, and simple functional 3D prints. This week we’re taking a look at some of the awesome complex 3D printed projects on Hackaday.io.

Complex 3D printed projects are things like robots, quadcopters, satellite tracking systems, and more. So let’s jump in and look at some of the best complex 3D printed projects on Hackaday.io!

dtto2We start with [Alberto] and Dtto v1.0 Modular Robot. Dtto is [Alberto’s] entry in the 2016 Hackaday Prize. Inspired by Bruce Lee’s famous water quote, Dtto is a modular snake-like robot. Each section of Dtto is a double hinged joint. When two sections come together, magnets help them align. A servo controlled latch solidly docks the sections, which then work in unison. Dtto can connect and separate segments autonomously – no human required. [Alberto] sees applications for a robot like [Dtto] in search and rescue and space operations. Continue reading “Hacklet 109 – Complex 3D Printed Projects”

Find a Drone

Flying a drone usually leads to–sooner or later–crashing a drone. If you are lucky, you’ll see where it crashes and it won’t be out of reach. If you aren’t lucky, you’ll know where it is, but it will be too high to easily reach. The worst case is when it just falls out of the sky and you aren’t entirely sure where. [Just4funmedia] faced this problem and decided to use some piezo buzzers and an Arduino to solve it.

Yeah, yeah, we know. You don’t really need an Arduino to do this, although it does make it easy to add some flexibility. You can pick two tones that are easy to hear and turn on the buzzers with a spare channel or sense a loss of signal or power.

Continue reading “Find a Drone”

Super Strong 3D Component Carbon Fiber Parts

[prubeš] shows that parts printed with carbon fiber filament are as strong, or at least as stiff, as you’d expect. He then shows that his method for producing carbon fiber parts with a mixture of traditional lay-up and 3D printing is even stronger and lighter.

[prubeš] appears to be into the OpenR/C project and quadcopters. These things require light and strong parts for maximum performance. He managed to get strength with carbon fiber fill filament, but the parts weren’t light enough. Then he saw [RichMac]’s work on Thingiverse. [RichMac] designed parts with pre-planned grooves in which he ran regular carbon fiber tow with epoxy. This produced some incredibly strong parts. There’s a section in his example video, viewable after the break, where he tests a T joint. Even though the plastic starts to fail underneath the carbon fiber, the joint is still strong enough that the aluminum tube inside of it fails first.

[prubeš] innovation on [RichMac]’s method is to remove as much of the plastic from the method as possible. He designs only the connection points of the part, and then designs a 3D printable frame to hold them in place. After he has those in hand, he winds the tow around the parts in a sometimes predetermined path. The epoxy cures onto the 3D print creating a strong mounting location and the woven carbon fiber provides the strength.

His final parts are stronger than 100% infill carbon fill prints, but weighs 8g instead of 12g.  For a quadcopter this kind of saving can add up fast.

Continue reading “Super Strong 3D Component Carbon Fiber Parts”