Hello Fellow Yuneec Pilot!
Join our free Yuneec community and remove this annoying banner!
Sign up

St16 v1.

To avoid unnecessary error messages for ST10 I would need the following default value array:
0x55 0x55 0x26 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0F 0x61 0x15 0x10 0x02 0x00 0x28
(This array is without placeholder for CRC8 at the end)

Attached a telemetry from Q500/ST10 that shows possible values for status bytes.

br HE
 

Attachments

  • Telemetry_00006.zip
    31.3 KB · Views: 9
Are There Any Other Drones that work with the Yuneec, I want to Build a custom drone from scratch and use a Yuneec st16 but haven't got the slightest clue on how to bind them, I haven't started the project yet, but I will post progress pics here if i do manage to get them binded together, I love the look of the ST16 with the screen, but that's a expensive $150 paperweight if i can't bind it. To be clear i don't have a Yuneec Drone or controller, I started the project yesterday and am looking at parts. Any help would be much appreciated. Thanks in advance.

-Jensen.
 
Are There Any Other Drones that work with the Yuneec, I want to Build a custom drone from scratch and use a Yuneec st16 but haven't got the slightest clue on how to bind them, I haven't started the project yet, but I will post progress pics here if i do manage to get them binded together, I love the look of the ST16 with the screen, but that's a expensive $150 paperweight if i can't bind it. To be clear i don't have a Yuneec Drone or controller, I started the project yesterday and am looking at parts. Any help would be much appreciated. Thanks in advance.

-Jensen.

The receiver and communication protocol used by Yuneec are not useable on other drones as-is. There is information on this forum about using a microcontroller to convert the communication protocol of the Yuneec receiver into other formats that could be used in a custom drone (such as PPM or SBUS). This does require obtaining a Yuneec receiver which isn't super cheap. Someone who is better at programming than I could probably fork the code for one of the popular flight controller firmware (such as cleanflight) and add in the Yuneec serial protocol so that an extra converter microcontroller wouldn't be necessary. I have looked into it briefly but I think it is beyond my capabilities.

But that just allows you to control a custom drone, not receive video.

The real "problem" using the ST16 for a custom drone is that there aren't very many camera that will transmit video back from the drone and display it on the ST16. Those cameras are not super adaptable to custom drones and are pretty expensive. There has been talk in this thread and another one on this forum about using a raspberry pi to emulate a CGO3 camera and therefore make a cheap camera system that is viewable on the ST16, but I personally haven't had a lot of success with getting something usable yet. To me, without being able to view the live video on the ST16 it isn't really worth using on a custom drone. It is bigger than needed (if not getting video) and isn't that great of quality.

The Yuneec ST10 controller communicate with the same receiver as the ST16, so the converter micro controller method can work with that transmitter also. The ST10 can display video from MK58 video transmitter. The MK58 is meant to transmit video from a gopro but really can transmit any analog video signal. I'm not sure how easy it is to get an MK58 video transmitter any more but I think that make the ST10 much more useful for custom drone hacking.

In general, I have spent a lot of time hacking around trying to use the ST16 and ST10 for other purposes but is mostly because I have them already and/or found cheap parts. They are older technology and a pretty closed system. I personally wouldn't invest much money in them if I was starting from scratch.

Dylan
 
  • Like
Reactions: h-elsner
The receiver and communication protocol used by Yuneec are not useable on other drones as-is. There is information on this forum about using a microcontroller to convert the communication protocol of the Yuneec receiver into other formats that could be used in a custom drone (such as PPM or SBUS). This does require obtaining a Yuneec receiver which isn't super cheap. Someone who is better at programming than I could probably fork the code for one of the popular flight controller firmware (such as cleanflight) and add in the Yuneec serial protocol so that an extra converter microcontroller wouldn't be necessary. I have looked into it briefly but I think it is beyond my capabilities.

But that just allows you to control a custom drone, not receive video.

The real "problem" using the ST16 for a custom drone is that there aren't very many camera that will transmit video back from the drone and display it on the ST16. Those cameras are not super adaptable to custom drones and are pretty expensive. There has been talk in this thread and another one on this forum about using a raspberry pi to emulate a CGO3 camera and therefore make a cheap camera system that is viewable on the ST16, but I personally haven't had a lot of success with getting something usable yet. To me, without being able to view the live video on the ST16 it isn't really worth using on a custom drone. It is bigger than needed (if not getting video) and isn't that great of quality.

