Edit on GitHub

Introduction

DYNAMIXEL Shield for Arduino MKR Series(hereafter referred to as “DYNAMIXEL MKR Shield”) is compatible with MKR series form factor Arduino boards such as MKR ZERO, MKR1000 WIFI, MKR WiFi 1010, and Portenta H7.

Arduino libraries(DYNAMIXEL2Arduino, DYNAMIXEL Shield) for DYNAMIXEL MKR Shield is provided to accelerate the development process using DYNAMIXEL on Arduino.

Please refer to DYNAMIXEL Shield Libraries section for available APIs.

WARNING

  1. This product does not contain Arduino MKR Board. Arduino Board should be purchased separately.
  2. One of three DYNAMIXEL headers is assembled on the shield for DYNAMIXEL X series (More headers for AX/MX/X series are included).
  3. Please solder included headers and parts when necessary.
  4. Some Arduino MKR shields may not fully compatible with DYNAMIXEL MKR Shield due to the pin confliction. Please refer to each product datasheet before using with DYNAMIXEL MKR Shield.

Quick Start Guide

Please use the recommended voltage source for the DYNAMIXEL.

Specifications

Item Details
VIN(DXL) Voltage1 3.5 ~ 24 [V]
Operating Temperature -10 ~ +80 [°C]
Connectors2 JST(S3B-EH), Molex(5268-02A)
Battery Connector3(SMW250-02)
Terminal Block(DG350-3.5-02P-14)
Physical Connection TTL Multidrop Bus (5V Level)
Cables DC Jack Harness (Type A, O.D.: 5.5 [mm], I.D.: 2.5 [mm])
Convertible cable for XL-320
Dimensions 65 x 25 [mm]
Weight 11 [g]

1 ROBOTIS SMPS 12V 5A PS-10 is recommended as a power supply for 12V DYNAMIXEL.
2 Only one JST connector is assembled by default. Please solder included connectors when necessary.
3 The battery connector is compatible with ROBOTIS batteries LB-010 or LB-020.

Supported DYNAMIXEL

DYNAMIXEL MKR Shield only supports TTL based DYNAMIXEL lineups.

DYNAMIXEL Series      
AX AX-12W
AX-12+/12A
AX-18F/18A
   
MX MX-12W
MX-28T/AT
MX-28T/AT(2.0)
MX-64T/AT
MX-64T/AT(2.0)
MX-106T/AT
MX-106T/AT(2.0)
XL XL-320
XL330-M077-T
XL330-M288-T
XL430-W250-T
2XL430-W250-T
 
XC   XC430-W150-T
XC430-W240-T
2XC430-W250-T
 
XM   XM430-W210-T
XM430-W350-T
XM540-W150-T
XM540-W270-T
XH   XH430-W210-T
XH430-W350-T
XH540-W150-T
XH540-W270-T

Part Lists

The following parts are included in the package.

Layout

DYNAMIXEL MKR Shield Schematics can be downloaded in the link below.

The DYNAMIXEL MKR Shield header pinout is based on the Aruduino MKR boards.

Item Description
DYNAMIXEL TTL Port TTL DYNAMIXEL supported
VIN(DXL) External power input for DYNAMIXEL only. Cannot provide power to the ARduino MKR boards
+5V1 5V from Arduino MKR boards to supply power to DYNAMIXEL
Jumper Cap Power Source Selection between VIN(DXL) and +5V

1 Please be aware that Arduino MKR boards may limit the 5V power source for USB hardware protection.

Arduino MKR board pinout example. Please refer to each product in Arduino Products for more details.

Pin No. Pin Name Description
13 RX Hardware serial port to receive data from DYNAMIXEL
14 TX Hardware serial port to transmit data to DYNAMIXEL
21(A6) TX_EN Flow control of DYNAMIXEL data BUS
- HIGH : Transmit
- LOW : Receive

How to Connect

DYNAMIXEL MKR Shield can be mounted on or below the Arduino MKR boards.
Please check the compatibility when using multiple shields with a single Arduino MKR board.
Arduino MKR boards cannot be powered using the VIN(DXL) power source.

12V DYNAMIXEL X Series

This connection is recommended for most X series DYNAMIXEL with 12V operating voltage (except XL-320, XL330).
The USB connection from PC supplies power and serial communication to the MKR board to upload the Arduino sketch, while 12V SMPS supplies power to connceted DYNAMIXEL.

AX / MX Series DYNAMIXEL

AX and MX series use different type of Molex connector.
In order to use the original AX or MX series cable, solder the included molex connector to empty DYNAMIXEL port.
Or else, use the Robot Cable-X3P convertible.

XL330 using USB power

XL330 can run off of the 5V USB power due to its low operating voltage.
Set the power jumper to +5V side to use 5V power from the Arduino MKR board.

Please be aware that Arduino MKR boards may limit the 5V power source for USB hardware protection.

After uploading the program, 1 cell Lithium battery(3.7V) can be used to power the Arduino MKR board and XL330.

Power Select Jumper

Use VIN(DXL) from external power source(SMPS) Use +5V from Arduino MKR
When using VIN(DXL) from external power source, use included DC barrel jack extension or solder the terminal block when needed. Additional power source for Arduino MKR board will be required. When using +5V from Arduino MKR, be aware that some Arduino MKR board has a built in fuse that prevents excessive use of 5V power. Please refer to each Arduino MKR board specification.

When replacing the VIN(DXL) power connector with included terminal block, be aware of the polarity of the power supply.

DYNAMIXEL Shield Libraries

DYNAMIXEL2Arduino Library : GitHub Repository
DYNAMIXEL Shield Library : GitHub Repository

Features

Install Library

NOTE
Make sure to install the Arduino SAMD Boards manager from Arduino IDE boards manager in order to program Arduino MKR boards.

There are three ways to add libraries to the Arduino IDE.

  1. Using the Library Manager
  2. Importing a .zip Library
  3. Manual installation

Each way is described in detail in the Arduino Official Guide, so please refer to it if necessary.
Below is an example of using the Library Manager from Arduino IDE.

Search for dynamixel shield from the Library Manager and install the latest version.

Click Install all to install the dependent library Dynamixel2Arduino.

If you have successfully installed both libraries, you’ll be able to find several examples of DynamixelShield in the examples.

Library API

DYNAMIXELShield(v0.1.0 or above)

WARNING : In order to use DYNAMIXEL Shield library(v0.1.0 or above), DYNAMIXEL2Arduino library must be installed.

Dynamixel2Arduino Class

Master Class

Dynamixel2Arduino class inherits below public functions from the Master class.

RobotisRemoteController Class

The Remote Controller class can be used with the Arduino MKR boards by enabling SoftwareSerial feature.

Download

FAQ