Blog

Ever since we decided to make the Crazyflie available as a kit we have looked at different possibilities for manufacturing and selling it. Because we don’t have much time to spend (due to that we all have daytime jobs…) and rather spend or time doing development, we needed someone that could take care of manufacturing and selling it.

During development we have been cooperating with Seeedstudio for prototype manufacturing and component sourcing. We were really pleased with their work so we decided to continue the cooperation to also let them manufacture and sell the Crazyflie and the USBRadio dongle.

Currently the plan is to start out with a small series of 100 kits which will be a “DIY” version.  The motors/battery has to be soldered and the motor mounts attached. If you have some soldering skills it won’t be a problem to assemble.  The next step would then be to increase the volume and also offer a RTF kit where everything is assembled. The reason for not doing the RTF kit from the beginning is that it’s more time consuming since we have to specify testing requirements and packaging for the platform.

As for the price we still have no number but our hope are that it will be in the 100-200USD range. Since we are still working on the motor mounts and we are unsure of the assembly/testing cost for the platform we don’t know for sure how much the units will cost to produce. Once this is clear we will post more info of the pricing for the different kits (DIY/RTF and USBRadion dongle).

 

We had to cancel our weekly Monday meeting due to illnesses but we have at least made some small progress we can write about.

The radio dongle code has been updated to flash either of the two LED’s when sending data or in case of bad transmission.

On our latest prototypes we discovered that the radio transmission went pretty bad on some copters as soon as the motors where turned on. This was not a nice discovery at this time of our project and we had not really seen it before. This kind of problem could require a big re-design of the PCB! After some debugging it turned out to be the PWM switching of the motors causing ripple on the digital supply voltage. It wasn’t that much, about 60mV peak-to-peak but enough to throw the radio off balance. After some tries with different decoupling techniques to get rid of the ripple, which showed only minor improvement, we increased the motor PWM frequency from 17kHz to 280kHz. That made the ripple go away, now about 10mV peak-to-peak, and so did the radio transmission problems, yeay!

To communicate with the Crazyflie we are using a custom radio protocol with almost-baseband 2.4GHz radio chips: the nRF24 family from Nordic semiconductor. This kind of radio chip is easy to cable, easy to use and require a very minimal software stack. Wifi or bluetooth would have required a lot more electronic and software so we chose to not use them for the Crazyflie. We however made sure to keep the possibility to add other radio on an expansion board (ie. both UART and SPI are available on the expansion connector).

One things with using a custom radio is that we have to make a computer interface in order to be able to communicate with the copter. We called it the Crazyradio dongle:

 

This radio dongle is built around a nRF24LU1p chip which contains, among other things, the radio transceiver, a 8051 microcontroller and an USB device peripheral. We wrote the firmware running in the nRF24LU1 from scratch and it is compiled with the SDCC compiler. This firmware source code is going to be open like the rest of the copter code.

The radio is bidirectional which permits to send command and receive telemetry from the copter. The bandwidth is not great but has been enough to debug the regulation. On the computer side we are using python and pyUsb to interface the radio dongle.

We have added a 10 pins connector that can be used to program the dongle for development purposes (the dongle can also be updated via USB) or to power the electronic and provide signals input/output. We designed the dongle in such a way that it is going to be possible to power it with up to 15V and to input a PPM signal. This will permit to use this radio dongle with a RC remote control (ie. to control the copter without the need of a PC).

One of the ideas with the Crazyflie was to make a simple flying platform and what’s simpler than just attaching the motors directly to the PCB? On our first prototypes we used hot-glue to attach the motors which work out pretty well. The problem was that when you crashed the motors often came loose, and in some cases, so did the wires attached to the motors. Reparing this turned out to be pretty teadious and it makes flying it a lot less fun, since the iteration time for trying new things becomes longer. We did a few tests with different protections, like soldering a ring of piano-wire, but when we decided to make a kit out of the Crazyflie we realized that we needed something that was easier to manufacture.

Since we could not find any off-the-shelf motor mounts we decided to make our own. Our idea is to place the motor in the mount and the mount on the wing. We have tried a few different solutions but the current leading design is one where we feed the cable from the mount out under the wing and to the soldering point for the wire. We have also made a telescopic version so it is possible to adjust the arm length for adjustable flight dynamics or to attach bigger propellers. After some more testing we will decide which one we will go for.

