With more than five years down the road in this successful hack, [Alexinparis] and his pioneering Nintendo controller hack have been taking eager enthusiasts to the skies with homebrew multicopters armed with MultiWii firmware.
The MultiWii firmware, like most other glorious moments that gloss these pages, was as a hack, and a darn good one. By harvesting the (I²C-based) accel-gyro sensor package in a Nintendo Wii MotionPlus, [Alexinparis] developed control firmware for an Arduino Pro Mini, and, thus: the MultiWii Controller Board was born. With a successful WiiMotion Plus pcb extraction, an Arduino Pro Mini, and some help from the forums, the dedicated hobbyist could build their own flying platform with customizable firmware enabling bi, tri, quad, hex, octo, Y6, and Y4 propeller configurations.
With a working flight controller, [Alexinparis] sent his firmware skyward in a tricopter built from scratch. For a light-but-sturdy shell, he opted for a lost-foam cast hull made from fiberglass and carbon fiber tow. This hull houses most of the electronics safely inside the hollow shell while maintaining the strength to sustain heavy blows from crashes. (The version shown above features additional carbon fiber reinforcement in the center.)
More than five years later, MultiWii is a mature open-source project with firmware and wiki under constant update. If you’ve ever considered getting started with multicopters, this project stands as a tested-and-tried road to success. In fact, even RC vendor HobbyKing offers low-cost Multiwii PCBs compatible with the firmware. For more details on the project’s humble beginnings, head on over to the RC Groups thread and followup documentation thread.
We’ve seen MultiWii countless times in the past as the firmware in numerous multicopter builds. It’s about time we give [Alexinparis] some well-deserved credit for paving the way.
Continue reading “Multicopters and their MultiWii Beginnings”
The flight controller is the nerve center of a drone. Drone flight control systems are many and varied. From GPS enabled autopilot systems flown via two way telemetry links to basic stabilization systems using hobby grade radio control hardware, there is an open source project for you.
Modern drone flight controllers can trace their roots back to R/C helicopters. Historically, R/C planes were controlled directly by the pilot’s radio. Helicopters added a new wrinkle to the mix: tail rotors. Helicopters use their tail (or anti-torque) rotor to counteract the torque of the main rotor attempting to spin the entire helicopter’s body. It all works great when the helicopter is hovering, but what about when the pilot throttles up to fly out? As the pilot throttles up, the torque increases, which causes the entire helicopter to do a pirouette or two, until the torque levels out again. The effect has caused more than one beginner pilot to come nose to nose with their R/C heli.
The solution to this problem was gyroscopes, heavy brass spinning weights that tilted in response to the helicopter’s motion. A hall effect sensor would detect that tilt and command the tail rotor to counteract the helicopter’s rotation. As the years wore on, mechanical gyros were replaced by solid state MEMS gyros. Microcontrollers entered the picture and brought with them advanced processing techniques. Heading hold gyros were then introduced. Whereas older “rate only” gyros would drift, weathervane, and wiggle, heading hold gyros would lock down the helicopter’s nose until the pilot commanded a turn. These single axis flight controllers were quickly adopted by the R/C helicopter community.
Today’s flight control systems have many sensors available to them – GPS, barometric pressure sensors, airspeed sensors, the list goes on. The major contributors to the flight calculations are still the gyros, coupled with accelerometers. As the name implies, accelerometers measure acceleration – be it due to gravity, a high G turn, or stopping force. Accelerometers aren’t enough though – An accelerometer in free fall will measure 0 G’s. Turning forces will confuse a system trying to operate solely on accelerometer data. That’s where gyros come in. Gyros measure rate of rotation about an axis. Just as our helicopter example above covered yaw, gyros can be used to measure pitch and roll of an aircraft. A great comparison of gyros and accelerometers is presented in this video from InvenSense.
Stay with us after the break for a tour of available flight controllers and what each adds to the mix. Continue reading “Droning On: Choosing a Flight Controller”
When [Matt] started building his multirotor helicopter, he was far too involved with building his craft than worrying about small details like how to actually control his helicopter. Everything worked out in the end, though, thanks to his homebrew RC setup built out of a USB joystick and a few XBees.
After a few initial revisions and a lot of chatting on a multirotor IRC room, [Matt] stumbled across the idea of using pulse-position modulation for his radio control setup.
After a few more revisions, [Matt] settled on using an Arduino Pro Mini for his flight computer, paired with a WiFly module. By putting his multicopter into Ad-hoc mode, he can connect to the copter with his laptop via WiFi and send commands without the need for a second XBee.
Now, whenever [Matt] wants to fly his multicopter, he plugs the WiFly module into his MultiWii board, connects his laptop to the copter, and runs a small Python script. It may not be easier than buying a nice Futaba transmitter, but [Matt] can easily expand his setup as the capabilities of his copter fleet grows.
Video of [Matt]’s copter in flight after the break.
Continue reading “Controlling a quadcopter with a homebrew remote”