AL5D - How to control via Arduino

FYI, I have an Arduino Uno, not a BotBoarduino.

I see a git repo for Arms-BotBoarduino which I downloaded, but when I look at the code (ie. KeyboardControl) it seems to control the robot via output pins for each server. Question #1 : how do I interface these pins with the SSC-32U?

I see a guide for the SSC-32U that explains how to control it via different mechanisms, one of them being the serial port, which I presume I can wire my Arduino to. Question #2 : The serial commands control each individual servo, so I presume I need to write my own inverse kinematics for this?

Main question : Is there a way for me to use an Arduino Uno to control the robot arm using Inverse Kinematics via the serial port?

Here are answers and information concerning your questions:

You cannot interface those directly. The BotBoarduino-based Arduino code example on GitHub is meant for our BotBoarduino kits where the controller used is a BotBoarduino directly, not an SSC-32U. Therefore, the servomotors would be connected to the BotBoarduino output pins directly. In your case, the robotic arm’s servomotors are connected to the servomotor controller board, the SSC-32U, which would itself be controlled by your Arduino board.

Yes and no. You can re-use the inverse kinematics code available as an example in the Lynxmotion GitHub. Just not that you will have to make some modifications so that instead of using the Servo library / direct servomotor pins, you will instead write serial commands by TTL UART to the SSC-32U, which will then move the servomotors. This question has been asked by a few customers before and is not too complicated to implement.

Yes. Simply use the example code available for the BotBoarduino and replace the “[servo library object].write()” commands for serial output commands going to the SSC-32U in the proper format.
You can check out this forum post reply (point #2 is relevant) which will lead you to here. There is plenty of information available there to get you started all the way to completion.

When you having working code, feel free to make a pull-request to our repository! :wink:

We hope this helps!

Sincerely,