How to Use S-BUS Ports
12Next >
20710 42 2019-12-22
Uploading and Loding Picture ...(0/1)
o(^-^)o
RoboMaster S1
DJI RoboMaster Team

Hong Kong
Offline

How to Use S-BUS Ports
  
* In this article, the Futaba T14SG remote controller and R6303SB receiver are used as examples.
  
1.jpg
  
1. S-BUS Ports - The RoboMaster S1 has multiple S-BUS ports. Users can control the movements of an S1’s chassis and gimbal with a remote controller or development board that supports the S-BUS protocol. The respective definitions of the S-BUS ports are signal, 5V, and GND.

  
2.png


  
2. Connection Method - Connect the R6303SB receiver to an S-BUS port on the S1. Power on the S1 and remote controller, then press and hold the linking button on the receiver to automatically link the receiver to the remote controller, enabling remote control of the S1.
  
3.png
  
  
3. Channel Mapping Settings
  
Futaba remote controllers allow users to map channels according to their operation habits.
  
  
Channel Mapping Descriptions:
  
  
   
Channel
   
Modes

Gimbal+Chassis Modes
Free Mode (gimbal is not controllable)
ch1
Chassis moves left and right
Chassis moves left and right
ch2
Chassis moves forward and backward
Chassis moves forward and backward
ch3
Gimbal moves up and down
N/A
ch4
[url=]Gimabal rotates left and right[/url]
Chassis rotates   left and right
ch5
Chassis Movement Speed Control:
   
Fast (+100)
   
Medium (0)
   
Slow (-100)
ch6
Switch Chassis Modes:
   
Gimbal+Chassis Modes (+100)
   
Free Mode (-100)
[url=]ch7[/url]
Chassis Control Switch:
   
Control Chassis (+100)
   
Free Chassis (-100)
  
  
  
Enter LINKAGE MENU > FUNCTION and map the desired channels to joysticks or levers. For example, you can map ch5 to the remote controller joystick to control the movement speed of the chassis, or map ch6 to the SB joystick to switch between Gimbal+Chassis Modes, and Free mode.
  
4.png
  
  
  
5.png

  

6.png


  
  
You can use the remote controller directly without connecting it to the app to control the S1 after completing channel mapping.
  
Note: Currently, only ch1-7 are available in the S1, and the definitions of channels are fixed, allowing users to operate the S1 without further configurations.
   



  
  

2019-12-22
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

VERY INTERESTING! Can you show us a video of the ability to control the RoboMaster directly with the Futaba R/C?  How do you find turret control with the Futaba R/C joystick? Is it accurate and sensitive enough?
2019-12-23
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
United States
Offline

I tried using a FrSky R-XSR (ACCST version) with my S1. It didn't respond to any radio inputs.
I imagine the problem is the exact protocol used. The R-XSR receives 16 channels.
I figure I have a couple options to try to make this work. One is to see if the R-XSR can be configured to use the same protocol as the Futaba S-Bus or to use a microcontroller to convert protocols.
I'm trying to find details on the protocol used by the Futaba R6303SB receiver. If anyone knows of a good description of this protocol, I hope they share it.
2019-12-24
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

Duane Degn Posted at 12-24 10:35
I tried using a FrSky R-XSR (ACCST version) with my S1. It didn't respond to any radio inputs.
I imagine the problem is the exact protocol used. The R-XSR receives 16 channels.
I figure I have a couple options to try to make this work. One is to see if the R-XSR can be configured to use the same protocol as the Futaba S-Bus or to use a microcontroller to convert protocols.

Futaba has developed the FASST communications protocol. This protocol is unique to Futaba products and is not compatible with any other standard such as ACCST.

Futaba R6303SB FASST-2.4GHz Receiver User Manual

I definitely want to try this, but my main R/C ontroller is a FlySky TH9X. Fortunately, I discovered the Jumper JP4IN1 Multi-Protocol Radio Transmitter Module which plugs in to my TH9X and can communicate with the R6303SB Receiver using the FASST  protocol.

More to follow...
2019-12-24
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
United States
Offline

rhoude57 - YUL Posted at 12-24 12:52
Futaba has developed the FASST communications protocol. This protocol is unique to Futaba products and is not compatible with any other standard such as ACCST.

Futaba R6303SB FASST-2.4GHz Receiver User Manual

Is the compatibility issue with the radio signals or the UARTs?
I was under the impression both the Futaba S-Bus and FrSky S-Bus use similar data protocols for the UART interface. I'm hoping an 8 channel FrSky radio might output a stream of bits the S1 could understand.
I'd love to see a logic analyzer capture of the R6303SB output stream.
If I can learn how the data is formatted, I could use a microcontroller to convert between formats.
2019-12-24
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

