Edit on GitHub

RB-88 Controller

Introduction

Specifications

Item Specification
Weight 160g
Controller Arm® Cortex®-M4 MCU
Dimensions 120 mm x 60 mm x 36 mm
Motor Output Shafts Central Shaft x 2, Rear Shaft x 2
Gear Ratio Central Shaft 30:1, Rear Shaft 60:1
Speed Central Shaft 135 RPM, Rear Shaft 270 RPM (at 4.5V)
Operating Voltage 3.6V ~ 4.8V (AA batteries x 3)
Internal I/O Devices Infrared Sensor (Obstacle Detection) x 6, Microphone (Sound Detection) x 1, Buzzer x 1, AUX LED x 2 (Orange, Green), POWER LED x 1 (Blue)
External I/O Ports DXL TTL 3P Port x 2


DANGER
(Ignoring these warnings may cause serious injury or death)

  • Never place items containing water, flammables/open flames, or solvents near the product.
  • Never place fingers, arms, toes, and other body parts near product during operation.
  • Cease operation and remove power from the product if the product begins to emit strange odors, noises, or smoke.
  • Keep product out of reach of children.
  • Check input polarity before installing or energizing wiring or cables.


CAUTION
(Ignoring these warnings may cause mild injury or damage to the product)

  • Always comply with the product’s offical operating environment specifications including input voltage, current, and operating temperature.
  • Do not insert blades or other sharp objects during product operation.


ATTENTION
(Ignoring these warnings may cause minor injury or damage to the product)

  • Do not disassemble or modify the product.
  • Do not drop the product or apply strong impacts.
  • Do not connect or disconnect DYNAMIXEL cables while power is being supplied.

Control Table

Control Table consists of data regarding the current status and operation of controller. The user can control controller by changing data of Control Table via Instruction packet.

RB-88 Control Table

