SPI chaining

A project log for Arcus-3D-P1 - Pick and Place for 3D printers

Open source, mostly 3D printable, lightweight pick and place head for a standard groove mount

daren-schwenkeDaren Schwenke 10/17/2018 at 18:160 Comments

I want to use the TMC2130 as my drivers, soldered on-board.  However, I don't want to consume a CS pin per chip to do it (as I don't have a lot of extra pins on the Pocketbeagle) and I can't figure out how to daisy chain them properly. (Section 4.2 of the PDF) Kind of important.

I also wanted to be able to use the end of that SPI chain to onboard a simple shift register based open drain LED driver chip.  That gives me 8 more low current PWM outputs without consuming any more pins.  Then, terminate that SPI chain to pins, and I could just keep going...

I don't think I'll be done in time, and actually have a working board the first time around going this route.  Time to make a choice.  :(

I did find a nice starting point in this ready-made cape for import as a template into Kicad.

As a bonus though, I have discovered UART based chaining with internal step generation and velocity control in the TMC5160 line though.  That would be very useful for the mass of steppers I use on the M2.  One serial line and power would be all that is needed to run them all.  Sweet, but off-topic.

I'm going to slow down and do the Pocketbeagle board right.  I'll find something else to assemble.


The consensus seems to be run the SDO to the SDI of the next driver, and bus the rest of the pins for chaining.  I'm past my deadline now though, so still going to slow down and do it right.