Duane Degn Posted at 12-24 13:53
Is the compatibility issue with the radio signals or the UARTs?
I was under the impression both the Futaba S-Bus and FrSky S-Bus use similar data protocols for the UART interface. I'm hoping an 8 channel FrSky radio might output a stream of bits the S1 could understand.
I'd love to see a logic analyzer capture of the R6303SB output stream.

My bet is that the Futaba S-Bus protocol, sometimes referred to as D-Bus, is not the same as the S-Bus signal produced by the FrSky R/C Receiver. From my research, it appears the Futaba version of the S-Bus protocol adds a channel identifier in the data stream to avoid cross-channel communications.

The only other receiver I know to be compatible with the RoboMaster S1 S-Bus protocol is the DJI DT7/DR16 Controller/Receiver pair.

DJI DT7 & DR6 Specification
2019-12-24
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
United States
Offline

rhoude57 - YUL Posted at 12-24 14:02
My bet is that the Futaba S-Bus protocol, sometimes referred to as D-Bus, is not the same as the S-Bus signal produced by the FrSky R/C Receiver. From my research, it appears the Futaba version of the S-Bus protocol adds a channel identifier in the data stream to avoid cross-channel communications.

The only other receiver I know to be compatible with the RoboMaster S1 S-Bus protocol is the DJI DT7/DR16 Controller/Receiver pair.

I'm still trying to track down information on just how the data needs to be formatted. Here are some links which I think are promising.
Futaba S-Bus Library on Github
Thread on RCGroups about S-BUS Packet Generator Code
Similar Topic on Arduino Forum

If anyone gets this working with an Arduino or FrSky receiver, I hope they let us know about it.
2019-12-24
Use props
fk6
lvl.1
Germany
Offline

I tried to connect an r-xsr today as well and was not successful. I tried both ACCESS and ACCST D16 radio protocol, both in 8,16 and 24 channel mode. This should make no difference to the bot because the receiver outpus s-bus in every case but I just wanted to make sure. As of now it looks like only futaba sbus is supported.
The difference between futaba sbus and the sbus compatibility modes of other vendors are some subtle timing details, I really hope DJI makes SBUS interpretation code more forgiving thus supporting a bigger range of controllers in the future.
2019-12-26
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
United States
Offline

fk6 Posted at 12-26 06:41
I tried to connect an r-xsr today as well and was not successful. I tried both ACCESS and ACCST D16 radio protocol, both in 8,16 and 24 channel mode. This should make no difference to the bot because the receiver outpus s-bus in every case but I just wanted to make sure. As of now it looks like only futaba sbus is supported.
The difference between futaba sbus and the sbus compatibility modes of other vendors are some subtle timing details, I really hope DJI makes SBUS interpretation code more forgiving thus supporting a bigger range of controllers in the future.

I'm still hoping to find information about the exact timing details expected. I cheap microcontroller could be used to convert a FrSky protocol (or even normal multi-channel pulses) into appropriately timed bits. It shouldn't be hard to add a small Arduino clone to allow almost any radio system to work with the S1.

I have a neighbor with lots of RC gear. Maybe he has a suitable Futaba radio. I have several old Futaba radios but they're much too old to have S-Bus incorporated in them. If I could borrow a suitable radio, I like to think I could program an emulator in a microcontroller.

"I really hope DJI makes SBUS interpretation code more forgiving thus supporting a bigger range of controllers in the future."
Agreed!
2019-12-26
Use props
fk6
lvl.1
Germany
Offline

I dug a lil in some open source SBUS parsers and found this here:

* FrSky X8R
* time between frames: 6ms.
* time to send frame: 3ms.
*
* Futaba R6208SB/R6303SB
* time between frames: 11ms.
* time to send frame: 3ms.

This could be exactly what prevents the bot to interpret frsky sbus.
If some DJI devs lurk around in this forum, here is a sbus implementation which works with 99% of all sbus compatible receivers:
http s://github.com/betaflight/betaflight/blob/master/src/main/rx/sbus.c
2019-12-26
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
United States
Offline

fk6 Posted at 12-26 10:30
I dug a lil in some open source SBUS parsers and found this here:

* FrSky X8R

Back in June I wrote a program for the Propeller microcontroller which receives S-Bus data as input. In an attempt to better understand the protocol, I recorded data sent on the bus.

Here's a screen shot of one of these captures. (Ignore the S.Port line. That's the FrSky Smart Port used for telemetry.)



The file can be downloaded from my Dropbox.

Link to logic analyzer file in Dropbox.