Area Address Size[Byte] Name Access Initial Value Range Unit Setting Value Description
EEPROM 0 2 Model Number R 491 - - - Model number
EEPROM 6 1 Firmware Version R - - - - Firmware version
EEPROM 7 1 ID R 200 - - - Controller ID
EEPROM 8 1 Baud Rate RW 3 0 ~ 3 - 0: 9600 bps
1: 57600 bps
2: 115200 bps
3: 1 Mbps
Communication speed via Dynamixel
EEPROM 11 1 Bootloader Version R - - - - Bootloader version
RAM 21 1 Mode Number RW - 1 ~ 6 - 1: Play Mode
2: Manage Mode
3: Reboot
4: TTL Bootloader
5: BLE Bootloader
6: Power Off
Mode number
1: Play Mode: Run the stored Blockly program mode
2: Manage Mode: External control waiting mode
3: Reboot: Reboot
4: TTL Bootloader: Bootloader using 3-pin TTL port
5: BLE Bootloader: Bootloader using BLE
6: Power Off: Turn off power
RAM 25 1 Press Count R - - - - Number of times the power button was pressed when turning on the controller
RAM 49 1 BLE Paired R 0 0 ~ 1 - 0: False
1: True
Current BLE pairing status
RAM 51 4 Serial Screen W 0 -32768 ~ 32767 - - 4-byte signed value for screen output (no line feed)
RAM 55 4 Serial Screen LF W 0 -32768 ~ 32767 - - 4-byte signed value for screen output (with line feed)
RAM 59 2 TX Remote Control Data W - - - - Remote control data to be sent via BLE
RAM 61 2 RX Remote Control Data R - - - - Remote control data received via BLE
RAM 63 1 RX Remote Control Data Arrived R 0 - - 0: False
1: True
Whether remote control data received via BLE is available
RAM 66 2 Motion Index Number RW 0 0 ~ 65535 - 0: Stop motion using motion stop unit
1~65532: Execute motion of selected unit
65533: Stop motion immediately
65534: Stop motion at current key-frame
65535: Stop motion at current unit
Play a specific motion or stop the currently playing motion.
RAM 68 1 Motion Play Status R 0 0 ~ 1 - 0: False
1: True
Check if motion is being executed.
RAM 71 2 Delay Millisecond W 0 0 ~ 60000 ms - Delay for the specified time (available only during Blockly execution).
RAM 76 1 Power Save Timer RW 5 0 ~ 255 minute 0: Never turn off
1 ~ 255: Turn off after m minutes if no 2.0 packets are received
Set auto power-off timer
RAM 79 1 Red LED RW 0 0 ~ 1 - 0: OFF
1: ON
Turn on/off red LED
RAM 80 1 Green LED RW 0 0 ~ 1 - 0: OFF
1: ON
Turn on/off green LED
RAM 84 1 Buzzer Index RW 0 0 ~ 51 - - - Melody mode: Execute melodies 0 ~ 25 when Buzzer Time(85) is 255.
- Scale mode: Execute scales 0 ~ 51 when Buzzer Time(85) is 0 ~ 254.
RAM 85 1 Buzzer Time RW 0 0 ~ 255 0.1 sec - Enter scale mode or melody mode. Scales and melodies are played based on Buzzer Index.
- 0: Play scale for 0.3 s
- 1 ~ 50: Play scale for 0.1 ~ 5.0 s. Unit: 0.1 s
- 50 ~ 254: Play scale for 5 s
- 255: Enter melody mode
RAM 86 1 Sound Detected Count RW 0 0 ~ 255 - - Write: Any value initializes to 0.
Read: Final detection count recognized by the built-in microphone of the controller
Value change method: Maintain the value during sound detection and change to the last real-time value when the sound ends.
RAM 87 1 Sound Detecting Count R 0 0 ~ 255 - - Read: Real-time detection count recognized by the built-in microphone of the controller
Value change method: Increase during sound detection and become 0 when the sound ends.
RAM 88 1 Low Battery Sound Enable RW 1 0 ~ 1 - 0: OFF
1: ON
Enable or disable low battery alarm.
- Alarm occurs every 3 minutes when battery voltage is below 3.3V
RAM 90 2 Motion Count R - 0 ~ 65535 - - Number of motions stored in the controller
RAM 92 2 Motion Next Page RW 0 0 ~ 65535 - 0~65534: Page to move
65535: Not used
Used to smoothly move between motion pages without stopping the motor. When creating motion profiles, the operation of the next motion page can be predicted to create smooth motion.
RAM 96 2 Random Min RW -100 -1000 ~ 1000 - - Minimum value of random number
RAM 98 2 Random Max RW 100 -1000 ~ 1000 - - Maximum value of random number
RAM 100 2 Random Number R - -1000 ~ 1000 - - Random number within the range of Random Min(96) to Random Max(98)
RAM 300 2 Decrease Timer RW 0 -32768 ~ 32767 ms - Countdown timer
Decreases from the moment a value is written
RAM 302 4 Increase Timer RW 0 0 ~ 4294967295 ms - Count-up timer
Resets to 0 when any value is written
RAM 360 2 IR Sensor 1 R 0 0 ~ 400 - - Value of IR sensor 1
RAM 362 2 IR Sensor 2 R 0 0 ~ 400 - - Value of IR sensor 2
RAM 364 2 IR Sensor 3 R 0 0 ~ 400 - - Value of IR sensor 3
RAM 366 2 IR Sensor 4 R 0 0 ~ 400 - - Value of IR sensor 4
RAM 368 2 IR Sensor 5 R 0 0 ~ 400 - - Value of IR sensor 5
RAM 370 2 IR Sensor 6 R 0 0 ~ 400 - - Value of IR sensor 6
RAM 440 12 BLE Mac Address R - - - - BLE MAC address of the controller
RAM 500 4 Micros R 0 0 ~ 4294967295 us - Time elapsed in microseconds since firmware execution
RAM 504 4 Millis R 0 0 ~ 4294967295 ms - Time elapsed in milliseconds since firmware execution
RAM 900 1 Motor Stop RW 0 - - - Write:
- 0 ~ 255: Stop all deceleration motors
Read:
- 0: Both motors rotating
- 1: Left motor stopped, right motor rotating
- 2: Left motor rotating, right motor stopped
- 3: Both motors stopped
RAM 901 1 Motor Type R - - - 0 : RB86
1 : RB88
Controller Type
RAM 908 2 Left Center Motor Speed RW - -999 ~ 999 - - Left center motor rotation speed
1. Speed synchronization mode
- PWM value with forward and reverse corrections applied for left motor rotation
2. Slot synchronization mode
- Automatically switches to speed synchronization mode and operates in speed synchronization mode
RAM 914 2 Right Center Motor Speed RW - -999 ~ 999 - - Right center motor rotation speed
1. Speed synchronization mode
- PWM value with forward and reverse corrections applied for right motor rotation
2. Slot synchronization mode
- Automatically switches to speed synchronization mode and operates in speed synchronization mode
RAM 916 2 Center Motor Forward Speed W 0 0 ~ 999 - - Center motor forward speed
1. Speed synchronization mode
- Update the forward correction value until the speed of the left and right motors is the same every 360 degrees rotation of the center wheel and adjust the PWM value
- Forward correction value is stored in EEPROM and maintained even if the power is turned off
2. Slot synchronization mode
- Synchronize the positions of the left and right wheels by checking the position where the center wheel rotates 180 degrees using the slot on the motor
RAM 918 2 Center Motor Backward Speed W 0 0 ~ 999 - - Center motor backward speed
1. Speed synchronization mode
- Update the reverse correction value until the speed of the left and right motors is the same every 360 degrees rotation of the center wheel and adjust the PWM value
- Reverse correction value is stored in EEPROM and maintained even if the power is turned off
2. Slot synchronization mode
- Synchronize the positions of the left and right wheels by checking the position where the center wheel rotates 180 degrees using the slot on the motor
RAM 920 2 Center Motor Turn Left Speed W 0 0 ~ 999 - - Center motor turn left speed
1. Speed synchronization mode
- Left motor rotates with PWM value applied with reverse correction, and right motor rotates with PWM value applied with forward correction
2. Slot synchronization mode
- Synchronize the positions of the left and right wheels by checking the position where the center wheel rotates 360 degrees using the slot on the motor
RAM 922 2 Center Motor Turn Right Speed W 0 0 ~ 999 - - Center motor turn right speed
1. Speed synchronization mode
- Left motor rotates with PWM value applied with forward correction, and right motor rotates with PWM value applied with reverse correction
2. Slot synchronization mode
- Synchronize the positions of the left and right wheels by checking the position where the center wheel rotates 360 degrees using the slot on the motor
RAM 943 1 Sync Mode RW 0 0 ~ 1 - 0 : OFF
1 : ON
Synchronization mode setting
1. Speed synchronization mode
- Measure the speed at which the center motor reference wheel rotates 360 degrees to synchronize the speed of the left and right motors
2. Slot synchronization mode
- When slot synchronization mode is set, the motor moves to the zero position
- Detect the position where the center motor reference wheel rotates 180 degrees when the motor rotates, and synchronize the position of the left and right wheels
RAM 945 1 Sync State R 0 0 ~ 1 - 0 : False
1 : True
Check synchronization process status
RAM 950 2 Left Back Motor Speed RW 0 -999 ~ 999 - - Left back motor rotation speed
1. Speed synchronization mode
- PWM value with forward and reverse corrections applied for left motor rotation
2. Slot synchronization mode
- Automatically switches to speed synchronization mode and operates in speed synchronization mode
RAM 952 2 Right Back Motor Speed RW 0 -999 ~ 999 - - Right back motor rotation speed
1. Speed synchronization mode
- PWM value with forward and reverse corrections applied for right motor rotation
2. Slot synchronization mode
- Automatically switches to speed synchronization mode and operates in speed synchronization mode
RAM 954 2 Back Motor Forward Speed W 0 0 ~ 999 - - Back motor forward speed
1. Speed synchronization mode
- Update the forward correction value until the speed of the left and right motors is the same every 180 degrees rotation of the back wheel and adjust the PWM value
- Forward correction value is stored in EEPROM and maintained even if the power is turned off
2. Slot synchronization mode
- Automatically switches to speed synchronization mode and operates in speed synchronization mode
RAM 956 2 Back Motor Backward Speed W 0 0 ~ 999 - - Back motor backward speed
1. Speed synchronization mode
- Update the reverse correction value until the speed of the left and right motors is the same every 180 degrees rotation of the back wheel and adjust the PWM value
- Reverse correction value is stored in EEPROM and maintained even if the power is turned off
2. Slot synchronization mode
- Automatically switches to speed synchronization mode and operates in speed synchronization mode
RAM 958 2 Back Motor Turn Left Speed W 0 0 ~ 999 - - Back motor turn left speed
1. Speed synchronization mode
- Left motor rotates with PWM value applied with reverse correction, and right motor rotates with PWM value applied with forward correction
2. Slot synchronization mode
- Automatically switches to speed synchronization mode and operates in speed synchronization mode
RAM 960 2 Back Motor Turn Right Speed W 0 0 ~ 999 - - Back motor turn right speed
1. Speed synchronization mode
- Left motor rotates with PWM value applied with forward correction, and right motor rotates with PWM value applied with reverse correction
2. Slot synchronization mode
- Automatically switches to speed synchronization mode and operates in speed synchronization mode
RAM 1101 1 DXL Count R 0 - - - Number of Dynamixels connected to the controller
RAM 1102 8 DXL ID R - - - - Bits corresponding to Dynamixel IDs connected to the controller are set to 1.
Data is displayed in Littlen endian format.
Example:
- ID 1 and 3 Dynamixels connected
- Binary: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00001010
- Hexadecimal: 00 00 00 00 00 00 00 0A
- ID 2 and 8 Dynamixels connected
- Binary: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 00000100
- Hexadecimal: 00 00 00 00 00 00 01 04
RAM 1166 1 DXL Scan W - 0 ~ 1 - - Dynamixel scan on the controller
RAM 1167 1 DXL Reboot W - 0 ~ 252 - - Reboot the Dynamixel with the selected ID
RAM 1322 1 DXL Torque W - - - - Turn on or off torque for all connected Dynamixels
RAM 1500 2 Line Tracer Speed RW 0 - - 0 : End line tracing
1 ~ 999 : Line tracing speed
Set line tracing speed
RAM 1505 1 Line Category R 0 - - 0 : On line
1 : Off line
5 : + Intersection
6 : T Intersection
7 : ⊣ - Left Turn
8 : ⊢ - Right Turn
9 : ⏋Left Corner
10 : ⎾ Right Corner
11 : | Dead End
12 : Blank 1 [—- —–]
13 : Blank 2 [– — –]
Detected line category

