BotBoardunio with SSC-32

Hello,
I am attempting to wire a new setup for my quadruped robot. I have a Quadruped that is controlled with an SSC and recently purchased a BotBoardunio and Gravity Expansion I/O shield. I would like to attach the B.B. with the Expansion Shiled onto the SSC, but I am slightly confused by the wiring. As an end product, I would like the B.B. to control the SSC.

On the B.B. users guide, I found that by using the Tx/Rx/Gnd pins on both boards, the B.B. can send commands to the SSC.
blob:https://www.robotshop.com/bad48e81-9977-4cfa-9dbe-ab991376da52

However, when I looked at the SSC guide, it said that I should use the Tx/Rx/Gnd pins in the SSC and pins 12 and 13 on the B.B.
blob:https://www.robotshop.com/f28f77ff-2596-46d6-bdf5-c3b498aa67f9

Which setup should I use in this situation? If it is the second situation, what jumper wire should I use to connect the Rx pin on the SSC to pin 12 on the SSC?

Thanks in advance,
Christopher

Hi Christopher,

The reason digital pins 12/13 are used in a typical BotBoarduino & SSC-32 setup is because the BotBoarduino has only one hardware serial port. This serial port is also connected to the USB port. Therefore, any connections done with pins 0/1 (the hardware RX/TX) would interfere with programming the board from the Arduino IDE and would probably need to be removed every time. Also, using those two pints to connect to the SSC-32 would prevent using the USB port for debugging (which can be quite helpful).

Therefore, the simple solution is to use a SoftwareSerial interface, which means using any two digital pins that are not 0/1 (even the analog pins can be used as digital pins too!) to connect the BotBoarduino to the SSC-32. Which pins are used depend mostly on the code you are using. In the Phoenix code, typically pins 12/13 were used. That can be changed in the config file, if you wish.

As you can now imagine, both setups are valid. That being said, I’d strongly recommend using pins 12/13 instead of the BotBoarduino’s RX/TX for the reasons mentioned above.

Good luck!

Sincerely,

Thank you very much for your advice.

I tried putting everything together this weekend and had a few questions about my setup that I was unable to find in any of the documentation. For your reference, the below image shows how my system is put together.
my system is put together. Please take a look at that and let me know if you see any major flaws or anything that I should change.

  1. If I send a command to the Bluetooth module, will the command be relayed to the SSC? For example, am I able to send individual Servo commands with this system in order to accommodate my old code while I implement the Pheonix code? If not, what commands can I send to the Bluetooth module to ensure that it is connected to my computer and set up correctly?

  2. Am I able to use the Tx/Rx/Gnd pins on the BotBoardunio and send commands to the Bluetooth BLE because I am not using the USB port on the BotBoarduino? Currently, I am going Tx on the SSC to the Rx on the BB, Rx on the SSC to the Tx on the BB, and Gnd to Gnd.

  3. What jumpers should be installed on my BotBoarduino? Below is an image that displays my current jumper configuration.

  4. What baud rate should I be using when sending commands to the Bluetooth BLE Link? I am currently using the one that I have configured on my SSC-32 (115200) and everything seems to be working.

  5. Two of the Gravity I/O pins are not connected to the BB. Is this normal? The following image shows how the pins are hanging out.

Please let me know if you need any more clarification or information.
Thanks,
Christopher

Just following up on my previous post. I am still need some answers to my questions as I am running into the same issues.

Thanks!
Christopher

Hi Christopher,

Please find below answers to your questions and comments:

Please note that the admins are typically not answering during the weekends because we aren’t here :stuck_out_tongue: Also, yesterday (2018-05-21) was a holiday in Canada, so that’s why there is a small extra delay this time! :stuck_out_tongue:

Glad to help.

At a glance, everything seems well put together. You seem to be using a RB-Dfr-546 and RB-Dfr-475. It would probably be good if you included in a reply details on how you intend to use those in conjunction with the BotBoarduino. There may be also the possibility of pin conflict with the shield/Bluetooth BLE module and TX/RX pins. We’ll cover that in more details below.

I assume you mean sending a command by Bluetooth to the module using another device that is Bluetooth 4.0 BLE enabled (such as a phone, tablet or computer)? If so, the command will only be relayed to the SSC-32 if the two are somehow connected together, either directly (please note Bee modules are 3.3 V and the SSC-32 is 5.0 V digital lines, you need voltage translation: ex: RB-Spa-879) or through another device, such as the BotBoarduino (software redirect, either as a passthrough or re-interpreted/etc.).

Unsure. This really depends on the answer above and how your code deals with all of this. If your “old code” is simply sending ASCII strings meant for the SSC-32 directly, then you can just pass those along to the SSC-32 in any of the ways mentioned above.

What you are referring to now is a communication protocol with built-in protections. You will have to develop that! The hardware itself typically only offers a raw communications channel with minor protections (noise, signal conflicts, etc.) but that is all very low-level. If you want a more complete protocol, you will need to design and implement a lot more stuff (google is your friend here! :slight_smile: ).

To best answer this question, first have a look at your shield’s schematic here. You’ll notice there is a DPDT (double pole, double throw switch) switch connected to pins 0/1 (RX/TX) of the carrier board and the other side of the switch is connected to either the RX/TX of the Bee socket or nothing. This is to allow you to program your Arduino since otherwise having a Bee module in that socket would prevent using the RX/TX pins (and therefore prevent programming the board). With that in mind, if you use the hardware serial port of the BotBoarduino at the same time for the SSC-32 and the Bee module, you will have a conflict between all of these since you will have multiple drivers on each pins. Therefore, that is a Bad Idea ™. See our previous answers about this and also above concerning connecting the SSC-32 with everything.

Good news :: all your jumpers seem good! [EXT, VS=VL (power in VS), 5V everywhere].

Which baud rate to use depends on many settings, actually. First, the settings of the Bluetooth module itself. Most of them can be configured using AT commands. Make sure it is at the right baud rate you want to use.
Then, the receiving device (in your case it would be either the SSC-32 or the BotBoarduino) needs to be set for that baud rate, too. Finally, the baud rate choice is ultimately up to you and really depends on what you need. Lower baud rates tend to perform better for wireless communications (less errors), so we recommend that you use the lowest baud rate you can get away with while still having a responsive platform.

Yup, that is quite normal. It means the shield is meant for the newer Uno v3 headers, which have two extra female headers there. Should not be an issue with most shields. The shield you are using specifically does not use those extra pins (they seem to be disconnected, see schematic above), so no issue there.

Any extra information you can provide about your end-goals for this setup would be good.

Sincerely,