Botborduino tx/rx to ssc32u

I have a Botboarduino v1.0 and ssc32u. I’ve seen two different connections for Rx/Tx between them.

The Boarduino manual, dated 2012 shows the connection on three pins marked RX TX GND and is labeled #10 on the main drawing on page 1 of this manual.

Other wiring connections show RX/TX/GND connected to the servo pins on line 12 and 13.

In the SSC-32U manual it says the latter connection is for the SSC-32 and the former is for the SSC-32U.

A little confusing.

Which is correct for my SSC-32U and BotBoarduino? I’m using the pins marked RX TX GND but I’m not getting any action to my SSC-32U from the PS2-V3 control.

Hi,

Which pins you use on the BotBoarduino for serial communication with another board depends on what you are trying to achieve / which example code you are using.

The RX/TX/GND pins found at #10 in the BotBoarduino manual are connected to the hardware serial interface of the AVR chip, known as digital pins 0 & 1 (D0 & D1).

Most of the example code for Lynxmotion kits will use digital pins 13/12 with the software serial library to connect to the SSC-32U. This allows the hardware serial interface (which is tied to the USB interface) to be used for serial monitor debugging while your code is running.

The typical case is a PS2 controller attached to a BotBoarduino that is connected to an SSC-32U by a software serial connection and both using a common power source, such as seen in the attached image (servomotors are not shown here but they would normally be connected to the SSC-32U).
The code on the BotBoarduino takes care of obtaining the inputs from the controller and converting them to SSC-32U commands. It also keeps track of higher level tasks such as sensor management and position of robot parts.

Sincerely,

Okay. I’m using a “generic” Lynxmotion Brat Borduino code (Brat_PS2.ino) for testing. The code compiles and uploads okay.

I switched the pins so now my setup is exactly like that shown in the image above but still no action from the PS2 controller. Both lights on the PS2 receiver are on steady. I have 3 servos connected to SSC32U ports 2,3,4 (Right hip, knee, ankle). I press each button on the controller but no servo activates.
What am I missing? Any log files I can look at or query commands through the serial monitor?

Is there a particular baud rate that has to be set on the SSC32U?

Hi,

We assume you mean the code found here (recommended by the manual found here) or here and here (Lynxmotion GitHub, Brat repository). If so, this code is not meant to be used with an SSC-32U but with the BotBoarduino connected to the servomotors directly.

We recommend that you follow the manual and try out the code with that setup. If you wish to use the Brat with both the BotBoarduino and the SSC-32U, you will need custom code as none is provided right now. This setup is usually only used with larger robots, such as humanoids or 2/3/4 DoF hexapod because of the large amount of servos and the overhead it would cause to a BotBoarduino to manage all of them directly. In smaller robots, either only the SSC-32 is used with a computer or the BotBoarduino (either with a computer or for autonomous use).

For future reference, you can check the baud rate of the SSC-32U by pressing the baud button on the board. The LEDs that turn on will indicate the speed according to the table found in the SSC-32U manual (bottom half of page 34). By default, the SSC-32U is set to 9600 baud rate for compatibility with Bee modules, such as the Bluetooth Bee. The default speed of the previous SSC-32 (with DE-9 connector) was 115200 baud and therefore most older code uses either 38400 (in software serial) or 115200 (in hardware serial). You can usually see these settings in the code either at Serial.begin(baud rate here]); or in the #define at the beginning of either the code (.ino, .c, .cpp) or in the associated header files (.h).

Sincerely,

Thanks a lot. This is good information. I will try only the Boarduino with a couple servos.

My intention, however WAS to run a 17 DOF humanoid biped using the PS2 controller.

I guess it doesn’t matter about baud rate between the Boarduino and SSC32u since I won’t be connecting them together.

Why then does the BotBoarduino manual show so many photos of both (Boarduino and SSC32u) connected together? If you don’t provide software for them, how do you know that particular arrangement works? Or are you saying there just isn’t any software for the Brat? I don’t have a BRAT, but I wanted to use some of the routines (including Flowbotics stuff) to make my 17DOF do stuff, eg I want to train it to do Tai Chi.

Hi,

