Yesterday I started with something I had in my mind for a very long time:
to build my own DIY drone based on a Kinetis 🙂
I did some research over the last months and learned a lot about how to build drones and quadrocopters. Yes, you get excellent ones for the money, but hey: it is all about learning new things ;-). I was on the search for a good quadrocopter frame, so I visited a store in Lucerne, and finally found one which I wanted to use: the Graupner Alpha 250Q.
It comes all the frame parts, 4 brushless DC motors and ESC’s, and has a compartment to store battery/electronics. The Alpha 250Q is intended for first-view race events and as FPV (First Person View) copter, but this is not what I have originally in mind. I want to develop and use my board, firmware and remote control. And this kit is ideal for me as it fits my needs.
The kit comes with all the frame parts, bolts, 4 motors and ESC (Electronic Speed Controllers). I added a battery (14.8V, LiIon, 4S, 26.6Wh), extra rotor blades and an adapter cable for my charging station:
The frame is made of carbon fibre which holds the four brushless DC motors:
The motor wiring and the four ESC’s are placed in a special compartment on the underside of the drone. Here it still looks a bit messy:
But everything gets covered under a bottom plate:
Here a picture with battery in the compartment and a possible place for the FRDM board:
I have not decided yet on the FRDM board I want to use. For now I consider the FRDM-K22F board, as it has a powerful ARM Cortex-M4F on it and connectors for Bluetooth and nRF24L01+:
💡 Note that the SD card connector shown in the picture is not on the board by default.
As IMU I plan to use the FRDM-STBC-AGM01 9-Axis Inertial Measurement Board:
Initially, I plan to write my simple firmware. But I consider as well to port the OpenPilot framework to Kinetis. As most of the time: using Open Source software and tools :-).
Happy Droning 🙂
- Graupner Race Copter Alpha 250 Q: https://www.graupner.com/
- Freescale FRDM-K22F Board: http://www.freescale.com/products/arm-processors/kinetis-cortex-m/k-series/k2x-usb-mcus/freescale-freedom-development-platform-for-kinetis-k22-mcus:FRDM-K22F
- Freescale FRDM-STBC-AGM01 Board: http://www.nxp.com/tools/embedded-software-and-tools/hardware-development-tools/freedom-development-boards/frdm-stbc-agm01-9-axis-inertial-measurement-sensor-board:FRDM-STBC-AGM01
- OpenPilot project: https://www.openpilot.org/
Great news, I have been considering this too. We have bought most of the items and made our own frame, one 3D printed entirely on plastic and one mixed with aluminium u-tubes. Will try to follow this closely. We were planning to use an open-source firmware, we bought the board too to start from a working assembly. Building one with Kinetis will be awesome.
LikeLiked by 1 person
If drone is being built, it is time to ask, when you will write about 3D printer!
yeah, just remind me about that when that drone is flying 😉
LikeLiked by 1 person
Consider it’s done;-)
Great Article! Looking forward to future updates.
Thanks! I’m working on having an article about using the ESC’s (Electronic Speed Controllers) for the next week-end :-).
450 Euro? Die spinnen wohl.
What are you planning to use for wireless control? I’ve never used the nordic radios or bluetooth, but I thought the range on those wasn’t all that great.
The radio control standard seems to be 2.4 GHz now.
got the chassis with 4 motors and 4 ESC for less than 190 Euros :-).
I’m using right now bluetooth to remotely control (with a shell) the FRDM-K22 board. I want to use that for now as a simple in-house communication channel. The nRF24L01+ I have used in other projects, and open-field it has a range of around 200-300 meters. There are variants with better antennas which I believe go up to 500 m. I was thinking to buy a normal remote controller with a receiver, will see how it goes.
I was planning on porting some existing flight control firmware to one of Freescale’s Cortex-M4 offerings (K64F) with the AGM01 so that it could be deployed to the UDOO Neo once that arrives. I would do the controller in MQX classic with the provided MQXLITE sensor fusion libraries, and then use the MCC library to communicate with path planning algorithms (ROS) on the A9 core. The PX4 API seems to be very well designed for this: https://pixhawk.org/dev/tour
I am curious as to your choice of OpenPilot as it seems a bit dated. A PX4 firmware (https://github.com/PX4/Firmware/tree/master/src) port could be fairly smooth if we can get it running on an M4 board. There is already a config here: https://github.com/PX4/NuttX/tree/master/nuttx/configs/freedom-kl25z
I have not finally deciced on the flight controller software, but so far I was leaning towards OpenPilot, because it is using FreeRTOS which has many great features and tools, and because it is widely used. The other option is the PX4 firmware which you mention too. We are using PX4 in other projects. It is a great firmware if you use it with the PixHawk hardware, but seems to be very complex, and not easy to port to a different board/hardware. NuttX would be yet another hurdle to overcome. Again, I’m still evaluating options, and thanks for your comments too! But for sure we won’t use something like MQX as it is proprietary and not open source, and only could be used for Freescale devices.
I completely follow your reasoning, FreeRTOS should be perfectly compatible with the Neo as well. I’d be excited to see the sensor fusion library ported from MQXLITE to FreeRTOS also. I’ll be getting started on a drone soon and will be happy to share any generic code others may find useful.
Pingback: Kinetis Drone: Driving the Electronic Speed Controllers | MCU on Eclipse
Pingback: Added Micro SD Card Socket to FRDM-K22F | MCU on Eclipse
Pingback: Kinetis Drone: Remote Controller with SUMD | MCU on Eclipse
Pingback: Kinetis Drone: First Test Flights | MCU on Eclipse