Flight of the Ladybug: A 32-bit brushed-motor flight controller that you program with Arduino

This video shows the Maiden flight of the Arduino-compatible STM32L4 "Ladybug" brushed-motor  flight controller from Pesky Products (enabled by the Arduino STM32L4 package from Grumpy Old Pizza), running my Hackflight firmware (which already runs on a variety of flight controllers, as well as a simulator).  I used a 3DFly frame, Lemon RX satellite receiver, Walkera Devo7E transmitter running DeviationTX firmware, and standard 8.5mm brushed motors for the Hubsan X4 and similar vehicles.  

The goal is to have a very inexpensive, state-of-the-art flight controller for nano-scale quadcopters, with a minimalist, object-oriented firmware design (around 1500 lines of C++) that you can program with the Arduino IDE, enabling all sorts of cool projects. The board has pins for I^2C, UART, and GPIO, allowing it to be connected to the new ultra-lightweight, low-power Arduino-ready sensors (like this one).

Instead of a traditional IMU, the board uses an EM7180 SENtral Sensor Fusion coprocessor, which performs much of the work traditionally done by the flight-control firmware. The EM7180 also incorporates a barometer, for altitude estimation. The main processor is an STM32L4, a low-power-consumption ARM Cortex M4 running at 80 MHz, with a Floating-Point-Unit.

The next iteration of this board (currently being built) will feature a standard Spektrum DSM connector for the receiver (which is currently plugged into the RX2 port on the board for convenience until the new iteration arrives).  It should also be possible to use a CPPM receiver on the same connection, with a slight modification to the firmware.  Once the prototype has been tested, I will be looking to produce the assembled boards in bulk, for use by students, researchers, and hobbyists.  

Views: 751

Comment by robert bouwens on June 4, 2017 at 12:56am
Comment by Thomas Butler on June 5, 2017 at 1:24pm

Funny how people obfuscate things. The "EM7180" contains a BMX055 from Bosch (integrated STM32 (M0 ARM CPU) and gyro/accel/compass). This component has been out since 2014...it wasn't able to cut the mustard (bandwidth is too low) as far as quad-copters go! But hey! Good luck!

Comment by Patrick Poirier on June 5, 2017 at 3:28pm

Hey Simon , great blog.. as usual :-)

Do you know if Pesky will offer the LadyBug Flight controler as a complete unit or we will have to source parts and retrofit our EasyBake Ovens ?

Comment by Simon D. Levy on June 5, 2017 at 8:40pm

Thanks, Patrick!  It'll be your choice: you can order the bare board from OSH Park now and assemble it yourself, or you can purchase one from me on Tindie, once they're available (I'm hoping by the end of July).  So, no EasyBake required ;^)

Comment by Simon D. Levy on June 5, 2017 at 9:08pm

@Thomas: I've had great results using the EM7180 SENtral Sensor Fusion Solution from Pesky products, on both this Ladybug board and the earlier Teensy-based design.  It features a MPU9250 IMU and a barometer (BMP280 on the breakout board; MS5637 on the Ladybug FC.) The designer (Kris Winer) has extensively documented his results with it, including 1kHz update rates and extremely accurate heading estimation.  So whatever issues people may have had with this solution in the past, I'm pretty happy with it.

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2017   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service