I Know this, but apparently it can be done with the TMC drivers (max of 4 to a singel line) and the ESPHome component is also Capable.
I discovered from the datasheets that the TMC2208 has a fixed address of 0x00 and cant be modified. The TMC2209 can, so I ordered some TMC2209’s I wil test this tonight!
OK, I’m really having some issues… And I’m not getting any further with this…
The UART is very unstable, sometimes two or one driver(S) connects, sometimes non of them connect. I used a extra AMS1117 to make a clean 3.3v for the VIO but it still behaves very unpredictable. I’ve three TMC2209 on a single UART bus (Multi Drop). Do I need a termination on the “bus” like RS485?
The other problem is the microsteps setting in UART. It ignores the setting an takes the MS1 and MS2 values used for UART adressing… how can I set the correct microstep setting?
I’m building a project with ten tmc2209 steppers on a ESP32-S3 with index and homing sensors. This should work in theory but it is a real challenge only two stepper motors will be used at the same time by the way. The project is a cabinet with ten drawers that will be opened by the steppers.
Yes, as you have already realized, TMC2208 (0x20) doesn’t support addressing while TMC2209 (0x21) “do”. While UART isn’t a BUS, Trinamic still choose this and added adressing.
Anyway, it has been a while since I have used the addressing option myself and ESPHome have since had some updates to how UART works. I don’t think any of them are breaking changes, but I’m not entirely sure.
It’s hard to say what could be causing your setup to fail without more information, but perhaps you could try to isolate things a bit. Make sure you create good connections.
Good quality jumper wires and breadboard is a must - otherwise solder wires directly. Keep wires as short as possible.
Start with a single driver - try the different adresses for same driver.
Add one driver at a time to see when things stop working as intended.
Try slower baud rates and test other hw/sw UART interfaces.