Getting Started with Romi and Robot Arm Kit

I am sorry you are having trouble getting started with the Romi Arm Kit. As noted on the Robot Arm Kit’s product page, we are working on electronics to simplify integrating this arm into your Romi robot, but we did not want that to hold up releasing the arm itself for ambitious users with the skills to assemble their own electronics for powering and controlling the arm.

I have addressed your original 3 questions in some more detail below:

  1. 6V is the maximum of the nominal voltage range (which would be 4x AA batteries). The Romi 32U4 Control Board uses the 6-battery configuration. While you could tap into the battery contacts to get power from the 4x batteries, that would cause your batteries to drain unevenly, so you might consider adding the D24V22F6 regulator so you can power them from all 6 batteries, as mentioned under the “Powering the servos” heading of the “Using the Robot Arm for Romi” section of the user’s guide.

  2. You can control the servos from the Romi 32U4 Control Board (more information about this is in point #3 below), but we do not have any specific examples for doing so. You might be able to control the servos from the Raspberry Pi instead; however, since it is more difficult to do tasks requiring precise timing with the Raspberry Pi, it would probably be more advantageous to use the Romi 32U4 Control Board. Also, we have not tested those particular servos with a 3.3V signal, so we can not guarantee it would work with signals from the Raspberry Pi without some kind of level shifter, but it would probably be okay.

  3. If you use the Romi 32U4 Control Board to send the servo signals, you can use the Arduino Servo Library, as you mentioned. The writeMicroseconds() function allows you to specify the pulse width of the signal. However, please note that the Servo library uses Timer 1, which conflicts with our Romi32U4Motors library. You can fix this by modifying the Servo library to use Timer 3 instead; instructions for doing this can be found in the “Controlling a servo” section of the Romi 32U4 Control Board user’s guide. The Servo library does not need to use PWM pin; any digital pin will work. Your idea of using 0, 1, and 5 should be okay. If you are using a Raspberry Pi, you probably aren’t using the LCD, so you could repurpose pins 11 and 4 as well.

Brandon