The message timing matches what you list. The traces I observed show messages being sent every 9ms. The message consists of 25 bytes. The channel data is stored in 11 bits. The 11 bits are arranged in the message in a very non-intuitive (at least for me) order.

The baud appears to be 100Kbps. One start bit, even parity and one stop bit.

Does anyone know if the Futaba S-Bus uses the same baud? If the time between frames is the only thing which needs to be changed, that would be pretty easy to program.

If I had a similar logic analyzer output from a compatible Futaba receiver, I think I could write a protocol converter.

I think the needed info is available in several open source projects but I'm having trouble finding it. I may start loading some example programs and see if the S1 responds to the output from the programs.
2019-12-26
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

Duane Degn Posted at 12-26 14:27
Back in June I wrote a program for the Propeller microcontroller which receives S-Bus data as input. In an attempt to better understand the protocol, I recorded data sent on the bus.

Here's a screen shot of one of these captures. (Ignore the S.Port line. That's the FrSky Smart Port used for telemetry.)

Here is a fairly good definition of the  Futaba S-Bus protocol, IMHO. The repository comments provide a link to a S-Bus Protocol Library.

Also, some notes resulting from reverse engineering the Futaba S-Bus data stream...




2019-12-26
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
United States
Offline

rhoude57 - YUL Posted at 12-26 19:08
Here is a fairly good definition of the  Futaba S-Bus protocol, IMHO. The repository comments provide a link to a S-Bus Protocol Library.

Also, some notes resulting from reverse engineering the Futaba S-Bus data stream...

Thanks for those links. There's a lot of great information there. Unfortunately the link to the logic analyzer traces is broken. I think there may be enough info for me to write a protocol translator.

The Futaba protocol appears almost identical to the FrSky protocol. The Futaba protocol uses two stop bits instead of one and the interval between messages is longer on the Futaba protocol.

I'm not sure if I'll be able to port any translator to an Arduino since I do not know how to modify the UART to add an extra stop bit. I can change the assembly driver on the Propeller microcontroller so I'm sure I can modify the UART on that microcontroller.

Thanks again for the info. I'll get to work programming and see if I can get this to work.
2019-12-27
Use props
fans65fede7d
lvl.1
Flight distance : 10883 ft
Malaysia
Offline

Yeay! got it working with a cheap frsky 8ch clone.
it's using frsky D8 protocol. my remote is jumper T16.
I thought it was not working at first. but it will only move
ch7 is 100%
have not tried my RXSR or XM+ (D16 ACCST)

muzz
2020-1-2
Use props
fans65fede7d
lvl.1
Flight distance : 10883 ft
Malaysia
Offline

above was my first post. i attached some pics but did not show up.
2020-1-2
Use props
fans65fede7d
lvl.1
Flight distance : 10883 ft
Malaysia
Offline

2020-1-2
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

fans65fede7d Posted at 1-2 05:00
Yeay! got it working with a cheap frsky 8ch clone.
it's using frsky D8 protocol. my remote is jumper T16.
I thought it was not working at first. but it will only move

That's interesting! I'll have to try that with my Multi-Protocol Transmitter Module...
2020-1-5
Use props
MarkusXL
lvl.4
United States
Offline

This controller topic is interesting.  Using my phone sux.  Sadly, I’m out because my only available alternate controller is an old Spektrum DX7.   No S-Bus.
(It’s still a great radio for R/C though!)

Also, I remind new readers that not using the App means no video, no combat or other App games or actions like photos.

And that stuff is kind of fun so I continue looking for a solution that includes using the App. There are some 3rd party gadgets that look promising, but I’m not sure my phone can handle it.
2020-1-11
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

I performed an interesting experiment this morning with the DJI DT7 Remote Control unit and DR16 Receiver. I found this kit on eBay as an Open Box "like new" offering.

The experiment turned out to be quite simple...
1) Plug the DR16 D-Bus cable directly into the RMS1 S-Bus port. Even the DR16 indexed connector was a perfect match for the RMS1 Interface Module connector;
2) Power the RMS1;
3) Power the DT7 R/C unit. The DT7 and DR16 had already been paired, it appears.
4) Drive away...

The following video shows how things turned out... Very cool!



Next step... The DT7 channels are not my favourite configuration, so I will endeavor to re-map the channels, For example, the DT7 operates in a Mode 1 R/C layout. I prefer a Mode 2 layout.

Story to follow...

2020-1-14
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

fans65fede7d Posted at 1-2 05:01
above was my first post. i attached some pics but did not show up.

It appears you achieved the first step of two to insert pictures in DJI Forum posts, that is to Upload pictures to the DJI media repository.

