Ssc32 and botboarduino problem!

ok, this is driving me crazy! I’ve built a hexapod , 3DOF, using the ssc32, botboarduino and ps2 controller, all bought from you guys. The chassis is from lynxmotion and the legs are custom 3d printed. Standard servos and the Phoenix code for botboarduino.
My problem is that the hexapod does not respond to the commands from the ps2 controller, servos are totally dead.
Some points:
Phoenix code ( which I have not edited or altered) uploads just fine to the botboarduino.
On power up everything lights up on ssc and the B.B. just fine , servos twitch momentarily.
Pressing start on ps2 makes the melody play on speaker, and also some beeps when I push some buttons.
Baud rate on ssc is at 38400 (red led on) like in the code.
Ssc and servos work and move just fine through the sequencer utility (at 9600 only)
I tried connecting the ssc and the B.B. both with the tx/rx/ground and with 12/13 pins, neither worked.
What am I missing?
Am I supposed to change something in the code? Comment or uncomment a line?
The whole setup is currently on 6 volts, on both boards, I’ve also used 7,2 with the same results…
Any hint or help would be much appreciated as I don’t know what else to do!!

Hi,

Here are answers to your question & comments:

Sounds straightforward enough. Would you mind posting pictures of the legs though? Got us a bit curious here… :slight_smile:

I assume by dead you mean they do not provide any motion and stay idle/coasting (no resistance beyond basic gears/motor inertia)?

Very good! You’d be surprised how many customers face issues at this step (typically missing libraries or opening the file in Arduino from a virtual folder/the ZIP instead of extracting it first)!

The twitch is due to the servomotors’ internal controllers when the power is applied. This should happen regardless of the SSC-32U being in the circuit or not (i.e.: just the servomotors connected to VCC/GND from the battery pack).

Very good! This is also an area where issues typically arise. Having responses from the buzzer to key presses means your board is able to read the controller fine.

The assumption here is that you while the board is powered (blue PWR LED is on), you press the BAUD button once and only the red LED (LED B) turns on (as described on page 34 of the SSC-32U manual)? If by the “red led on” you mean while using the robot, this actually means a frame error was received (wrong packet format) and that most likely due to a wrong baud rate setting between the SSC-32U and whatever is sending it commands. The SSC-32U responds to received data over UART by blinking either the red or green LED; red for error and green for good. If when your BotBoarduino & SSC-32U are connected together and working the red LED is always blinking/on, this would indicate a baud rate issue. If so, follow the steps in the manual linked above (page 34, bottom half) to change the baud rate of the board. This can also be changed using serial commands but the button is far easier is all you want is 9600/38400/115200. The serial command can be used to set arbitrary/non-standard baud rates.

This would seem to indicate the baud rate of your SSC-32U is 9600, not 38400. Please note all SSC-32U are shipped at 9600 baud rate. Therefore, if you did not change the baud rate manually, it will still be set to 9600.

Some important points here: the Phoenix example code that we provide uses pins 12/13, (with a software serial interface) not the hardware serial TX/RX (which is reserved for the debug interface, actually). You must therefore use pins 12/13 since that is how the code is setup by default.

No changes to the code/config file needed! (unless you need to use something other than the default pinouts for each interface). The most likely culprit is a wrong baud rate on your SSC-32U.

6 V DC is what we typically recommend with our kits since the servomotors we recommend are spec’ for 4.8-6.0 V DC input voltage. Therefore using 7.2 V DC with them would most likely damage them quickly (if not right away, it would over time).

See note above concerning baud rate.

We hope this helps.

Please do no hesitate to reply to this message with details of how you fixed (or didn’t) your problem and we’ll do our best to help get you going! :slight_smile:

Sincerely,

Thank you very much for your quick reply!

Servos: yes, by dead I mean they remain idle, no movement at all.

Baud rate: At powerup, both leds (A and B) are on (steady, not blinking), when I press the baud rate button the red led comes on, indicating it is set on 38400. After this both leds go off .

