SBUS2-Telemetry
SBUS2-Telemetry copied to clipboard
Telemetry not working with 3 sensor
Hi,
I use your library to make some sensor ( Temperature, GPS,...). if i plug only 2 sensors on the receiver with different slot everything is working perfectly.
But if i plug 3 sensors the telemetry on esp32 stop working, i have to stop one oh the three sensor to make it working again
Is there a limitation or something wich can explain these issue ?
Thanks Julien
Hi Julien,
interesting issue. Never thought about using multiple ESP32 (or Atmega) Sensors.
i have an idea whats causing the issue: the Sensors (the third) could trigger the Start/End of a SBUS(2) Frame in the other Sensors. That would cause many problems.
If i'am right the same should happen with a original Futaba Sensor. i have to check the code and try to get the same behavior.
Could yo tell me with Sensors you use on which slot and which ESP? Example: ESP32 No.1 -> temp sensor Slot2, Voltage Sensor Slot3 ESP32 No.2 -> GPS Slot 8 ESP32 No3. -> .....
Do the ESP32 anything? Are they crashing? Error Messages?
Hi, Thanks a lot for your answer ESP32 1 => Slot 1 rpm sensor ESP32 2 => Slot 3 rpm sensor ESP32 3 => Slot 5 rpm sensor
I made a loop wich increase the RPM, i can see when the telemetry stop working. When i plug the third sensor the telemetry stop working immediatly. there is no message or crach on ESP32.
I'll test this evening ig i have the same problem if i plug a futaba sensor
Thanks Julien
I did more test The configuration is the following Powerbox Spark Switch pro => slot 1 to 5 Powerbox Mercury => slot 8 to 23 ESP32-1 RPM => slot 6 ESP32-2 RPM => slot 7
Case 1 Powerbox Spark Switch pro + Mercury + ESP32-1 => Working
Case 2 Powerbox Spark Switch pro + Mercury + ESP32-2 => Working
Case 3 Powerbox Spark Switch pro + Mercury + ESP32-2 + ESP32-2 => Powerbox Sensor working but not the ESP32.
With other telemetry sensor i can only plug one ESP32
Thanks Julien
Dear Julien,
thank you for testing. I have 3 ESP32 and i will build up the same test an try to find the problem.
I think it could be a Problem with the 1k resistor between RX and TX of every ESP32 on the SBUS. But i can only check it with an oscilloscope.
Cold you try another test (before i finish my test build)? ESP32-1 with 2,3,4,5 RPM Sensors on SLOT 1 to 6 ESP32-2 with just one RPM Sensor on SLOT 7
You said "the Telemetry stop working". So my understanding is, that all three RPM Sensors stop working? This would really point to a problem with the 1k resistor.
Hi, I'll test the new case this evening I don't know if it could affect the SBUS2 Library but i have a 2.4 resistor between the TX/RX Pin
Thanks Julien
hi, 2k4 Resistor is ok. I had problems with a R7003SB. This one only worked with 1k. Thats why i recommend 1k.
Maybe its better to use a diode.
This is strange, the test with powerbox and esp32 has been done with a 7003sb on my plane
I'll try with a 7008 Julien
Hi, I do your test ESP32-1 with 2,3,4,5 RPM Sensors on SLOT 1 to 6 ESP32-2 with just one RPM Sensor on SLOT 7
It's working with the 7008sb but not with the 7003sb, only one sensor work with the 7003
You said "the Telemetry stop working". So my understanding is, that all three RPM Sensors stop working? This would really point to a problem with the 1k resistor. => Yes all three RPM stop working
Do you think we need to lower the value of the resistor ?
Thanks Julien
Ok
i really think it's the value of the Resistor. You could try to increase it when using multiple ESP32 Today i will have a look on the scope.
The perfect solution would be a one wire Serial with switching RX/TX on one Pin.
So i got a View on the Scope and got back to the old Problem with 1k on R7003
- The Resistor Value has to be small enough that the TX Pin can Pull High Signal on the SBUS (when transmitting Telemetry)
- The Resistor Value should be as big as possible that the Servo Data is not pulled down to much (when receiving SBUS Frame and other telemetry)
for the R7008 4k7 and 1k was ok on my test for the R7003 1k was ok on my test
But, when we connect multiple ESP32 on the same SBUS the Resistor Values are not valid any more
with three ESP32 (each with 1k) the Pull Down Resitance is 1k/3 = 333R -> thats much to low and the pull up resistance i still 1k for each ESP32 to transmit his slot. But it has to work against the other 2 ESP32 with 500R
so at the End: The resistor Solution is not the Best Did you have some diodes there? You should add a diode between TX and the 1k. Anode to TX, Cathode to Resistor.
TX------>|----1k-----SBUS
RX-------------------SBUS
The Diode should have a low Forward Voltage Drop. I have tested it with a BAV21 and a high Drop (1V Voltage Drop) and it's working.
Hi,
Thanks a lot for your expertise, for resuming i have to change my 2.4k resistor for a 1k and i have to add a diode. I need to place an order to test all this.
For the diode i found the 1N4148 which have a drop down of 0.7 or maybe a schottky diode with a lower drop down, I need to check a reference for a schottky.
Thanks a lot, I'll let you know when i'll have everything for testing
Other question what kind of oscilloscope do you use ?
Thanks Julien
The 1N4148 should be fine
Maybe you can also order a Schottkey with a high reverse Voltage (more than 10V). But this is something about try an error.
I use a PicoScope 2405A. But the cheap PicoScope 2204A is also fine. But 2 Channel are not enough for my tasks.
Did you notice Issue #34 ?
Hi,
I order all the stuff, i hope i'll receive next week. I had to find a solution because in my club we try to do ESP32 hardware which can work with Futaba (1k on TX) and Jeti (Jeti need a 2.4k resistor on the RX pin)
For the arduino core I am in 1.0.4, the 1.0.6 is available i hope the bug is not present in this version
Thanks a lot Julien
The solution with diode should also work with with 2k4.
i have the feeling that the 1.0.6 is more stable. I had a lot of issues with 1.0.5 and the are fixed with 1.0.6
p.s. withe Jeti Telemetry you mean EXBUS? Not EX? until now, i cant find a good solution for ESP32 with EX Telemetry because the ESP32 cant handle 9 Data Bits
Yes ex bus I use this library https://github.com/Sepp62/JetiExBus Julien
any news here?
Hi,Not yet, i'am in HallydayI'll let you KnowlesThanksJulien
@magnum3131
could you try the new Version of the library? Some issues are solved (nothing real important) and a new Feature is coded: reading Sensor Values of all SBUS Sensors on the Bus
and you have some ESP32 on the SBUS and a Powerbox Spark Switch pro and Powerbox Mercury
Hi Éric,Of course i can, What kind of informations do you need ? Thanks JulienLe 23 juil. 2021 14:56, ericlangel @.***> a écrit : @magnum3131 could you try the new Version of my library? Some issues are solved (nothing real important) and a new Feature is coded: reading Sensor Values of all SBUS Sensors on the Bus and you have some ESP32 on the SBUS and a Powerbox Spark Switch pro and Powerbox Mercury
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.
i have attached the new library and an Example sketch.
please change the SBUS2 Pins to your used SBUS2 Pins. leave Pin 16 and 17 unconnected -> that is another topic
Now use my SBUS2 Library as usual. You will get some prints for Sensor Slot 0 to 7. You can extend it to Slot31 The Output on console should show the value used for the emulated RPM Sensor And Slot0 (RX Voltage) and your other Sensors with their Slot Number
If that is working, we can go to the next Topic.
@magnum3131
i have a new Library Version which should work with 1k resistor and multiple Sensors (without diode or Voltage loss) the TX Pin is just active (OUTPUT) when sending Telemetry Data. After that its disabled (INPUT/Floating).
It's not fully tested, but the first Test looks good
Please tell me if you want to test?
Hi Eric, Yes i want to test, if it's working i don't need to change my hardware i have already done I'll be able to test it this weekend Thanks a lot Julien Le mardi 3 août 2021, 10:50:01 UTC+2, ericlangel @.***> a écrit :
@magnum3131
i have a new Library Version which should work with 1k resistor and multiple Sensors (without diode or Voltage loss) the TX Pin is just active (OUTPUT) when sending Telemetry Data. After that its disabled (INPUT/Floating).
It's not fully tested, but the first Test looks good
Please tell me if you want to test?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
[edit] File removed
here the update for explanation: the example sketch also sends sbus2 Frames on Serial2 -> so leave Pin 16 and 17 unconnected or use your sketch and just update the sources
Thanks a lot, I have to modify it because i use Pin 16&17 on my ESP32 Julien Le mardi 3 août 2021, 15:48:19 UTC+2, ericlangel @.***> a écrit :
SBUS2.zip
here the update for explanation: the example sketch also sends sbus2 Frames on Serial2 -> so leave Pin 16 and 17 unconnected or use your sketch and just update the sources
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
ok, you could erase all Serial2 code in the example sketch
or use your old sketch and just update the library sources
tonight i realized that the zip file i gave you wont work.
because Change TX to Float and back to TX is hardcoded to GPIO 26 i will change it and upload again
OK thanksJulien Le 4 août 2021 08:33, ericlangel @.***> a écrit : tonight i realized that the zip file i gave you wont work. because Change TX to Float and back to TX is hardcoded to GPIO 26 i will change it and upload again
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.
Hi Eric, I found the line with pinMatrixOutDetach and pinMatrixOutAttach, i adapted it to my pin. I have the same problem with your library, it's only working with 2 ESP32 and some time with only one The error are : Error! -> rx_fifo_len = 128 Value = F, 0, 4, 60, 58, F8, 7, 96, BC, 1, 10, 80, 0, 4, 20, 0, 1, 8, 40, 0, 2, 10, 80, 0, 34, 0, 0, 0, 0, 0, 0, 4, 0, 4, 61, 1, FC, 3, 60, 1, 79, 3, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, A4, 3, 40, 3F, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, [HEX]Error! -> rx_fifo_len = 128 Value = F, 0, 4, 60, 58, F8, 7, 96, BC, 1, 10, 80, 0, 4, 20, 0, 1, 8, 40, 0, 2, 10, 80, 0, 34, 0, 0, 0, 0, 0, 0, 4, 0, 4, 61, 1, FC, 3, 60, 1, 79, 3, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, A4, 3, 40, 3F, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, [HEX]Error! -> rx_fifo_len = 128 Value = F, 0, 4, 60, 58, F8, 7, 96, BC, 1, 10, 80, 0, 4, 20, 0, 1, 8, 40, 0, 2, 10, 80, 0, 34, 0, 0, 0, 0, 0, 0, 4, 0, 4, 61, 1, FC, 3, 60, 1, 79, 3, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, A4, 3, 40, 3F, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, [HEX]Error! -> rx_fifo_len = 128 Value = F, 0, 4, 60, 58, F8, 7, 96, BC, 1, 10, 80, 0, 4, 20, 0, 1, 8, 40, 0, 2, 10, 80, 0, 34, 0, 0, 0, 0, 0, 0, 4, 0, 4, 61, 1, FC, 3, 60, 1, 79, 3, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, A4, 3, 40, 3F, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, [HEX]Error! -> rx_fifo_len = 128 Value = F, 0, 4, 60, 58, F8, 7, 96, BC, 1, 10, 80, 0, 4, 20, 0, 1, 8, 40, 0, 2, 10, 80, 0, 34, 0, 0, 0, 0, 0, 0, 4, 0, 4, 61, 1, FC, 3, 60, 1, 79, 3, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, A4, 3, 40, 3F, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, [HEX]Error! -> rx_fifo_len = 128 Value = F, 0, 4, 60, 58, F8, 7, 96, BC, 1, 10, 80, 0, 4, 20, 0, 1, 8, 40, 0, 2, 10, 80, 0, 34, 0, 0, 0, 0, 0, 0, 4, 0, 4, 61, 1, FC, 3, 60, 1, 79, 3, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, A4, 3, 40, 3F, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6C, 3, 40, 3F, 0, 0, 0, 0, E8, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, [HEX] ThanksJulien Le mercredi 4 août 2021, 08:33:27 UTC+2, ericlangel @.***> a écrit :
tonight i realized that the zip file i gave you wont work.
because Change TX to Float and back to TX is hardcoded to GPIO 26 i will change it and upload again
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
hi julien,
i forgot to upload the new version. There are so many changes the last weeks.
I have no plan which version u are using
i upload as soon as possible
Hi,Thanks a lot. I'll wait the new version for testing with multiple esp32JulienLe 9 août 2021 15:47, BrushlessPower @.***> a écrit : hi julien, i forgot to upload the new version. There are so many changes the last weeks. I have no plan which version u are using i upload as soon as possible
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.