There is no BotBoarduino & SCC-32 code for the Brat specifically, because of the low complexity. The overhead of the management of the servos for the BotBoarduino was not enough to justify having 2 controller boards on this particular robot.

You can (and should be) using an SSC-32U for a humanoid as this will allow for simultaneous movement of multiple servos with much better timing. The BotBoarduino, as mentioned before, will be used for higher-level decisions and converting PS2 inputs into commands for the SSC-32U.

If you wish to use FlowBotics Studio to control your robot, there is two ways to go about it. The simplest is to use the SSC-32U and connect by USB (or using a Bluetooth Bee) to your computer and use one of the Lynxmotion examples for the robot that matches yours the best. You can then tweak it as needed.

If you wish to use the BotBoarduino instead, you will have to either code the BotBoarduino to respond to commands like an SSC-32U does or modify the FBS software to send different commands that your code on the BotBoarduino will understand (basically implement a protocol for control). Either way, this option is non-trivial and will require some effort and programming knowledge (C and/or Ruby).

Sincerely,

I’m doing okay with the Sequencer to control my 17 DOF humanoid, but he is still tethered to the USB port of my computer. I was hoping the BotBooarduino (BB for short because I’m tired of typing that word!) would allow me to control the guy via the PS2 controller. I think we’re on the same page because you say I should be using the SSC32U.

So…what is the basic workflow (say to control one servo, the head)on my robot using the SSC32U, BotBoarduino, and PS2 V3 controller. I have sequences built in Visual Sequencer now. How do I get them to run with a click of a switch on the PS2? (As a test I hooked up 3 servos to the BotBoarduino, ran the PS2/Brat code with the 3 servos representing the right side of the BRAT. Clicking a few switches makes the servos move. So I just have to dig into the program deeper to see where those buttons do this.)

Hi,

The sequencer does allow for an export in code format but only for Basic Atom / Stamp microcontrollers, not Arduino-compatible microcontrollers such as the BotBoarduino.

A possible solution would be to export your sequences to bs2 code and then convert this to an Arduino sketch. There are example of people doing this online, such as this one, with tips on how to convert it. Unfortunately, there does not seem to be any conversion tool available. The Visual Sequencer software is a legacy software meant to be used with the BotBoard / BotBoard II.

Another option would be to control your robot using the SSC-32U (with USB or a Bluetooth Bee) and either the free sequencer utility or FlowBotics Studio directly.

Sincerely,

I have a PIC development board (ME Labs and Mikro Elektronica) that I had been using with PicBasicPRo and Mikro Basic. The Stamp uses somewhat similar coding.

This begs the question: instead of using the BotBoarduino for the interface to the SSC32U, could I use a PIC-based board and PicBasicPro? Seems to me all I have to do is export the code in Atom/Stamp format, make a few changes for PicBasicPro, download hex files to a PIC board of my choosing. Would this be easier than putting it to Arduino code? Or should I stay with the Arduino which is already a neat little package with lots of hardware and software support?

I like the idea of using the SSC32U with Bluetooth Bee. Of course I have the free sequencer utility, but once again it’s control using the PS2. I want the robot to respond to PS2 commands, remotely of course (no USB).

Hi,

This is a possible solution and should work easily. Simply make sure to connect the serial interface from your PIC-based board to the SSC-32U’s serial port properly (make sure to also have a common ground) and you should have no issue running such at setup. Of course, we will not be able to offer much help regarding such a custom integration.

Aside from the obvious advantages support-wise from the Arduino community, if you stick to the BotBoarduino/SSC-32U setup, you can also obtain more support from us (including help with wiring, powering and code) if you run into any issues since we support this integration of the boards.

The free sequencer offers limited support for the PS2 controller to be used to start, pause, resume and stop sequences. To have a more in-depth control of the robot using a PS2, you could use FlowBotics Studio to create custom responses to the key presses using the available examples as a basis to start from.

Sincerely,

10-4. I have some direction now and will spend some time making it work.

Thanks a lot. You have been a great help, an example of what tech support should be! (I used to do tech support for Control Systems). I’m glad I chose RobotShop for all my robotic needs!