I’ve switched to software serial connection as per your recommendation (pins 12 and 13).
Still nothing…

I also took a picture of the bot, the wires are currently a mess but since I can’t get it to work this is not a top priority at the moment. It’s also missing a leg, since I removed it to keep it with the boards for testing ( no need to carry around the whole robot).

Hi,

Nice legs! Thanks for the pic!

With the BotBoarduino and SSC-32U connected by the pins 12/13 of the BotBoarduino to TX/RX [make sure those are not inverted] of the SSC-32U (and also a common GND connection, of course), do you get any blinking from LED A/B on the SSC-32U while in use (i.e.: when you press [start] or other buttons)?

If you get the red LED, it indicates a communication error. If you get a green LED, it indicates a proper data frame was received. If you are receiving green blinks every byte but it is not moving, it would mean the the data being sent is in a valid UART frame but maybe not the proper data itself. The easiest thing there is to either connect a logic analyzer on that bus (if you have one) or replace the SSC-32U with another Arduino board (or something similar) and have it send what it receives to an output you can monitor and see what is actually being send to the SSC-32U.

Since all the parts works in isolation, there is obviously something else that is amiss in the integration of the two boards.

Sincerely,

Thanks!
I have triple checked the pins (12 and 13), they are correctly connected.
Here’s what happens with the baud rate leds:
On powerup they are both steadily on. Turning on the ps controller, pressing play, or any other button has no effect to the leds, they remain both on (led A and led B).
If I press the baud rate button once to check the baud rate, the red led blinks fast for a couple of seconds (indicating it is in the correct baud rate) and then it goes off, so then both leds are off, no matter which button I press on the ps2 controller. They remain off, until the next powerup.
Should I update the firmware on the ssc-32, and if so, which one should I choose to install?
Once again many thanks for your quick reply and for your time, it means a lot to me!

Hey,

Thanks for the extra details.

I did figure you had the right connections for pins 12/13 (you seem to have gotten everything else right, too), but it is always worth mentioning… :wink:

The SSC-32U is delivered with the most up-to-date firmware so no updates of your own is required. All other firmware currently available online are for the older SSC-32 and would prob. brick your SSC-32U!

The SSC-32U has the following behavior at power-up: both LED A/B stay on until one of the following conditions is fulfilled: data is received (valid or invalid), the BAUD button is pressed or the board is powered off. This is actually really helpful for when you are unsure why the system is not working.

In your case, this would indicate (for some reason we have yet to figure out) there is no data reaching the RX pin of the SSC-32U. Of course, this greatly reduces the possible causes.

I figure the best would be to do as mentioned previously and place a sniffer in that communication bus (BotBoarduino <> SSC-32U UART connection) or simply temporarily replace the SSC-32U with something that can show you what is being sent from the BotBoarduino.

Also, please attach in your reply a pic of your BotBoarduino <> SSC-32U wiring, making sure to show all components, jumpers, wires, power sources.

Sincerely,

Ok, I’m sending a couple of pictures with the current setup.
I’ll steer clear of updating the ssc, thanks for telling me!

No sniffer available, so how do I do this with an arduino? (Sorry if this is a stupid question…)

If the ssc was already bricked( from factory), it wouldn’t work with the sequencer, would it?


Hey,

Thanks for the images, makes it much easier to see if there is any wiring/jumper/power issues.
From what we see here at first glance, all of your connections and jumpers seem good.

Simplest way would be to take an Arduino board and upload to it the example found under **File > Examples > SoftwareSerial > **SoftwareSerialExample. It basically is a simple passthrough which takes any communication from either the hardware serial port (typically the USB VCP [Virtual COM Port]) or the software serial port that is defined and pass it between the two.
What you would do is take a board with this example uploaded to it and connect it with the pins 12/13 of the BotBoarduino. You would then open up a serial monitor to this board and see what you receive from it. Make sure not to forget to place a common GND (but no VCC connections!).

