goebish / nrf24_multipro

nRF24L01 multi-protocol RC transmitter
GNU General Public License v3.0
472 stars 195 forks source link

Eachine E016H support #46

Closed BLeibbrand closed 3 years ago

BLeibbrand commented 5 years ago

Hi all, Thanks for the wonderfull work. I love flying with my Taranis X9D+ and IRX4+ TX Module in combination with an Eachine 010.

I bougth an Eachine E016H which looks similar to the E010 but with more prop protection. I have kids and dogs so protection is needed. But sofar I'm not ably to get the combination working. Which protocol do need to use, or do you have to reverse engineer it first?

OpenTX Companion - 2.2.3 Taranis FW:opentx-x9d+ version 2.2.3 (ae5ac05b) IRX4+ - original (no flashing yet. Need to get USB - FTDI connector)

Eachine E016H https://www.banggood.com/Eachine-E016H-Mini-Altitude-Hold-Headless-Mode-8mins-Flight-Time-2_4G-RC-Drone-quadcopter-RTF-p-1379560.html eachine e016h

goebish commented 5 years ago

If it doesn't work with any (sub)protocols with DeviationTX or MultiModule then it needs to be reverse engineered. Can you open the transmitter and quad and tell me which ICs they're using ?

BLeibbrand commented 5 years ago

Hello Goebish,

Thanks for the quick response. I did some home work. I hope this helps.

Yours Sincerely,

Bert Leibbrand <>< M +31 (0)6 27 74 60 88 mailto:bert.leibbrand@itri.nl bert.leibbrand@itri.nl

If it doesn't work with any (sub)protocols with DeviationTX or MultiModule then it needs to be reverse engineered. Can you open the transmitter and quad and tell me which ICs they're using ? —

goebish commented 5 years ago

I see nothing. If you want to post pictures I suppose you've to use github, you can't insert them in an email.

BLeibbrand commented 5 years ago

PAN163CX Productspecificatie.docx PAN163CX Productspecificatie.pdf SchematicsforESP32.pdf 20181222_002009 20181216_222324

BLeibbrand commented 5 years ago

top view ![Uploading bottom view.png…]()

goebish commented 5 years ago

Ok, that's a PAN163CX (MCU with built-in XN297L transceiver), it can be reverse engineered, but not with a logic analyzer. If someone dropships one to me I can take a look.

BLeibbrand commented 5 years ago

Hello Goebish, I just had time to unscrew the transmitter. The transmitter pictures. The chip: XNS1042CV 20190209_143407 20190209_142847 20190209_142858 20190209_143104 20190209_143232 extra info about transmitters with the XNS chip: https://www.google.com/imgres?imgurl=http%3A%2F%2Fimg.over-blog-kiwi.com%2F0%2F55%2F43%2F29%2F20181129%2Fob_463a88_xwqz238505.jpg&imgrefurl=http%3A%2F%2Fchezcyril.over-blog.com%2F2018%2F11%2Fmini-drone-pliant-volcano-w606-16-un-drone-qui-se-pilote-grace-a-un-gant-et-au-mouvement-de-la-main-gyroscope.html&docid=ztPRrdg6XvaYsM&tbnid=nXG7m4h00eZ-eM%3A&vet=10ahUKEwjnhpD3467gAhWCPFAKHdPHDGEQMwgoKAAwAA..i&w=1205&h=544&bih=642&biw=1396&q=XNS%201042CV&ved=0ahUKEwjnhpD3467gAhWCPFAKHdPHDGEQMwgoKAAwAA&iact=mrc&uact=8

http://chezcyril.over-blog.com/2018/11/mini-drone-pliant-volcano-w606-16-un-drone-qui-se-pilote-grace-a-un-gant-et-au-mouvement-de-la-main-gyroscope.html

goebish commented 5 years ago

As I said, I believe it can be reverse engineered but I don't have one. If someone wants to dropship one to me send me an email @gmail.com

goebish commented 5 years ago

https://www.youtube.com/watch?v=GXEfK9D_90Y 😜

BLeibbrand commented 5 years ago

Great !! Which steps do I have to take to get it into my Taranis / iRange?

goebish commented 5 years ago

I've to cleanup my code then I'll contact @pascallanger so he can add the protocol to the 4-in-1 module firmware.

BLeibbrand commented 5 years ago

What do you think of the indoor capabilities?

goebish commented 5 years ago

It's fun but quickly boring ;) It should be perfect for a beginner or a kid as throttle is easy to manage.

BLeibbrand commented 5 years ago

Did you also enable the three fly modes?

goebish commented 5 years ago

Fly mode is always set to "expert" then you can set lower endpoints on your transmitter if required.

pascallanger commented 5 years ago

New Multiprotocol version 1.2.1.26 available on GitHub: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module

Thanks to Goebish the E016H is now supported: Protocol E01X (45) Subprotocol E016H (2) Channels: CH5=STOP CH6=FLIP CH8=HEADLESS CH9=RTH Please test and report.

Pascal

goebish commented 5 years ago

Thank you! @BLeibbrand please report once you've tested.

goebish commented 5 years ago

@pascallanger I think there's a mistake here: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/04ed613ca3bd4bcda53457504adeca7aa9053168/Multiprotocol/E01X_nrf24l01.ino#L269 it should be XN297_SetTXAddr for E016H and HS6200_SetTXAddr for E012 & E015

pascallanger commented 5 years ago

Thanks! copy and paste issue... Corrected in v1.2.1.27.

BLeibbrand commented 5 years ago

Hello Goebish and Pascal,

I have soldered the connectors in my 4in1 and have to wait untill Monday to pickup my USB-TTL to get the bootloader installed. As soon as I have tested it I will inform you.

Yours Sincerely,

