Does Robotis ever intend to make a Raspberry Pi hat for Dynamixels? I can’t believe that the Pi has been around for years and has super high levels of interest from the robotics community, but Robotis has never made a hat for it. I would love a device that could power the Pi and communicate with it, while having on-board capacity for handling messaging with (and high speed updating of) the servos. The closest they seem to have come is with the OpenCM9, which I have used with AX-12s and works great, except it won’t power the Pi and wiring communication between the Pi and the Dynamixel is inelegant. Also it seems like they have stopped making the OpenCM9 as it isn’t in their store anymore. On that note, does anyone know if something like this would work:
It looks like it has 3.2V logic for the data line, whereas I believe Dynamixels use 5V. Otherwise, has Robotis validated this:
@billmerryman, can you clarify about what you mean by the DXL HAT “powering the Pi”?
When I looked more closely at the documentation of the RPi Zero DXL HAT, is is using DXL Protocol 1, so AX series is OK, but not XL series which is on Protocol 2.
Back in 2021, ROBOTIS did have a working prototype of a RPi HAT for DXLs (for beta testers only), and using C/C++ programming I got it to run 9-10 times faster than the U2D2 out the USB 3 port (and that was on RPi4B).
When the RPi5 came out in 2023, I did test it on RPi5-8GB, and it worked fine too, but its UART port is remapped very differently with the RPi5. Please see this post:
Not sure why so far ROBOTIS has not released the DXL-HAT to the general users
Regarding the OpenCM-904, ROBOTIS retired it a couple of years ago, currently favoring the use of the OpenRB-150 which is an Arduino board based on the MKR ZERO. The RB-150 can be set up to act like a U2D2 but at max 1 Mbps. Recently ROBOTIS used two RB-150s to communicate between a Ubuntu PC (which can be an RPi 5) and two robotics arms in their latest Physical AI kit called OMX (see links below).
So far, the DXL communications trend seems to be going with USB devices for ROBOTIS - that is my own observation anyway. Come to think of it, do you remember the USB2Dynamixel module (also retired) from way back when, with the original BIOLOID and AX-12s? In some way the RB-150 is an upgraded and programmable USB2Dynamixel. In theory, the OpenRB-150 can be programmed to pass-thru DXL Packets while handling the RC-100 communication packets for other work, but so far I do not know if anyone has written such an Arduino code to perform such features at the same time for the RB-150.
At present, only the NEW RB-86/88 controllers from ROBOTIS have firmware that can do this feat, please see this post:
For the ‘DXL HAT “powering the Pi”‘, I mean connecting whatever the full battery voltage should be (around 12V for the AX-12) to the hat, and the hat can provide supply power to power up the Pi (around 5.1V for Pi 4). The Pi can be powered through it’s 5V pin, and since it would already have that pin connected to the hat, having a buck on the hat to step down the power supply to power it would save additional wiring or needing separate power supplies.
If I recall correctly, one of the differences between protocol 1 and 2 was how the checksum is calculated (accumulate/xor vs crc). I think the hat passes through whatever it receives from the Pi over the I2C bus. If I am correct, this code could be tweaked to handle protocol 2. Is there an electrical difference (still 5v logic TTL)?
I will keep digging into those other controllers, They all seem varying degrees of close, but my wishlist looks like this:
Mounts as a hat for the Pi
can act has the entry point for power to the project (one power source connects to the hat, the hat supplies power to the servos and the pi)
Can communicate with the Pi via I2C or serial over the pins (won’t need a USB port)
Has enough onboard memory and processing power to handle turning motion/skit data into the necessary data packets and sending them to the servos without requiring any processing on the Pi. If the Pi can still create its own packets and send them with the hat just acting as a bridge, that would be fine IN ADDITION, but not in place of
If the thing also had a power switch that could turn the whole kit and kaboodle on all at once, that would be a plus too
As I said previously, the OpenCM9 was REALLY close to what I needed, but it’s 5V output pin can only provide around 300mah. It was enough to start the Pi, but it kept rebooting after the splash screen because of insufficient current. If it could have powered the Pi and bundled nicely with it like a hat does, it would have been PERFECT! There is another robot/servo company that make serial servos and a hat for Pi that is exactly what I just described. I love Robotis (I have two kits worth of Bioloid supplies, extras, and some self developed hardware. And yes, I have the USB2Dynamixel) but seeing this makes me consider jumping ship. I may check out the RB-150. I wrote some stuff for the OpenCM9 and may be able to port it over to this. It could take the performance files written with the Motion Editor from Bioloid and send them to the servos. It could also receive those files from a host device (PC, Pi). I will post the repos in another comment (the forum is balking at shortcuts right now for some reason).
I have not encountered a HAT device that would function like you described.
Amazon happens to have a free Kindle Sample of my Arduino book where I described the many UART ports on the OpenRB-150 that can be used to talk to an RPi.
Or using “reverse thinking”, I just started on a project using RPi5 (on Ubuntu 24.04) talking to 2 RB-150s. I have not worked out all the details yet, but for now the RPi5 is reporting connection to the 2 RB-150s OK (as ttyACM0 and ttyACM1)
That’s what I mean. Robotis should be making something like this. There is another company that makes servos, controllers, and robots that already makes something like this for their gear. That Robotis doesn’t is just mind-blowing, especially given how ubiquitous and powerful the Raspberry Pi is.
BTW, for some reason this forum won’t let me post links (which is weird since it allowed them in my first post). I have a couple of repos on Github for software and firmware I have written for the CM-9, and also for the Beaglebone black, but the CM-9 firmware should give you an idea. You can go to github and search my name…
This forum sometimes does that to me also - the web server sometimes gets hiccups. Just send a private email to ROBOTISUSA and they can fix it for you.
By the way, these folks got their whole robot based on the RPi5 + etc. to run on a single LiPo battery (probably not for hours, but long enough for some demo!).