I was getting a little bit of noise in the cleanflight transmitter tab - every few seconds my throttle, yaw, pitch and roll values would jump around a bit even though the controls on the ground station were not touched. For the sbus signal inverter I was using the 3.3v from the esp32 module. To add a 5 volt level to my system had to go external because there appears to be no way to get the esp32 module or the cc3d flight controller board to source +5volts. I added the +5v from a usb to serial dongle and now the sbus interface has had no errors in the half hour I observed. I include a link to video of the setup as it current is controlling a drone simulator on the cleanflight transmitter tab page.
https://drive.google.com/open?id=16zrWSgeVZqAOGRBdouZs-SjIfwVNKjcI
One nasty that did occur as I was writing the sbus code for the esp32 module. I had the code ported from the esp8266 to the esp32 and it looked to be just about running, I was testing it with my desktop linux sbus_monitor program and noticed that about 5% of packets were showing up bad. The esp8255 D1mini did not show any packet loss. When I plugged the sbus into the cc3d there were no received packets (and no way to find out why apparently). Went back to the sbus_monitor program to debug packet loss and discovered the following in the table shown below the text.
The esp32 module programmed with a sbus baud rate of 102,000 does not show any packet loss as far as I can see. Interestingly the cc3d sbus connection does show sbus packet confusion at 101,000 and 103,000, the port does not register any activity at 100,000 or 104,000 baud. Which is to say that the cc3d is much more sensitive to baud rate than my desktop. This problem would have been VERY complicated to debug without the linux sbus_monitor program. cleanflight doesn't seem to have much in the line of port packet monitoring or diagnostics (except for the usb port).
As was mentioned earlier the esp8266 modules appeared to have no problem with the 100,000 non-standard baud rate generation and I don't know if other esp32 modules are off by the same amount.
SBUS Serial Port Buad Rate ESP32 Port | Packet Loss Percentage to sbus_monitor program | Packet Loss to CC3D SBUS port |
95,000 | 100% | 100% |
98,000 | ~10% | 100% |
100,000 | ~5% | 100% |
101,000 | ~1% | ~~20% |
102,000 | ~0% | ~0% |
103,000 | ~1% | ~~20% |
104,000 | ~5% | 100% |
105,000 | ~10% | 100% |
110,000 | 100% | 100% |
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.