Category: Random stuff

So as usual at Bitcraze it’s been a busy week. We have made a complete makeover of the front page of our website. The main goal has been to communicate what Bitcraze and the Crazyflie is about, in an engaging way to our visitors. We have added sections where we try to explain common use cases for the Crazyfile and all the exciting areas it is used in. We have also added a “used by” section where we want to collect all the cool organisations that use the Crazyflie. Since we made the site open, send us a pull request if your organisation is missing or if you find anything else that you think should be improved. By the way, we got the first pull request for the site the other day :-) Awesome! Finally we have updated the team member page, so now you can see what we look like and what we do.

We hope you like it! We love feedback, please share your thoughts.

Aside from being busy at the office we’ve also had a busy (and awesome) weekend at FOSDEM! When we go to conferences we normally try to either talk or exhibit something. But for FOSDEM we just wanted to take it easy and meet people, have interesting conversions and listen great talks. We had a great time and we’re definitely coming back next year. We were especially excited to catch Fred’s lightningtalk on the Crazyflie 2.0 and AdaCore’s talk on re-implementing the Crazyflie 2.0 firmware using SPARK and Ravenscar. The videos from the talks still aren’t available, but when they are we’ll make sure to let you know. Below are some images from our weekend at FOSDEM.


At last Fred published the slides for his talk:

If you are one of the lucky ones getting a Crazyflie for Christmas we are happy to tell you there is a new and fresh “getting started” guide to help you get going :-).

Before going on holiday me and Kristoffer published an updated version for the “getting started” part of the website which we are very happy about. Besides making a new edition of the “Assembling” part we have also added “Installing on a smartphone”, “Installing on a computer” and “Flying”.

We are hoping that these new additions for the “Getting started” section will be a big help for everybody who just got a Crazyflie for Christmas and feel unsure about how to start. Also this is an additional way to help people finding out if the Crazyflie is right for them, who otherwise might feel uncertain about buying one or not.

If you have any comments or suggestions about the new “Getting started” please feel free to contribute we are always open to ideas about improvements and tweaks.


It’s been a hectic time here att Bitcraze before Christmas with new decks coming out and the ongoing re-design of the website among others. So we are all taking some time off during the holidays but we will be answering email and support issues. However it might take a bit longer time since we will be occupied with drinking swedish glögg, french wine and stuffing ourselves with chocolate.


After a hectic week we’re finally ready to put some new decks into production! A couple of months ago we selected 4 deck prototypes to try to bring to production before Christmas: WiFi, GPS, BigQuad and the Buzzer. After working hard on them during the last months, we’re now ready to release the Buzzer and BigQuad decks. Last week we ordered the first batches and the product pages and descriptions are being written this week. We’ll push out more information about the boards as it gets available, so stay tuned!

Below is a few quick shots of the latest prototypes:

So what happened to the GPS and the WiFi decks? The latest prototypes are working, but there’s still some minor issues. So instead of moving to production with the current design, we’re doing one last prototype iteration and launching the boards early next year.

On a related note we’ve been working hard together with Seeedstudio to get some more Crazyflie 2.0s into stock before Christmas. Not so surprisingly we’re not the only ones rushing to produce. But thanks to lots of efforts from Seeedstudios side the Crazyflie 2.0 will be back in stock in a couple of days!

cf2 front rosetteIt’s that time of year again, time for Christmas shopping. This year we thought that we would plan ahead and produce more units before Christmas to meet the demand. It was a great plan, but there were some hick-ups on the way. Originally the plan was that a fresh batch of Crazyflie 2.0’s would be rolling out of production right around now and being available in the Seeedstudio bazaar. But unfortunately we’ve only managed to get a small part of the batch out. And since demand is high before Christmas they were all sold out immediately. But we’re working hard to get the remaining part of the batch ready. The new time-plan is for the units to be finished around Christmas, which means they might not have time to ship to customers and be ready to get unwrapped by happy geeks around the world. But there’s still a chance to get a great present for your fellow geek (or maybe your own inner geek), check out our list of local distributors.

On another note we’re having some issues with shipment of spare batteries from China. New shipping and customs regulations have made it very expensive to ship spare batteries that are not included in products. Normally several orders of products are bundled together when doing the shipping/customs from Seeedstudio, but each battery now has to be handled separately with it’s own declaration and paperwork .We’re trying to find a way around this issue, but until then the spare battery at Seeedstudio will be listed as out of stock. If anyone has any tips on how to solve the issue, please let us know.

A we wrote before, we are working on a Ultra-Wide-Band-based local positioning system for the Crazyflie. We are doing slow progress but progress anyway and we wanted to do a small update on it.

We are at our second revision on the anchors, they are now based on an STM32F072 CPU which has the advantage to have an USB bootloader which will useful to update them on the field. We are trying to think about either or not we should implement more communication like Ethernet to the anchor. Our main use-case is to get the localisation in the Crazyflie but we are aware of use-case where the localisation is required on the ground instead. If you have any input on the design of Ultra-Wide-Band anchors please let us know.