The Yuneec ST10 controller communicate with the same receiver as the ST16, so the converter micro controller method can work with that transmitter also. The ST10 can display video from MK58 video transmitter. The MK58 is meant to transmit video from a gopro but really can transmit any analog video signal. I'm not sure how easy it is to get an MK58 video transmitter any more but I think that make the ST10 much more useful for custom drone hacking.

In general, I have spent a lot of time hacking around trying to use the ST16 and ST10 for other purposes but is mostly because I have them already and/or found cheap parts. They are older technology and a pretty closed system. I personally wouldn't invest much money in them if I was starting from scratch.

Dylan
Thank you for the honest response I am not sure if there would be room for a rasberry pi on the drone, so that is a shame, i did have a read through most of the replies and messages here, and i just was hoping maybe somebody found a way. At this point a Nintendo Switch Or Steam Deck would be better than a ST16 for this purpose? If there are any new developments please let me know! I'm still keen on using a Yuneec Controller But i guess that will have to be another build later on, thank you!
 
Hi
Whats the status on this and were there any codebase I can jump in an help with
 
Here is a project to control a car or something else with ST10/ST16 using Raspberry Pi Zero. The proramm sends back telemetry to fake a drone to the controller to avoid error messages pop up
There is also a test tool to check the communication with SR24.
The doc section contains a lot of information about the message structure.

br HE
 
  • Like
Reactions: amplifier
FYI, to try to get the SR24 receiver firmware I tried capturing the serial data sent to the SR24 while doing the FC firmware update to v1.35 from the Typhoon H GUI. No data was sent to the receiver during that upgrade. Maybe there just wasn't a receiver update in this version.
 
Here is a project to control a car or something else with ST10/ST16 using Raspberry Pi Zero. The proramm sends back telemetry to fake a drone to the controller to avoid error messages pop up
There is also a test tool to check the communication with SR24.
The doc section contains a lot of information about the message structure.

br HE

Oof, Pascal 😅

But still very useful repository, thanks for your effort!
 
Pascal looks old but is easy to understand. C code looks like a dog rolled on the keyboard.:)
Lazarus is a RAD tool wich can compile the same code on MAC, Windows, LINUX and Raspi and many other platforms/CPUs.

However, the docu may be useful.

br HE
 
Hello good Day this code work bind but not sbus out esp


Since you only need to bind the receiver and transmitter once, try commenting out the call to the bind function lines 197-200 (see below). There is supposed to be a button on the pin to put it into bind mode. I'm not sure if you added the button or not.

1703135080776.png
 
  • Like
Reactions: romucifer
Since you only need to bind the receiver and transmitter once, try commenting out the call to the bind function lines 197-200 (see below). There is supposed to be a button on the pin to put it into bind mode. I'm not sure if you added the button or not.

View attachment 30040
hello thanks for the quick response
I tested the sbus and ppm code
ppm on esp8266
sbus on esp32 because it is impossible to compile it on esp8266
the sbus code the bind works fine but no sbus output (I will comment the bind code to see if the sbus output works)
the ppm code the ppm output function with 7 output channels but the bind does not work
I will keep you informed of the tests
a big thank you to you for your research on the yuneec code
 
hello and happy new year to you all
I commented on the lines of code for the bind
the bind has stopped working
but I am still not out of sbus could you help me please thank you
the problem is that the program compiles so I cannot find the error which causes the sbus not to work
the ppm program works but unfortunately I need more than 7 vooe to run my rc boat under ardurover
 
hello and happy new year to you all
I commented on the lines of code for the bind
the bind has stopped working
but I am still not out of sbus could you help me please thank you
the problem is that the program compiles so I cannot find the error which causes the sbus not to work
the ppm program works but unfortunately I need more than 7 vooe to run my rc boat under ardurover

I will try to look into this. Can you tell me a little about your setup? It sounds like you are hooking the ESP32 up to some sort of flight controller, can you tell me which one? Maybe some pictures.
 
I will try to look into this. Can you tell me a little about your setup? It sounds like you are hooking the ESP32 up to some sort of flight controller, can you tell me which one? Maybe some pictures.

It has been so long since I messed with this that I'm having a hard time just getting a system that works to test my own code on. I have lots of misc flight controllers, but they are all so old I'm having a hard time finding the documentation and/or firmware I need to set them up. I am currently trying to set up ardupilot on a BeagleBone Blue board to test out the my ESP32 SBUS code, but that is a new board to me and I'm having problems getting that installed also. I will keep working on it, but I'm not sure when I will have something setup to test.

