Page 1 of 1

firmware understanding -layout schematic understandings

Posted: Tue Aug 10, 2021 9:12 pm
by RyanMco
Hi guys / experts of crazyflie .
im new comer to crazyflie just bought recently 6 crazyflie boards 2.0 from crazyflie and I think will continue purchasing them but need to understand how they work , in otherwords how the crazyflie firmware works!

I'm using crazyflie 2.0 and Im trying really to understand in high level how firmware that we compile it on stm32 work?
I have board of the crazyflie .
I have also nano camer that I can mount it on the crazyflie for taking photos of the environment.
I have also flowdeck device that I amount it on the crazyflie board.

So what's confusing me how the crazyflie in high level works? attaching what I understand but still confused about my understands so I really hope if there is anyone can explain the flowchart of how the crazyflie firmware works from getting setpoint x y z till the power distributed to the motors - i.e from end to end ...

Here I'm attaching what I understand but really confused :
https://ibb.co/mBXB335

what's the protocol that the stm32 recieve timestamp by how? I mean we need to adjust stm32 timestamp that's found in firmware ... like we need to adjust the timestamp as GPS time .. so how stm32 microcontroller adjust its timestamp? if it's by GPS by which protocol?

Need to understand how firmware of crazyflie works ... would be appreciated to explain the most important component that stm32 use from instant of getting deterministic location x y z till motor distribution .. like I believe stabilizer is an important module ..so appreciated for explanation about most important modules thats crazyflie firmware consider them as important.

what's the protocol that slam communicate by it with stm32?

what's the protocol the debugger arm kit working for debugging the stm32 of crazyflie?

what's the type of protocol that the camera work(wifi type? ) in order to communicate with stm32 or with PC where I see photos?



Appreciate to explain in brief all the most components that firmware consider them as important in order to implicitly understand how firmware of
crazyflie works and in order to understand from the time that I send to crazyflie x y z location by python script till the motor distribution to all four motors..


Appreciated for a good explanation / clarifications!

Re: firmware understanding -layout schematic understandings

Posted: Wed Aug 11, 2021 8:20 am
by kimberly
This forum thread is kind of all over the place with the issues that you are having... so this will be very difficult for us to answer or help you out with all of this.

First of all we can't help you with the camera and GPS (unless you mean positioning in general) as we do not have these in our normal code base. Slam is also not something we support ourselves by default.

It seems that you have been struggling with understanding the stabilizer module for a long time, and from your picture it seems that you still have not grasped the concept. Maybe it would be good to watch the 2020 bitcraze EPFL lectures (part 1 and part 2 ), as especially part 2 explains the whole stabilizer structure. Once you are done with that, go to the second hour of 2021 lecture to know more about the commander structure.. Also it is a matter of reading the stabilizer module documentation, and eventually dive into the code yourselves by tracing all the functions in the stabilizer_module.c . Try to go through it in a structured way, back to back, and see if there is anybody in your lab also working with quadcopters that is able to explain this as well.


After that, please separate the remaining questions you have, and try to address only one issue or question per forum-thread. Like the timestamp thing, only make one forum thread for that. It will enable us to help you better, or assign your issues to the experts within Bitcraze community.