If you receive nothing from the BotBoarduino, you may want to upload to it a simpler code that just loops with a delay and outputs to the SerialSoftware port (pins 12/13) and determine if that is received at the other end.

Either way, you should be able to figure out what is wrong quickly at this point since it is a rather isolated issue with few possible causes.

Indeed, if the board works with the sequencer then it is very much not dead. Also, as a side note, we sell thousands of these a year and we have very little defects for the SSC-32U. Most of the “defects” we do have end up being from customer misuse damaging the board.

Sincerely,

Hi,
Followed your instructions, this is what the serial monitor on the arduino looks like

The BotBoarduino seems to be sending position updates to the entire system. If you press buttons, do the values change?
Also, this seem to indicate your connection between the BotBoarduino pins 12/13 and the SSC-32U TX/RX did not work. Maybe the wires were not good or need fixing/replacements?
Also, make sure that nothing is connected on the Bee socket and USB port, as these would conflict with the TX/RX interface (all three connect to the same port internally).

Values on the monitor change when I press buttons on the ps2 or move the sticks.

I have used the same wires to connect to the arduino as I had previously with the ssc-32.(no chance of a faulty wire)

Nothing is connected in the Xbee socket or the USB port of the ssc-32 .

Ok, that is definitely weird.

Next test:

Take that Arduino board that serves as a glorified USB<>UART adapter and connect its SoftwareSerial port to the TX/RX/GND of the SSC-32U.

With that done, power the SSC-32U/robot (the BotBoarduino is completely out of the loop in this test) and connect to the Arduino with the Serial Monitor.
From there, send “VER” (make sure to change the line ending at the bottom right to “CR”) and see if you get an answer. Also try and send some “P” commands:
ex: #0P1000", etc.

If this works, then we can confirm those pins are still in working order on the SSC-32U. Let us know how that goes.

Sincerely,

I tried with VER and the P command , nothing happens…no reply from the ssc

It seems like that interface may have been damaged. This is typically unlikely but possible when doing wiring/tests.
Next best thing would be to try to use the TX/RX on the bee socket, as seen here. Since it is meant for 3.3 V DC and the Arduino you are using is 5 V DC, it should be fine if you place 1 kOhm resistors in series with the connections.

Sincerely,

Can you please clarify what I should connect where?
Thanks!

For this test you would be connecting the “USB<>UART passthrough” Arduino to your SSC-32U through it’s Bee socket. Make sure to place some 1 kOhm resistors in series, just to be on the safe side, though you may use a lower resistance if it seems to prevent proper transmission of data.
The software serial TX and RX connections from the Arduino would go to the SSC-32U’s Bee socket pins 2/3.
The pin labeled “RX” on the SSC-32U connects with Bee socket pin 2.
The pin labeled “TX” on the SSC-32U connects with Bee socket pin 3.

Hi again!

Just tried it, no luck, the ssc-32 refuses to respond to any command… Both leds (A and B) remain steady on.

Hi,

Hmm, most unfortunate.

Could you now disconnect any UART connection and simply connect it by USB to your computer?

Use the Arduino IDE and Serial Monitor (choosing the proper port and baud rate, the “chipset/board” choice is irrelevant) to try and connect to it. See if you can get it to respond.

Alternatively, you can use Lynxterm, too.

Sincerely,

I used the Arduino IDE, the ssc-32 responds to commands!
VER = SSC32-V2.50USB
P commands also work just fine!

This is quite abnormal, since the USB interface connection (TX/RX) is connected directly with the ones from the male headers and XBee socket to the microcontroller on the SSC-32U.

When using the BotBoarduino <> SSC-32U, do you happen to have the USB port of the SSC-32U connected to your computer, too? Sounds silly, but that would most certainly block the connection from the other connection points (only one can be used at a time).

Other than that, it would otherwise mean you most likely have a defect on your SSC-32U. If that is the case, please open a support ticket here.

In your ticket message, please mention the following:

]Your order or invoice number/:m]
]That you need a replacement for RB-Onl-32/:m]
]A link to this topic for reference/:m]

Sincerely,