We have also made a 3D printed support for attaching the anchors to the ceiling or ground:


As for the localisation, we are able to range from the copter to the anchors and we are logging the range using the Crazyflie 2.0 log subsystem. We have tested logging data in a csv file and running a Particle filter to find the copter position, more about the filter in a future post.  So far it looks good but we need a nicer way to visualize the data. The way we are taking is to learn and use ROS.

ROS is a system used by researcher in robotics and it implements a lot of things like visualization and state of the art algorithm. Wolfgang from USC has written a ROS driver for Crazyflie and it is about time we are getting into ROS. It is a learning process for us but the plan is to implement and test the UWB local positioning system on top of ROS, which will allow us to use its components and reduce development time.

On Thursday 2015-11-12 our web-servers were down for a few hours. Some unexpected updates in our hosing service made our storage solution stop. Unfortunately we had to restore our data from the latest backups to get the system back up and therefore lost all “new” data between 2:00 and 16:00 CET 2015-11-12. The services that were affected are the forum, the blog and the wiki. Any posts, new accounts or other user data that has been added during that period were lost. If your post/account/comment is lost, please add it again.

We are sorry about this and are working on finding a solution to avoid this in the future.

The last week has been really busy here at Bitcraze. We are working on regular bugfixes, support and new Decks to be release as soon as possible. But at the same time, we have moved our office in a new building (still in Malmö, Sweden) which is a lot of work, even more for us who have a lot of random hardware lying around. We left Minc, the incubator that hosted us since our beginning as full-time company. We where really happy at Minc, it has been a great place to work and evolve. We thought it was time to move to get closer to other hardware companies and to have a bit more space.

We are now at The Ground. It is a co-working space for startups that hosts some very cool companies. We are really happy to have moved there and are just started to settle-in. We now have a lab separated from the office (which is a first for Bitcraze, we are a bit anxious to be so far from the soldering iron but lets see how it works :-). The great news is that we are going to use the basement as an autonomous-flight-lab to develop the DWM-1000-based local positioning system. I am sure we will have more news on that in later posts.

Another important change: we now have a new member in our team! Björn, who arrived last week, will look, among other things, on refreshing the website and all our communication. The current website state is fully made by hardware engineer and we thought it should be shaped-up a bit.



Seeedstudio is our manufacturer and our main distributor. Last week Mandy from Seeedstudio came and visited us after being at Maker faire Rome. She did a very interesting talk at Minc, our incubator, about manufacturing in China and how Seeedstudio helps with agile manufacturing. The interest was high here in Malmo, it is not often someone from China comes to Sweden and talks about manufacturing. Usually you would have to travel to China to find out more about that.

If you would like to know more about what she talked about the slides are available on Slideshare:


Last week I was at Lua Workshop 2015 in Stockholm, it was a very interesting conference with lots of interesting people. I also had the opportunity to see the office of King, the host for the workshop, and it gives a lot of idea for fun stuff and toys we could have in our office :-)

On a side note we are organizing a presentation in our office in Malmö the 22nd of October: Mandy from Seeedstudio is visiting us and will talk about manufacturing in China. If you want to come you can register.


Now, back to Lua. Lua is a dynamic programming language that is small, fast and meant to be embedded within other programs. Currently is is used a lot in video games and a bit on servers. It has also be used in deeply embedded system with the eLua project, for example Seeeds sells a Lua-preloaded ESP8266 wifi module. One of our plan for Crazyflie 2.0 is to be able to write deck drivers in Lua.

With Crazyflie 2.0 we are aiming to make a research-grade flying platform more accessible and versatile, hence the expansion capabilities (with decks) and the new API we are writing for it. Lua would fit well in this goal. It would allow to very quicky script and test a device driver. As a bonus Lua being safe (ie. the virtual machine cannot crash the system), there would be no risk of crashing the copter with those kind of driver. The architecture would look something like that:


Though Crazyflie Lua integration has not been prioritized so far, we think it is something that would be interesting to play with it in the future. If anyone is interested into testing and helping out please reach us on Github or on the forum.

Last Thursday we went to LTH (University of Lund), to the Robotics department, to make some measurements on the ultra wide band (UWB) positioning system we are working on. The idea was to use one of their robots to move a Crazyflie around along well known path, and at the same time record as much sensor data as possible. This would give us data that we can crunch offline.

We placed four anchors around the robot and our positioning expansion deck on the Crazyflie. The Crazyflie collected the data from the positioning deck as well as its internal sensors and streamed the data it over USB to an external computer for storage. We collected the following data:

  • Distance to the anchors (raw measurements)
  • Air pressure at the anchors
  • Air pressure at the Crazyflie
  • Accelerometers
  • Gyros

The logs from the robot will give us the real position of the Crazyflie as well as the anchors, and from that we will be able to evaluate the performance of algorithms that use the sensors to figure out the position.

The dataset will be shared with the researchers at Lunds university, they have some interesting ideas they want to try out.

Next step is to crunch the data…

For more information on our UWB positioning project, see Firmware and dwm 1000 nodes