BLeibbrand commented 5 years ago

The ST-LINK V2 arrived today. No luck in connecting to the 4in1. Any help for the cable connection would be fine. image And 4in1 GND, TX, RX

pascallanger commented 5 years ago

Why a st-link? you need a FTDI like the one in the documentation: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Compiling_STM32.md#tools-required Have you tried to plug the USB to your PC? The latest modules are shipped with the bootloader flashed.

goebish commented 5 years ago

The STLink connects to a SWD interface (swclk, swdio, gnd), if you want connect to UART (gnd, rx, tx) you need an USB to UART adapter (FTDI dongle) instead. I'm not a 4-in-1 expert, you'd better ask on rcgroups https://www.rcgroups.com/forums/showthread.php?2165676-DIY-Multiprotocol-TX-Module/

BLeibbrand commented 5 years ago

I already tried the USB: image It's a 4in1 from june 2018. So I'll get a USB-UART and after that we can continu.

pascallanger commented 5 years ago

Yep no bootloader installed. Make sure to purchase the right FTDI which can run at 3.3v as mentionned on the github doc.

BLeibbrand commented 5 years ago

Hello guys, The FTDI finally arrived. I have loaded the version with the bootloader. The USB is now recognized as com25.
OpenTX is version Companion is 2.2.3 (7 jan 2019) image I can only see the first two sub protocols. image In the Taranis: Mode: MULT E01X E012 or E015 (no E016) Module Status V1.2.1.29 What is missing / what should I do? image

goebish commented 5 years ago

Seems OpenTX Companion doesn't allow the selection of a custom protocol # On the transmitter, select Custom protocol, with options 45 & 2: multi

BLeibbrand commented 5 years ago

It still doesn't bind

goebish commented 5 years ago

I see there's a mistake in MULTI source code, here's a quick fix, in E01X_nrf24l01.ino, replace line 229: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/04ed613ca3bd4bcda53457504adeca7aa9053168/Multiprotocol/E01X_nrf24l01.ino#L229 with XN297_WritePayload(packet, packet_length); (that will break E012 & E015, but E016H should work)

Then upload the firmware again to your module

cc @pascallanger

BLeibbrand commented 5 years ago

image Still only blinking drone. I'm using Custom 45 & 2 Bind and bind on power up

both lines (229 and 268) changed.

Funny: If i turn the blinking drone upside down, it will blink very vast. Maybe as warning to be horizontal before binding or at least before calibrate.

BLeibbrand commented 5 years ago

I hope you have a next step to try.

goebish commented 5 years ago

Sorry, revert the change on line 268, I wasn't looking at the last version of the file, it should be if (sub_protocol == E016H)

goebish commented 5 years ago

Your last error in the Arduino IDE is normal

BLeibbrand commented 5 years ago

OK. Now it does bind. If you give it about 65% throttle the rotors spin (smilar to the spin with the standard transmitter just after binding with the throttle UP and DOWN). (After some time it does sometimes take of but I'm sure why). SF will disarm SB will blink 2x

goebish commented 5 years ago

I don't understand your last message, does it fly ?

BLeibbrand commented 5 years ago

Left and Right seem to be opposite. Yes, it does fly as soon as you move the throttle a bit down and up again like 80% to 70% and up again. The spinning only starts above the 60-70% below that no motors.

goebish commented 5 years ago

Ok that's normal (same as stock controller). You can reverse Aileron and/or Rudder direction in the mixer (set weights to -100%).

BLeibbrand commented 5 years ago

So the drone is flying. Attitude hold is good. Drifting to the right. (trim complete to the left to make it stable) Headless and Stop are working. RTH seems to fly to the right. No space for flip at this moment

goebish commented 5 years ago

if it drifts put it on a level surface then set both sticks to bottom corners (I don't remember which ones) to recalibrate the accelerometer. Or add some subtrim for this channel in the output screen.

pascallanger commented 5 years ago

E016 should be fixed. Can you download the latest version from github and try?

BLeibbrand commented 5 years ago

image After reversing and trimming the drones is stable. The drone also has these features:

goebish commented 5 years ago

Ok, I'll check if calibration requires an extra flag. Is one key take off really required as pushing throttle stick just does the same ?

BLeibbrand commented 5 years ago

One Key Take off would be fine to give new users an easy way to get the drone up without the up-down a bit - up sequence needed at this moment. So I would say: Nice to have.

Calibration seems to be needed as the trim and the strange RTH direction might be caused by it.

BLeibbrand commented 5 years ago

Can you see if this drone also supports other flight modes (like acro) because as you mentioned before. If you are able to fly a drone this might becomes boring when you have some flying space.

goebish commented 5 years ago

One key take off would be a mess to implement, and not every controller has a momentary switch, honestly that's not a big deal if you've to push throttle instead of a button (this quad is very gentle ;)) Don't expect hidden features (acro mode...) on this kind of quad, it would be too heavy for acro anyway, it would require bigger propellers and motors, that's just a machine for beginners/kids ;) I found the calibration flag, I'm implementing it.

goebish commented 5 years ago

@pascallanger added calibration flag: https://github.com/DeviationTX/deviation/pull/844/files

BLeibbrand commented 5 years ago

I have uploaded the newer version (1.2.1.30); It is not recognized in the Taranis: Mode: MULT E01X E012 or E015 (no E016) So I still use the Custom 45 & 2 I have removed the reverses as they are fixed. I only have to glue some components... The rest is for tomorrow.

goebish commented 5 years ago

That's normal, E016 will only appear in the menu with the next OpenTX update.

BLeibbrand commented 5 years ago

Funny to see my other Eachine (E010 mini) is in an other group MJQX instead of E01X. image

pascallanger commented 5 years ago

Calibration available in the new version.