Author: Arnaud

Thanks to some of the motor mount feedback we have now managed to improve the motor mount a bit. It now has a longer extruded cylinder and a larger stop to prevent the motor form popping out when landing hard. This should add a bit more protection but it is still a good idea to do one of the mods described in the wiki for even better protection, especially when expecting to do some hard crashes.

Motor mount v2

Motor mount v2

The improved motor mounts will be available in the next batch of kits, which is still scheduled to be ready in the end of June, and also as a separate spare part item. For the next batch the Crazyflie kit without the Crazyradio and antenna will also be available for ordering.

On another note we are planning on modifying our webpage a bit. We feel that when new people visit our webpage they get no overview of our projects. So we are planning a nicer landing page with some images and more general information. We will of course keep the blog and also keep updating it at least every Monday. Aside from this we are also planning on integrating the forum and wiki with the blog and also have the same theme. After doing a quick test with the forum we are pretty sure our green/black theme will look good, but we aren’t that convinced about the wiki…. Let’s see where we end up. If you have any suggestions or comments about the webpage and our plans then  don’t hesitate to leave a comment below.

Lastly we have also installed TapaTalk on our forum. So if you use the TapaTalk app you can find our forum in the directory by searching for Bitcraze.

Even though controlling the  Crazyflie with a PC is quite unique and permits a lot interesting things to be done, like controlling Crazyflie with a webcam or getting realtime telemetry, we have also been looking at controlling it with a, pc-free, standalone controller.

Current (unfinished) implementation of a standalone controller are using Crazyradio as a PPM to CRTP converter, a very experimental Android app, and using a raspberry pie as ground station. This week we finally managed to fly Crazyflie with an E-Sky transmitter:

Crazyflie standalone controllers

The transmitter is using a nordic-semiconductor chip compatible with our radio. The protocol is also well documented by dvdouden et al. It is using a power amplifier and uses a channel hopping scheme which makes the radio link quite secure.

Code to support this has been in the repo for a couple of week but a problem was that, by default, this transmitter was mixing pitch, roll and thrust channels which made the control of our Crazyflie nearly impossible (pitch and roll was changing by increasing the thrust ….). This week-end, we discovered two switches in the battery compartment, with which you can disable the mixing, and by doing that suddenly the Crazyflie is flying! There are still some work left to make RC transmitters works as good as a gamepad but the current source code is good enough to fly. Overall we have observed that a gamepad is really ideal to fly the Crazyflie in a fast and dynamic way. By comparison RC transmitter benefit by having more precision, mostly for the altitude control, but we are not used to it and it does not feel that ‘fast’ (our opinion).

As for the pre-order production, it is still going forward as planed. Testing of the first production samples  are finalized and now all the PCBs has been manufactured. The expected time of shipping is still according to the Seeedstudio Crazyflie product page.

We just received the first 10 sample boards from the production at Seeedstudio :-D

DSC_0210e

So far we got time to test only two boards and they are working. We have finalized the firmware, bootloader and production scripts so now it has really started :-)

Nothing new exiting about the production, it is still going as planned :-). Meanwhile we are focusing on stabilizing the Crazyflie firmware and its side projects.

This weekend we fixed a bug related to the memory allocation, which we have had a while now and that we never had time to track down. It kind of forced us to use heavier machinery so we decided to setup eclipse for debugging FreeRTOS threads and it happened to be very useful.

Since version 0.5 OpenOCD contains a rtos-awarness mode for FreeRTOS and, when painfully configured in eclipse, this allows us to observe the stack trace and the running state of all the tasks running on Crazyflie:

eclipse-threads

This helped us to track-down the bug much quicker and will greatly help us in the future. We also found a eclipse plugin, embsysregview, that enables one to show and analyse the peripheral register values, great little plugin!

The virtual machine will be updated with the debug environment and we will try to update the Wiki with the setup procedure.

The community interest for FPV flight made us buy a light weight analog FPV kits a while a go. We bought the 5.8GHz micro combo set from fpvhobby to do a first test. It took a little while to solder things together but it wasn’t that bad. We soldered the camera and the transmitter power to the VCOM voltage on the Crazyflie which is available on the expansion port. Then we taped the camera and transmitter to the Crazyflie and did a test flight.  The FPV kit is only about 3 grams which doesn’t affect the flight performances that much.

It was almost too easy, but as soon as we took off we noticed some vertical lines on the TV so maybe it wasn’t that easy. There seems to be some electrical interference, probably from the motors. Also the battery voltage drop generated by fast accelerations cuts the video feed after a couple of minutes of flight. We still think that there are some improvements to be done so hopefully it will work better in the future.

As for the production, so far it is still going forward as planned.