Once that is done, you must click on the "Picture" icon. The editor will allow you to pick from those pictures you have uploaded and insert them into your post/reply.
2020-1-14
Use props
Napalm78
lvl.2
France
Offline

So, 1 million $ question, do FR Sky receiver, particularly X8R, work with Robomaster or not ? I'm interested in using this one because of my taranis controller and 16 channel, but is it even possible ? thanks !!
2020-1-20
Use props
jjmcc2
lvl.1
Flight distance : 1030554 ft
United States
Offline

I have a RadioLink AT9s along with RD9S receiver working with my Robomaster S1.  I've tried just about every combination of model types and found that CAR or Basicareo seem to work best.  Just follow   the setting at the top of this page.  Also set your receiver for SBUS. I do have one issue and that is getting the Turret to stop, it wants to go all the way or or down when I move it.   Thanks rhoude57 - YUL for all your testing.   
2020-1-21
Use props
albertr
lvl.3
United States
Offline

rhoude57 - YUL Posted at 1-14 09:27
I performed an interesting experiment this morning with the DJI DT7 Remote Control unit and DR16 Receiver. I found this kit on eBay as an Open Box "like new" offering.

The experiment turned out to be quite simple...

@rhoude57 - YUL
The DT7 controller doesn't work for me (S1 has a recent S-BUS firmware). No response to any of the sticks whatsoever. In the youtube video you are talking about "slave mode"... Do you have a second remote controller onnected via master-slave cable or you mean something else? Which positions of S1 & S2 switches you are using? I think I've tried all combinations of S1/S2 positions, but maybe I missed the one that works?

-albertr
2020-1-30
Use props
albertr
lvl.3
United States
Offline

albertr Posted at 1-30 07:07
The DT7 controller doesn't work for me (S1 has a recent S-BUS firmware). No response to any of the sticks whatsoever. In the youtube video you are talking about "slave mode"... Do you have a second remote controller linked via master-slave cable or you mean something else? Which positions of S1 & S2 switches you are using? I think I've tried all combinations of S1/S2 positions, but maybe I missed one that works?

-albertr

Does S-BUS port need to be explicitly enabled in some settings inside the Robomaster app?

-albertr
2020-1-30
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 1-30 07:07
The DT7 controller doesn't work for me (S1 has a recent S-BUS firmware). No response to any of the sticks whatsoever. In the youtube video you are talking about "slave mode"... Do you have a second remote controller onnected via master-slave cable or you mean something else? Which positions of S1 & S2 switches you are using? I think I've tried all combinations of S1/S2 positions, but maybe I missed the one that works?

-albertr

The DT7 has two control switches, S2 is located on the left and S1 on the right as per the DT7/DR16 User Manual.



In essence, S2 controls the Turret and S1 controls the Chassis.

- With S2 in the "OFF" position and S1 in the "GPS" position provides complete Turret and Chassis control.
- For both switches, the controls will continue to work only when the previous switch position was "OFF" or "GPS".

- With S2 in the "HL" position and S1 in the "AZTH" positions, all controles are disabled.
- If switches S2 or S1 are moved in the "CL" or middle "ATTI" settings from the "HL" or low "ATTI" settings, controls remain disabled.

In all cases, all other RMS1 controls remain accessible to the RoboMaster app, including shooting and launching "Custom Skills" and "Audio" functions.
2020-1-30
Use props
albertr
lvl.3
United States
Offline

So that's the default S1/S2 switches combination I've started with. Tried all possible combinations already to no avail. S1 has f/w 00.05.0046 (which supposedly has S-BUS suport), DT7 has f/w 1.0.2.26, which is the latest available to general public. I'm totally lost as of why I'm getting different results comparing to @rhoude57 - YUL ... One thing to notice is that I have hit plates disconnected, but I still can control S1 from the Robomaster app, so I assume it should be no different with the RC remote? Bummer...

-albertr
2020-1-30
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 1-30 07:08
Does S-BUS port need to be explicitly enabled in some settings inside the Robomaster app?

-albertr

No. I simply connected the DR16 Receiver's D-Bus 3-wire connector (cable included with the DT7/DR16 kit) to the RMS1 S-Bus port. When the RMS1 powered up, it automatically recognized the channels and signals.

Right now, I find the Turret azimuth channel to cause too much of a reaction. I am trying to locate a version of the DT7 RC Assistant code and USB driver that will work on a Windows 10 PC. That way, I hope to be able to "tune down" the turret azimuth signal.

2020-1-30
Use props
rhoude57 - YUL
lvl.4
Canada
Offline

