I have decided to redesign the Dynamixel interface and put it again in stock on my Tindie store, this redesign include some status LEDs that visually let you know if the motor is communicating to the motors and vice-versa, I have also decided to change the connector orientation which makes the board a little bit compact and more compatible with small dimensions projects.
The circuit for the LED indicators uses some NAND gates that let the user know when data is going to the servo and from the servo to the microcontroller without the need for a logic analyzer.
This update is a very simple update and it does not affect the functionality of the interface, it is just a visual benefit for the user.
Here is the schematic in case you have the components and wish to make your own interface.
Test code:
#include <DynamixelSerial.h>
#define SERVO_ID 1
int Temperature,Voltage,Position;
void setup(){
Dynamixel.setSerial(&Serial1); // &Serial - Arduino UNO/NANO/328P, &Serial1, &Serial2, &Serial3
Dynamixel.begin(1000000,2); // Inicialize the servo at 1 Mbps and Pin Control 2
Serial.begin(9600); // Begin Serial Comunication
}
void loop(){
Temperature = Dynamixel.readTemperature(SERVO_ID); // Request and Print the Temperature
Voltage = Dynamixel.readVoltage(SERVO_ID); // Request and Print the Voltage
Position = Dynamixel.readPosition(SERVO_ID); // Request and Print the Position
Dynamixel.move(1,random(200,800));
Serial.print("Temperature: "); // Print the variables in the Serial Monitor
Serial.print(Temperature); Serial.print(" celcius, ");
Serial.print("Voltage: ");
Serial.print(float(Voltage)/10);Serial.print(" volts, ");
Serial.print("Position: ");
Serial.println(Position);
delay(1000);
}