A month ago I bought a Chinese drone, remotely controlled by: SM-217-BKT v5 controller, which uses 2.4GCOB-1A transmitter. My idea was to drive a drone with its "memory", I mean:

  1. Start the drone and its controller.
  2. Drive it and set it back to exactly the same position as on start.

Then to read/decode commands and after that execute/transmit them back to the drone without my help.

For the moment I know how to transmit the commands. I need to know the pipe to pair nRF24 with the receiver of the drone, to know the commands, again to know the pipe of the controlling transmitter.

I've got plan B. To connect Arduino analog pins with the controller's joysticks, to analogRead them and than analogWrite them, but maybe this plan is not going ok.

Thanks for your time :) 1.EDIT Under word "pipe" i mean variable which holds receiver's unique pattern of filtrating its controller's commands from other 2.4Ghz waves 2.EDIT or maybe there is a plan C, to remove the board from my drone and to use motors and frame, and than control it with another nrf24

  • @MarkSmith I've added edit, that i mean under pipe – Teodor Hristov Dec 22 '17 at 17:35
  • Repeating the exact inputs from the controller wont result in the same path. – gre_gor Dec 22 '17 at 18:05
  • Why not? Can you give me an advice? – Teodor Hristov Dec 22 '17 at 20:56
  • 2
    one word ... wind – jsotola Dec 23 '17 at 4:26
  • 1
    you will need to monitor the speed of the rotors. any variation due to battery charge level will affect the flying speed and direction. – jsotola Dec 23 '17 at 19:42

On the nRF24L01 the communication is performed through "pipes", each with an address. That is unique to those chips and you cannot assume that some other random chip will do the same thing. As a general rule the nRF24L01 chips will only communicate with other nRF24L01 chips. You will need a SDR and an in-depth understanding of the workings of your current transmitter and it's communication scheme to even begin to think about doing what you want.

So... Go plan B.

  • Okay @Majenko according to you will it works?To use AnalogRead() to store the volts like data (0-1023) which comes and after that AnalogWrite() them (0-255)? – Teodor Hristov Dec 23 '17 at 10:06
  • You may want to use digipots, or even servos, rather than analogWrite. – Majenko Dec 23 '17 at 10:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.