Finally an Alpha version of the virtual machine has been posted on the forum, you are welcome to test and report any problem/suggestion you may have :-).

As announced on the last Monday post and as well discussed on the forum, one of the things we are working on right now is to create a virtual machine (VM) that would greatly reduce the haste of getting the running/development environment up and running. The VM will be a Linux system that can run on Windows, Linux or Mac and that will be pre-configured to work with Crazyradio and Crazyflie. We are going to post the first alpha of this virtual machine during the week using Bittorrent so if you are interested to test it stay tuned to the forum!

As for the production of the Crazyflie’s things are running according to schedule, so far so good!

Also from the VM discussion we discovered that Mike has done a great job getting the Crazyflie client to work on Mac OSX. This is going to greatly help supporting Crazyflie on OSX.

Hi, Monday again. We just passed the two most exiting weeks in Bitcraze history. As we speak we are passing the 1K Crazyflie sold which is about 5 times over our optimistic estimations. Now the pressure is on, and there is still one week of pre-order left :-).

We are continuing to update the documentation, working on Crazyflie firmware, the PC gui client and as well all emails/administrative work that takes a surprising amount of time :-). Due to popular interest the focus has been on getting the client to work on Mac OSX and getting Crazyflie to work in a standalone mode (ie. no PC) with an E-sky R/C transmitter which is compatible with our radio chip. The transmitter is almost working (still some mapping issues to work out) and the OSX proof-of-concept is on the way to work (it should work out of the box if all the python libs where 64bits).

We should probably clarify that the PS3 controller we use to control the Crazyflie is just one possible input method. Actually any input device could be used which could be translated into roll, pitch, yaw and thrust. The GUI also simplifies it as there is a configuration dialog and soon we might have our first contribution which is for the xbox controller :-)

We are continually updating the wiki and are starting to get some activity on the forum. It is the right place to go if you have questions or want to discuss about the Crazyflie.

Thanks again for supporting us, one more crazy pre-order week to go!

After one week of flying the new copters we have to say that they are preforming very well. We’ve done a lot of crashes but only had one incident with a bent axis on one of the motors which we fixed by replacing the motor.

We have noticed that using some radio channels in combination with some link speeds causes too much packet drops when the motors are powered. It’s almost certainly the PWM that causes ripples on the power supply and that effects the radio transmission. It was by chance we saw this and changing the channel or speed works around the problem.

Currently we are working with Seeedstudio to sort out the details for starting up but we don’t have an estimate for when it will happen yet. But one thing is for sure, we will go with the rapid-prototype mounts for the first DIY kit. We are still working on the details for the molded motor mounts but since there’s a lot of leadtimes for this it would delay the kit with months and we really don’t want that. Since after the summer we have been using the same design for the rapid-prototype motor mounts and we have only had 2 that has broken.

The plan is to package 1 spare motor, 1 spare motor mount and 4 spare propellers with the kit. There will also be extra spare parts available for purchase.

Last week we received one of the new raspberry pi and we wanted to start doing something useful with it. One idea that came directly in mind was to control the copter with it. As it has 2 USB port it should be possible to use one for the gamepad and one for the Crazyradio dongle.

The Raspberry pi running Debian the operation ended up being surprisingly easy: Just apt-get install python, pygame and pyUSB and we where able to run our old script. By adding pyQT we where even able to run the GUI out of the box (it is still a bit heavy though as the GUI is not yet very optimized when receiving fast log informations). So we just made a “headless” version of the control software, launched it automatically with a udev rule when the radio is inserted and it was done!

We can power the Raspberry pi with a USB battery and we now have a small portable ground station for the Crazyflie. We have also proven that our PC software tools are easily portable to other architecture thanks to Python and all its libs. Currently the software is tested on Windows and Linux (x86 and ARM), but it should also work on MAC.

Raspberry PI controlling the Crazyflie

We just finished the top level BOM, test plan, fabrication files, etc… which mean everything required to order the pre-series of the Crazyflie. The pre-series  is meant to be last version before the first real production batch and the idea of it is so that we can test the manufacturing and verify that it is manufactured with good quality.

One of the last minute changes we made for the pre-series has been to power the motors directly from the battery instead of through the power management chip. This should gives us up to 8% more power and efficiency due to power management mosfet on-resistance losses. It should also reducing the voltage drop which causes disturbances to the other circuits. The only drawback is that the Crazyflie consume a bit more power when OFF, because of the leakage current through the motor mosfets, but it is still within acceptable limits (a full battery will still take more than 2 years to be depleted by our electronics). Also the battery can now be swapped/disconnected for storage as we have added a connector.

Our target is to have the Crazyflie DIY kit availible for X-mas. It is very tight and it will be hard but what would life be without challenges :-)