Layout

rb_88_label

Power Supply

The RB-88 is powered by three AA batteries.

Controller Modes

Play Mode

Manage Mode

Recovery Mode

Controller Shutdown

To turn off the controller when it’s on, press the start button again.

Control Dynamixels via Bluetooth

Cross Hub Assembly

Insert the end of the cross shaft into the cross hub on the RB-86, making sure their directions match.

rb_88_cross_hn

Connect to STEAMCUP

Connect from PC

  1. Navigate to the STEAMCUP website.

    rb_88_pc_google

  2. Click on the hamburger menu in the upper right corner, sign up, and log in.

    rb_88_pc_hamburger

  3. Click on Add Robot.

    rb_88_pc_add_rb

  4. Select the controller you want to connect to from the Bluetooth device selection window and proceed with pairing.

    rb_88_pc_04_pairing

  5. The RB-88 will beep once, indicating a successful connection.

Connect from Mobile

  1. Download the STEAMCUP app from the Google Play Store or App Store.

    rb_88_mob_download

  2. Run the STEAMCUP app, sign up, and log in.

  3. Click on Add Robot and select the controller you want to connect to.

    rb_88_mob_add_rb

  4. The RB-88 will beep once, indicating a successful connection.

Firmware Update

  1. Connect to your RB-88 via the STEAMCUP app.

  2. Click on the RB-88 icon.

    rb_88_icon

  3. Click on the Firmware Recovery/Update button.

    rb_88_click

  4. Follow the wireless firmware update instructions.

    rb_88_recovery

Note: PC STEAMCUP does not support firmware update functionality.

Connect to Remote Controller

Connect to RC-100B or RC-300

  1. Turn on the RB-88 without an active BLE connection.
  2. Power on the RC-100B (equipped with BT-410 MASTER module) or RC-300 near the RB-88 controller.
  3. The RC-100B (BT-410 MASTER module equipped) or RC-300 will automatically connect to the nearby RB-88 controller.

Connect from STEAMCUP to Remote Controller

  1. Connect RB-88 from your PC or the STEAMCUP app.

  2. Select the remote controller icon to open the virtual remote controller.

    rb_88_control

Straightness Calibration