albertr Posted at 1-30 18:39
So that's the default S1/S2 switches combination I've started with. Tried all possible combinations already to no avail. S1 has f/w 00.05.0046 (which supposedly has S-BUS suport), DT7 has f/w 1.0.2.26, which is the latest available to general public. I'm totally lost as of why I'm getting different results comparing to @rhoude57 - YUL ... One thing to notice is that I have hit plates disconnected, but I still can control S1 from the Robomaster app, so I assume it should be no different with the RC remote? Bummer...

-albertr

Was your DT7/DR16 straight out of the box?

If not, perhaps someone has reconfigured the DT7 channels and they do not match what the RMS1 excpects.
2020-1-30
Use props
albertr
lvl.3
United States
Offline

I have re-flashed DT7 with firmware 1.0.2.26, set it to Mode 1 and re-calibrated sticks. Also re-paired DT7 with DR16. Still no cigar.

I didn't find any way to re-map DT7/DR16 channels in DJI FantomRC app for macosx, only options available are: to select Mode 1 or Mode 2 and re-calibrate.

-albertr
2020-1-31
Use props
albertr
lvl.3
United States
Offline

Can someone from DJI confirm that DT7/DR16 is "officially" supposed to work with RM S1 via S-BUS?

-albertr
2020-1-31
Use props
albertr
lvl.3
United States
Offline

Ok, so I went ahead and got another  (brand new) DT7/DR16 combo and tried it again to control my son's RMS1 and it ... didn't work again. I even reconnected all hit plates, but it didn't make any difference.

So I'm utterly confused what is different that rhoude57 - YUL has it working and I just cannot. Would love to hear from anyone else who has it working with DT7.

-albertr
2020-2-4
Use props
albertr
lvl.3
United States
Offline

Ok, so I gave up on trying to make DT7/DR16 work with RMS1. Sending my DT7 back to DJI for refund tomorrow.

-albertr
2020-2-7
Use props
Duane Degn
Second Officer
Flight distance : 622234 ft
United States
Offline

albertr Posted at 2-7 16:21
Ok, so I gave up on trying to make DT7/DR16 work with RMS1. Sending my DT7 back to DJI for refund tomorrow.

-albertr

Were you able to set channel 7 to 100% as described by fans65fede7d?
I don't know how to do this on your radio but apparently it's needed.
2020-2-19
Use props
albertr
lvl.3
United States
Offline

Duane Degn Posted at 2-19 08:13
Were you able to set channel 7 to 100% as described by fans65fede7d?
I don't know how to do this on your radio but apparently it's needed.

I'm not sure which control channel 7 is mapped to. Apparently, rhoude57 -YUL didn't need to do anything with his DT7/DR16. I've tried all sticks to their max/min positions to no avail.

-albertr
2020-2-21
Use props
ajjwncyahoo.com
lvl.1
United States
Offline

rhoude57 - YUL Posted at 1-14 09:27
I performed an interesting experiment this morning with the DJI DT7 Remote Control unit and DR16 Receiver. I found this kit on eBay as an Open Box "like new" offering.

The experiment turned out to be quite simple...

Thanks for sharing!
2020-3-16
Use props
Montfrooij
Captain
Flight distance : 2560453 ft
  • >>>
Netherlands
Offline

Very detailed info!
2020-4-10
Use props
Napalm78
lvl.2
France
Offline

Ok, I'm still trying to use a frsky R-XSR on the robomaster, still not working ...

Do I need the S-BUS signal to be not-inverted or the direct inverted signal from the receiver is ok ?
2020-5-31
Use props
A J
Captain
Flight distance : 13864580 ft
  • >>>
United Kingdom
Offline

Great info - thanks for sharing
2020-7-4
Use props
kukltaur
lvl.1

Croatia
Offline

Hello. Thanks to the instructions in this thread I have managed to set up an arduino mkr1000 as a controller
for robomaster. The sketch and a simple description are located here:
    https://github.com/aKukolja/arduinomaster/blob/master/robomaster_sbus_test.ino
I'm looking to set up the arduino as a server which will execute request and move robomaster around.
For now i managed to make robomaster move back and forth.
If there are still people interested in this topic I would appriciate any criticism or suggestion concerning the provided code.


2020-7-21
Use props
sparksounds
lvl.1

Lithuania
Offline

I spent some hours playing with code by @kukltaur and other Arduino SBUS libraries, but could not get reliable performance. My goal was to connect a Spektrum PPM receiver to the Robomaster. I have a Spektrum DX7 transmitter and AR7700 receiver. I bought a PPM to SBUS converter (RMILEC) and after A LOT of settings changes I managed to get it working pretty decently.
2020-8-25
Use props
12Next >
Advanced
You need to log in before you can reply Login | Register now

Credit Rules