MINI-Zee: a $100 DIY smart drone with the Pi Zero and APM

I finally received my Raspberry Pi Zero,  just in time to get into the DIY challenge of building a smart drone with the Pi Zero and APM under 100$. I called this project: MINI-Zee

How this can be done?

Well first of all, thanks to Victor and the team at Erle Robotics for releasing the plans and software of their PXFmini.  This is a real inspiration for building my own board, because all the parts are available at a cheap price and are relatively easy to assemble and interconnect using through-hole breadboard, providing you are very experienced with this type of build.  Thanks to Mirko as well, for having introduced a real DIY autopilot project that allows us to experiment with a fully working and well supported BeagleBone  based  ArduPilot  Cape called the BBBMINI.


Bill of Material (US$ - Transport & taxes excl.):

Raspberry Pi Zero                                      5.

MPU 9250 (SPI 9 dof IMU)                         8.

MS 5611 (SPI Baro)                                   9.

PCA 9685 (16 channel PWM Servo Driver)  5. 

3.3 v. regulator                                          1.

BEC 3 amps                                             3.

Breadboard, Resistors, Connectors, Misc.   7.

                                               AutoPilot:  38.

HobbyKing Spec FPV250 V2 Quad Copter

ARF Combo Kit - Mini Sized FPV         60. 

                                                     Total:  98.

*This is Banggood price; I had an ADAFRUIT –PWM on hand, and I really recommend going with ADAFRUIT, because of all the effort  they put on making a great tutorial and drivers for this product. Note: Just like Erle , the USB WIFI, GPS and the Radio Control are excluded.

Building:


A) Hardest part: Get a  RASPBERRY PI ZERO (Where is my Zero site)
B) Hardware - See BOM
C) Board Schematics : Erle pxfmini
D) Board Software: Erle pxfmini

E) LOAD LATEST Raspbian-Jessie

Disable serial Login (Allow GPS on serial Port)
Enable , I2C, SPI , Serial
Disable Console = Auto Log on a shell


F) LOAD RT-PREEMPT
http://www.frank-durr.de/?p=203
Load Test Result: TEST: T: 0 ( 1136) P:80 I:500 C: 100000 Min: 16 Act: 31 Avg: 32 Max: 157


G) MAKE ArduCopter

Special MINI-ZEE release:
1) The MPU 9250 is mounted on the Z-Axis, so we need to change : 

CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXFMINI
, _default_rotation(ROTATION_YAW_270)  = to ROTATION_NONE

2) The PCA9585 has no external clock, and the ESC are connected to ports 1-2-3-4, so we need to change: 

static RCOutput_PCA9685 rcoutDriver(PCA9685_PRIMARY_ADDRESS, true, 3, RPI_GPIO_27);      -to-

static RCOutput_PCA9685 rcoutDriver(PCA9685_PRIMARY_ADDRESS, false, 0, RPI_GPIO_27);

H) Fly the MINI-ZEE == Add these to /etc/rc.local

#wait till network is up and DHCP assigned address

while ! ifconfig | grep 192.168.2. >> /home/pi/bootlog; do
echo “no network, waiting…” >> /home/pi/bootlog
sleep 5
done
echo “Starting ArduCopter” >> /home/pi/bootlog

sudo /home/pi/ardupilot/ArduCopter/ArduCopter.elf -A udp:192.168.gcu-address:14550  -B /dev/ttyAMA0 > /home/pi/startup_log &

exit 0

I) FIRST FLY LOG:

Thanks to the damping platform, the vibration level is within specs. Video is available for anyone interested..;-)

Conclusion:

This project took about 20 hours to complete. As you can see, I really enjoyed  doing some hardcore DIY to demonstrate that it is still possible to build your own flight controller from a Linux Based system.  I do not recommend to try this as a first project, but if you are interested, get a BBBMINI, this is the best introduction to DIY  and if you want to fly a Raspberry Pi Zero, it is much  easier to buy a PXFMINI.

Views: 10343

Comment by Matt™ on March 18, 2016 at 11:22am

Awesome!  Is there a 1st flight video?

Comment by Patrick Poirier on March 18, 2016 at 11:28am

There it is, btw this is the first fly , and this is where the log is taken from.

https://youtu.be/SWYtZJJMyzM

Comment by Jiro Hattori on March 18, 2016 at 1:28pm

I like real DIY:-)


Developer
Comment by Andrew Tridgell on March 19, 2016 at 12:35am

great stuff! Really nice to see people building their own Linux based copters

Comment by Patrick Poirier on March 19, 2016 at 8:31am

Thanks Andrew, 

Coming from the Tridge, I am quite happy !!

Here's the picture of shield cabling, most of it is underneath the shield, leaving a clean top.


Moderator
Comment by Chris Norris on March 20, 2016 at 4:25pm

This is really really good, I hadn't even realised that Erle had open sourced their designs.

One question though, why wait for the network to come up is this just to ensure GCS connection?

Comment by Patrick Poirier on March 20, 2016 at 5:19pm

Hello Chris,

Yes , otherwise the ArduCopter start before the Zero gets its dhcp adress, so this is a little annoying when you are setting up the Quad. Putting this in rc.local makes it a simple on step operation that is easy to configure and modify without having to setup services.

Regards


Developer
Comment by Randy on March 21, 2016 at 4:50am

Made your own sensor shield, cool!


Moderator
Comment by Chris Norris on March 21, 2016 at 4:51am

Fair enough, makes sense in that context.

I took a look at your BOM last night with one eye on the digikey and RS catalogs and I think this could quickly become the go to stack, ignoring the air frame costs which are an entirely individual choice I reckon it'd be possible to get the autopilot costs down even lower by etching/milling your own board, especially if you're prepared to solder ESCs etc directly. Even at $40 (or €69 ready made from Erle) it makes the original APM hardware a costly alternative.

I think I've got all of these bits in my various stashes of electronics so I might give it a go once the Pi Zero reappears in stock somewhere. Do you have the actual eagle files from Erle (or a link) as all I could find on their website was images of the schematic.

Cheers

Chris 

Bill of Materials  

Raspberry Pi Zero                                      5.

MPU 9250 (SPI 9 dof IMU)                         8.    £7.37 RS

MS 5611 (SPI Baro)                                   9.    £6.30 RS

PCA 9685 (16 channel PWM Servo Driver)  5.    £1.52 RS

3.3 v. regulator                                          1.    £0.69 RS

BEC 3 amps                                             3. 

Breadboard, Resistors, Connectors, Misc.   7.

                                               AutoPilot:  38.

 

Comment by Patrick Poirier on March 21, 2016 at 5:00am

@Chris, Yes I wanted to compete with the same frame, but it is build out of lead !!  it is way too heavy for serious fly, so I am looking for a lightweight 250 carbon fiber frame.

@Randy, Now you know why I was not working on the balloon_finder since the last weeks... ;-)

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