The CAD work is done in an open-source CAD tool named FreeCAD. After struggling for a while with an unstable versions, the 0.12 branch finally became very stable. The images below is the second iteration of prototypes that we have done using Shapeways. It’s is a 3D printing house in the Netherlands that has a great service where you upload models, choose what material you want them printed in, and then two weeks later you receive them in the mail! The durability is pretty good as well. We have only managed to break one, and that’s after a lot of violent crashes and a more fragile design.

 

FreeCAD showing a model of the motor mount prototype

 

Prototype 1 (shown in CAD model above)

Prototype 2

Crazyflie with Prototype 1 motormounts

 

As promised here’s a new Monday post. Below are some screenshots of our PC side/ground station software written in Python using pyUSB, pyGame and PyQt4. It’s far from finished but it’s good enough for us to get real-time plots of flight data and control parameters. Unfortunatly we did not have a flying prototype at hand while writing this post so the data is somewhat fake but good enough to show the concept.

 

Hello,

It is now Monday evening which is now our official meeting day within the Crazyflie team. From now on we intend to post a progress update every Monday evening here at the Bitcraze blog. First of we can tell you that we have, since two weeks, received our second round of prototypes. For the second round of prototypes we did some small fixes and improvements which unfortunately did not all work.

  • We fixed an issue with the standby current which was 150uA, due to a misplaced diode, but was supposed to be below 10uA according to our design.
  • We moved the battery measurement point to the actual battery instead of behind the system off switch so we can measure the battery when it is charging as well. Unfortunately a design mistake made the standby current go up to 250uA instead. Fixed one issue just to introduced another one…
  • We have discovered a problem with the MAX16054  ON/OFF switch we use to turn the system on and off. If the battery voltage is above 3.5V it refuses to turn on but if it is below it works as expected. We sent a support message to Maxim and hope it can be solved fast. This circuit worked on our first prototypes and it seems to be due to the now removed diode we spoke about in the first bulletin…

Other then that we are getting close to a pretty well working flying PCB.

We have tested a couple of LiPo batteries in different sizes from Fullriver. We decided to go for the 170mAh 25C battery which gives us about 7min of flight time but doesn’t add to much weight.

We have tested a lot of different pager motors in mainly the sizes 6×14 and 6×15 mm. Many of them are not the best quality but we found a good one, 2.5ohm, 6x15mm motor which is of good quality and high performance.

What is left now is the motor mountings which has turned out to be a time consuming task for us since none of us has any direct mechanical/plastic experience. We also have loads of other tasks but let’s take it one step at a time.

There is a short video of the new prototype flying that somebody took when we visited Techfest if you want to have a look.

/The Crazyflie team

We uploaded some pictures from Techfest to a Picasa album. We are also working on cutting the video material that we have into something that’s a bit better. If you have any good pictures that you took or any scans of articles that was in the news papers don’t hesitate to send them over. The email is on the About page.



We upload there the posters used at Techfest. They describe the basic components of the new crazyflie version. A video will follow.

We would like to thanks everyone that came to see us at Techfest-2012 for there enthusiasm for our project. That’s was a a really awesome experience and gives us a lot of energy to continue!

 

Welcome to our new website Bitcraze.se! This bog/website is the home of the Crazyflie quadcopter and other projects we could come up with. News, progress, design and random thoughts about the project will be posted here. Out goal is to post some update at least every second week. More information about the project are still avaliable on the daedalus projects blog.

Why Bitcraze and not Daedalus Projects?

Originally the Daedalus projects blog/website was created to showcase the competence development projects that was done by the employees at Epsilon Embedded Systems in their free time. This is were the Crazyflie project first started. Last year we finally decided to send to a video of the Crazyflie to Hackaday.com and that’s when things really took off. More development was done and we decided to make a Crazyflie kit that could be manufactured and sold as an open source development platform. To finance development and manufacturing of the kit we created Bitcraze AB. At this point we felt that the project had outgrown the Daedalus Projects and decided to launch Bitcraze.se. The Daedalus projects website will still be up and active but news and progress for the Crazyflie will be posted on Bitcraze.se instead.