![]() ![]() The remote hits the correct RF channel for the quadcopter, but I can't figure out how he understands that, since the Status register (on the MISO channel) stays the same on the last search packets. So after many transmissions with different RF channels, something weird happens. In that phase, the remote sends basically the same data over and over, and only changes the RF channel. The default address length for the two chips is 5 bytes and since the remote control does not change it, the length should stay 5 bytes. So the initial Tx (and Rx) address is 5 bytes: 0xCCCCCCCCCC. On the Config phase, some registers are being set, like the pipe number for Rx and the address, RF channel and more. What I have find out is it has 3 main stages: Config, Search/Bind and Command, where in between there are some tweaks that the MCU performs, as I described below. So since I have found (surprisingly) very little information on this matter online, I put some probes between the remote control's MPU and it's BK2423 and used Saleae Logic Analyzer to read the communication running on the SPI bus between the two. So I got this cheap quadcopter, actually 3 different models ( this, this and this, and the principle is the same with all three)Īll models use the BK2423 radio, which should be air-compatible with the NRF24l01 - which is what I have. TL DR - I can't figure out why I'm failing to replicate the Quadcopter's remote control with, say, Arduino and NRF24L01 after eavesdropping the SPI commands on the remote control.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |