PC-free for Crazyflie 2.0

Firmware/software/electronics/mechanics
matthew
Beginner
Posts: 8
Joined: Tue Mar 17, 2015 4:30 pm

PC-free for Crazyflie 2.0

Post by matthew »

The original crazyflie could use an E-sky RC Transmitter to run without a pc as described in this blog post: http://www.bitcraze.se/2013/04/pc-free- ... ntrollers/

And a recent blog post (http://www.bitcraze.se/2015/01/crazyfli ... unication/) states:
For the original Crazyflie there is an implementation of the E-sky RC transmitter protocol. This permits controlling the Crazyflie directly from an RC transmitter. It is technically possible to implement this protocol in the Crazyflie 2.0 nRF51, but it hasn’t been done yet.
What would it take to implement this on the Crazyflie 2? Also, it looks like the RC transmitter still has to go through the CrazyRadio for this to work. How difficult would it be to use an RC transmitter directly?
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: PC-free for Crazyflie 2.0

Post by tobias »

There are actually some choices but they all need more or less development.

Attach the Crazyradio PA to the expansion module/port of an RC transmitter.
The would requires some firmware development in the Crazyradio to convert the RC transmitter PWM signal to CRTP commander packet.

Implement the E-Sky transmitter protocol in the nRF51
Probably requires a bit more development then the above.

Using the deviation code and a nRF24L01 module
Deviation is a great project supporting a lot of RC models. They should have support for the Crazyflie but we have unfortunately not had the time to try it out. It also requires one to hack the RC transmitter, exchanging the normal module for a nRF24L01 one.
I found a list of their supported models and there you can actually find a hole bunch of modules which contains the nRF24L01 transceiver. This means it should be possible to use those transmitters together with the Crazyflie (with some nRF51 firmware development).

Attaching a RC receiver to the deck (expansion port) interface.
This would require firmware development to read the RC receiver signals and convert them to CRTP commander packets.

So all in all there are many possibilities but all requires development. It would probably be a lot of fun to do but unfortunately we don't have time to do it. Anyone up for it?!
matthew
Beginner
Posts: 8
Joined: Tue Mar 17, 2015 4:30 pm

Re: PC-free for Crazyflie 2.0

Post by matthew »

I'm up for some development, and I really want to fly my CF without a PC or phone to mess with. I'm just trying to figure out the best approach.
tobias wrote:Attach the Crazyradio PA to the expansion module/port of an RC transmitter.
The would requires some firmware development in the Crazyradio to convert the RC transmitter PWM signal to CRTP commander packet.
Wasn't this firmware development already done to make the first Crazyflie work with an RC transmitter?
tobias wrote:Implement the E-Sky transmitter protocol in the nRF51
Probably requires a bit more development then the above.
This seems like a good approach, but I don't know if I want to be tied to the E-Sky controller, maybe something more flexible?
tobias wrote:Using the deviation code and a nRF24L01 module
Deviation is a great project supporting a lot of RC models. They should have support for the Crazyflie but we have unfortunately not had the time to try it out. It also requires one to hack the RC transmitter, exchanging the normal module for a nRF24L01 one.
I found a list of their supported models and there you can actually find a hole bunch of modules which contains the nRF24L01 transceiver. This means it should be possible to use those transmitters together with the Crazyflie (with some nRF51 firmware development).
It looks like Deviation can use some RC remotes without any physical modifications. Why exactly is new firmware needed to communicate with these remotes? Couldn't you just program the nRF51 to speak whatever protocol the remote already uses? (Sorry if this is a silly question, this is my first exposure to RC development so I'm not very familiar with RC transmitter protocols.)
tobias wrote:Attaching a RC receiver to the deck (expansion port) interface.
This would require firmware development to read the RC receiver signals and convert them to CRTP commander packets.
This also sounds like a good option. Unfortunately it doesn't make use of the existing communication hardware on the Crazyflie, but it would be very flexible in the end.

Which of these options would be most useful to the rest of the community?
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: PC-free for Crazyflie 2.0

Post by tobias »

Wasn't this firmware development already done to make the first Crazyflie work with an RC transmitter?
Some of it is done but not all. The code to read PWM input from the RC transmitter is there but not the code that should convert it to CRTP commander packets and transmit them.
Working with the nRF24LU1+ on the Crazyradio is a bit harder though as there is no available JTAG interface. I however think this is the most flexible solution as you could attach (with a little hacking) the Crazyradio to most RC transmitters and then use the transmitter of your choice.
This seems like a good approach, but I don't know if I want to be tied to the E-Sky controller, maybe something more flexible?
Theoretically any of the models using a nRF24L01 in this list and has a transmitter could be implemented. Yet again would need protocol reverse engineering and implementation (which could be a lot of fun :) )
It looks like Deviation can use some RC remotes without any physical modifications. Why exactly is new firmware needed to communicate with these remotes? Couldn't you just program the nRF51 to speak whatever protocol the remote already uses? (Sorry if this is a silly question, this is my first exposure to RC development so I'm not very familiar with RC transmitter protocols.)
From what I understood no deVention transmitters come with nRF24L01 compatible transceivers so that has to be hacked. The devention project adds a lot of functionality as well when you use their firmware (I have not yet tested though).
This also sounds like a good option. Unfortunately it doesn't make use of the existing communication hardware on the Crazyflie, but it would be very flexible in the end.
Might be the easiest to implement but as you say won't use the existing transceiver and will add weight and power consumption.
matthew
Beginner
Posts: 8
Joined: Tue Mar 17, 2015 4:30 pm

Re: PC-free for Crazyflie 2.0

Post by matthew »

After some research, I am leaning towards buying a Spektrum DSMX transmitter (dx6i or dx7s) and putting one of their satellite receivers on my crazyflie. I can use the expansion header to connect it to the STM32 and then I'll have to add support in the firmware. I don't think it should be too difficult, and the advantage is being completely PC-free with a controller that can be used for many other applications.
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: PC-free for Crazyflie 2.0

Post by tobias »

I am leaning towards buying a Spektrum DSMX transmitter (dx6i or dx7s)
If you like hacking and tinkering I would get a transmitter which can run the deviationTx firmware. See my blog post about it. We will soon send them a pull request with support for the Crazyflie 2.0. Having a hackable transmitter opens up a lot of possibilities.
matthew
Beginner
Posts: 8
Joined: Tue Mar 17, 2015 4:30 pm

Re: PC-free for Crazyflie 2.0

Post by matthew »

tobias wrote:We will soon send them a pull request with support for the Crazyflie 2.0. Having a hackable transmitter opens up a lot of possibilities.
That is very tempting, if only because it's cheaper. When do you anticipate sending them a pull request? Or are your modifications available somewhere in the meantime?
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: PC-free for Crazyflie 2.0

Post by tobias »

Yes we will soon push the changes to a branch so it should be available in a couple of days. I'm not sure we will distribute any binaries though so one might have to compile it one selves until it is accepted by the deviation project.
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: PC-free for Crazyflie 2.0

Post by tobias »

The changes are now pushed to our fork on bitbucket. I have also uploaded the binary/filesystem that can be uploaded and used straight away based on v4.0.1.
matthew
Beginner
Posts: 8
Joined: Tue Mar 17, 2015 4:30 pm

Re: PC-free for Crazyflie 2.0

Post by matthew »

Awesome! I have a Devo 7E on it's way! I can't wait to try it out!
Post Reply