However, when I used this code before I had the ESP32 plugged into a DJI Naza flight controller which I think technically uses the DBUS protocol and it SBUS compatible. My best guess until I can get a test setup going, assuming there isn't something dumb wrong with my code (which there very well might be), is that your problem is either:
a. ) something to do with the inverted SBUS signal. Maybe the port you are plugging it into on your flight controller isn't inverted? On some flight controllers you can change the inversion in the software or you might have to add an external inverter. Or you could try changing line 190 of my code to:
sbusout.begin(SBUS_RX_PIN, SBUS_TX_PIN, false);

or

b.) the problem might be the 3.3V logic output from from the ESP32 isn't compatible with your controller if it is expecting a 5V logic signal. If that is the case then there are external voltage level converters that you could find or make.
 
hello and happy new year to you all
I commented on the lines of code for the bind
the bind has stopped working
but I am still not out of sbus could you help me please thank you
the problem is that the program compiles so I cannot find the error which causes the sbus not to work
the ppm program works but unfortunately I need more than 7 vooe to run my rc boat under ardurover

Ok. I'm pretty sure I figured out the problem. The version of code I uploaded is intended to both output SBUS and control the CGO3 gimbal. The problem is that the code keeps sending the CGO3 initialization code repeatedly until it gets a response from the gimbal. If the gimbal isn't hooked up, it never continues onto reading the yuneec RX and outputting SBUS. I need to clean up the code make it more configurable, but to get it working you can comment out the CGO3 initialization lines 208-213:
// while (CGO3Serial.available()<1) {
// for (int i=0;i<5;i=i+1) {
// updateCGO3msg(initpacket, 0, 0,0, 0 );
// CGO3Serial.write(initpacket,13);
// }
// }

and also lines 243 and 244 for good measure:
//updateCGO3msg(outputmsg, tempchan[AUX1], tempchan[AUX2], tempchan[TILTMODESW], tempchan[AUX3]);
//CGO3Serial.write(outputmsg,outputmsg[1]+10);

With those lines commented out SBUS is working fine for me hooked up to a old OMNIBUS F3 Pro FC even without any sort of voltage level shifter.

Dylan
 
Ok. I'm pretty sure I figured out the problem. The version of code I uploaded is intended to both output SBUS and control the CGO3 gimbal. The problem is that the code keeps sending the CGO3 initialization code repeatedly until it gets a response from the gimbal. If the gimbal isn't hooked up, it never continues onto reading the yuneec RX and outputting SBUS. I need to clean up the code make it more configurable, but to get it working you can comment out the CGO3 initialization lines 208-213:
// while (CGO3Serial.available()<1) {
// for (int i=0;i<5;i=i+1) {
// updateCGO3msg(initpacket, 0, 0,0, 0 );
// CGO3Serial.write(initpacket,13);
// }
// }

and also lines 243 and 244 for good measure:
//updateCGO3msg(outputmsg, tempchan[AUX1], tempchan[AUX2], tempchan[TILTMODESW], tempchan[AUX3]);
//CGO3Serial.write(outputmsg,outputmsg[1]+10);

With those lines commented out SBUS is working fine for me hooked up to a old OMNIBUS F3 Pro FC even without any sort of voltage level shifter.

Dylan
hello it works perfectly now I noticed in the code the loop for the cgo3 gimbal but I thought that there was a delay to activate the gimbal and that after this delay the request to activate the gimbal stops by itself I made a bad mistake code analysis
a big thank you to you for the help now with my pixhawk in rover 4.4.0 it works perfectly with the 16 channels a big thank you
 
hello it works perfectly now I noticed in the code the loop for the cgo3 gimbal but I thought that there was a delay to activate the gimbal and that after this delay the request to activate the gimbal stops by itself I made a bad mistake code analysis
a big thank you to you for the help now with my pixhawk in rover 4.4.0 it works perfectly with the 16 channels a big thank you


Glad it is working for you now.

I want to get into playing with ardurover on this BeagleBone Blue board, but I'm still working on the basic installation and setup. I don't know how you configure Ardurover to use SBUS but I see that in the code for ardupilot the ST24 protocol is listed in there, so it seems likely that there is someway to configure Ardurover to take the Yuneec receiver input without needing an ESP32 to convert it. See:
 

New Posts

Members online

No members online now.

Forum statistics

Threads
20,955
Messages
241,599
Members
27,284
Latest member
csandoval