Close
0%
0%

Chiindii

Micro quadcopter from scratch

Similar projects worth following
Almost 5 years ago, Warren and I tried to make a quadcopter. What we created was a hideous and expensive 1.5kg behemoth which we were not comfortable flying due to the dangers and liability. This project is a redux of that, which addresses both issues: the cost is much reduced and the weight is reduced to less than 50g fully loaded, so even in the case of catastrophic failure the damage to property, pocket book, and jugular will be limited.

The name 'Chiindii' is derived from the Navaho 'Chindi' (see https://en.wikipedia.org/wiki/Chindi), where the ghosts of deceased persons manifest themselves as dust devils.

Some points of interest of this project:

  • Flight controller is ATMega32u4
  • Quadcopter frame is completely made of PCB - the entire quadcopter fits on a 10x10cm board from DirtyPCBs, including one spare arm in case something breaks
  • Radio control is a serial connection with FTDI pinout. Included on the board are breakouts for HC-05 / HC-06 / BTLE4 bluetooth modules, and XBee.
  • Programmed over USB via a dongle to keep weight down (no point in flying with the USB header)
  • Motors are the cheap 20x8mm coreless motors which can be found on eBay for next to nothing as replacements for commercial quadcopter toys.
  • Entire cost of the project should be around $50

View all 29 components

  • Working on the frame rev 2.1

    The Big One05/29/2016 at 00:34 0 comments

    I am building the frame for the ARM board out of balsa wood. I also decided to make it an octocopter. (Originally I was planning on a hex, but then the ebay seller who I bought the motors from decided to send me 7mm ones instead of 8.5mm... I figured that with the smaller, weaker motors, that I would be more likely to have sufficient lifting power if I threw a whole lot of motors at the problem.)

    I still wanted to keep things small, so I am trying for a 160mm motor to motor build. 4 motors are in the corners, 4 are in between the corner ones (think of a + and x quad copfiguration stuck on top of each other).

    The motor mounts are hickory, drilled out and glued on to the balsa frame.

    The frame plus 8 motor mounts and roll cage is 16g. 8 motors plus props are 34g. The control board plus sensors is about 9g. The battery is about 12g. Unless I forgot something, this should make a flight weight of about 71g (this is compared to the quad weight of 57g, including the wire roll cage). I am hoping that the 8 motors (albeit weaker) will give me enough payload capacity to put a micro camera on board.

    Some pictures of my progress are below.

  • st-flash working on STM32F410

    The Big One05/20/2016 at 18:02 0 comments

    Still playing around with my ARM programming workflow. Next up was the program upload. Previously I was using Nucleo, with its USB mass storage programmer. It works, but it is clunky and not great for use with make.

    I tried building https://github.com/texane/stlink, and it worked for the F411 but failed on the F410. The developer xor-gate was incredibly quick to fix the bug once I logged it; kudos to him for excellent support!

    The upside is that I can now use st-flash to easily program my Chiindii board from a makefile.

  • ARM Programming Works

    The Big One05/11/2016 at 18:44 0 comments

    Over the weekend I soldered up a new ARM PCB. To start with, I just wrote a simple blinkylight program to ensure that the main chip runs, and that programming works. After a couple false starts, I got the light blinking. Yay!

    This confirms that the following tasks have succeeded:

    1. The PCB correctly runs an ARM STM32F410 chip (it has all the needed power supply caps and such)
    2. Programming works (via a Nucleo with the jumpers set to program an external board)
    3. STM Cube software correctly configures the chip

    Next step is to get the motor driving components on the board (some mosfets and such), and verify that the motors work.

    After that, I can start porting the AVR Chiindii code to ARM (OK, I have started, but there is still lots of work to go).

    Unfortunately my time is quite limited in May / June, so I don't know how much I will be able to get done until summer.

    Cheers

  • Playing with ARM

    The Big One04/25/2016 at 15:24 0 comments

    While the quadcopter based on an AVR 32u4 is working (with the exception of one annoying bug that I have yet to track down), I am pushing the limits of the 8 bit microcontroller. I figured that this would be the perfect excuse to get into ARM programming.

    We have designed a new flight controller board that uses an STM32F410 chip, which has tons of pins, cycles, and an FPU. The boards have just arrived on Friday, and we plan on making the Digikey order today or tomorrow.

    The new boards do not have an integrated frame. They have a standard mounting hole pattern (45mm square) so they can be used with commercial frames, and I am planning on making one out of balsa wood. They support up to 8 motors (octocopter), and can drive either brushed (directly) or brushless (via ESC) motors.

    The board image is below; stay tuned for updates...

  • Almost everything working

    The Big One02/28/2016 at 23:23 0 comments

    I have been horrible at updating this project page... long story short, we have most of the flight operations working now, with the exception of yaw. (From a physical POV, yaw works, but somewhere between the controller and PID it is failing). Warren is still working on his iPhone controller program, and making good progress (I will let him add updates on the details).

    I have been going through far too many props (and motors) while making it and learning to fly; I thus built myself a prop guard today out of piano wire to hopefully reduce the damage done to the props when they hit something. It's a bit heavy, but seems to work quite well.

    Some pictures and a video are included below; you can look on my Youtube channel for other videos.

    Enjoy!

    Read more »

  • Complementary Filter Working

    The Big One01/20/2016 at 18:29 0 comments

    After a long downtime, we have started work on the code now. We have finished the main architecture, and are now working from the bottom of the control stack to the top. Motor control (9 bit PWM in hardware) is completed, status lights are working (showing armed status, battery warning, and comm warning); attitude filtering was the next task.

    We decided to go for a first order complementary filter due to its simplicity and small code size. We followed the logic demonstrated in the blog post at http://robottini.altervista.org/kalman-filter-vs-complementary-filter.

    This is a graph of what we have currently:

    As you can see, the filtered value is nice and smooth, and follows the accelerometer quite closely without inheriting the noise from either accel or gyro.

    Next step will be communications followed by rate PID.

    Cheers

  • Initial Status

    The Big One11/19/2015 at 22:15 0 comments

    Although we have just now started this project page, we have been working on this project for close to 6 months now. The panelized design took a long time to figure out (even the requirements for what we wanted to include and how the frame was to go together was quite difficult). We went through a number of iterations before settling on this one.

    Now that the boards are here, and basic operation is confirmed, the next step is to start writing software. It may take a few months to get things going, though, so don't hold your breath. ;-)

    So far, I have tested the following aspects of the design:

    • ATMega32u4 programming via external USB dongle, and setting clock speed in software (no ISP / setting fuses required)
    • 5v Boost converter (for AVR) and 3.3v LDO (for radios)
    • Status LED
    • Motor1

    Things I have not yet tested:

    • I2C communication with IMU
    • Serial communication with radio
    • Motors 2, 3, and 4

    I think that covers just about everything in the hardware...

View all 7 project logs

Enjoy this project?

Share

Discussions

ActualDragon wrote 12/07/2016 at 16:45 point

it won't let me reply back, so i needed to make a new post. thanks, but one more thing- how did you get the attiny on the pcb? with a hot air gun?

  Are you sure? yes | no

The Big One wrote 12/07/2016 at 16:46 point

It is an ATMega32u4, not an ATTiny... but yes, hot air gun.  See my Youtube channel for some details.

  Are you sure? yes | no

ActualDragon wrote 12/07/2016 at 16:52 point

aww shit- the one thing i dont have

  Are you sure? yes | no

deʃhipu wrote 12/07/2016 at 19:13 point

This size is not too bad to solder by hand -- I did that for #Servo Breakout for WeMos D1 Mini -- you just need a lot of flux, and a solder wick to remove bridges.

  Are you sure? yes | no

The Big One wrote 12/07/2016 at 16:54 point

The Mega32u4, or the heat gun?  Both are very available and affordable.  You can get the Mega32u4 from eBay for about $5 shipped.  As for the heat gun, other reflow methods work fine as well, if you are familiar with them.

  Are you sure? yes | no

ActualDragon wrote 12/07/2016 at 17:02 point

okay, so if i have the idea, the pcb size should be 10 mm by 10 mm and 1.2 mm thick

  Are you sure? yes | no

The Big One wrote 12/07/2016 at 17:24 point

Correct.

  Are you sure? yes | no

ActualDragon wrote 12/07/2016 at 15:51 point

the link to the pcbs doesn't work for me :( great project though!

  Are you sure? yes | no

The Big One wrote 12/07/2016 at 16:11 point

Hmm, it looks like DirtyPCBs changed their website (and store along with it).  Their new store is at http://dirtypcbs.com/store/designer.  However they have 48 pages of designs, and no search capability that I could find.  I would suggest just submitting the gerber files again (they are on github at https://github.com/thebiguno/microcontroller-projects/blob/master/projects/chiindii/rev2.0/kicad/gerber/chiindii.zip)

  Are you sure? yes | no

ActualDragon wrote 12/07/2016 at 16:17 point

okay, thanks! the range is 30 ft right? And what are the dimensions for the pcb?

  Are you sure? yes | no

The Big One wrote 12/07/2016 at 16:33 point

The control range would be around 30ft depending on local conditions (line of sight, interference, etc)... whatever the range of the HC-05 bluetooth modules is.

If you need more you can throw an XBee on board (it is a bit heavier so flight times may be impacted), and get much longer ranges.  (The XBee pros are rated at 1km IIRC... you would not be able to see the craft at that range).

  Are you sure? yes | no

The Big One wrote 12/07/2016 at 16:33 point

The PCB is 10x10cm

  Are you sure? yes | no

deʃhipu wrote 12/07/2016 at 21:17 point

You can now log in (you might need to recover the password for the e-mail you originally used) and see all your orders under "status".

  Are you sure? yes | no

zakqwy wrote 11/18/2015 at 22:03 point

I like the crossed PCB design! Great project!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates