I can't help but think that 8 bits is all we need to send

@NathanielStenzel I’m thinking about something like this which i’ve bough to use TMC driver with my smoothieboard; https://www.reprap.me/stepper-expander-x3.html

@Johan_Jakobsson that seems a bit pricey for something that does not include the stepstick/polulo driver modules. The setup that I am thinking of would include 3+ stepper drivers built in. I see no reason for the item you are looking at to be more than $7. I am hoping a module like what I am talking about would be under $20.

@NathanielStenzel Just an example. I’d agree that the price is quite high for what it is. Guess http://reprap.me want a return on the R&D cost (which i accept & respect, which i why i bought one.
A board like that could be had for a few $ if you designed it yourself.

If you’re developing a new board, I think it would be nice to get away from the Pololu/Stepstick format, the thermal margins are pretty tight. In my own experience, Panucatt’s Bigfoot driver module format has proven itself very impressively.

@Jeff_DeMaagd indeed and I do not think it would be appropriate for a setup like this.

There would be some logic to a three-stepper expansion board that talks over whatever data protocol and can be chained, eg one 3X driver board for a CNC router, two for a 3D printer up to three extruders, three for full color-mixing.

Just put a bare-bones microcontroller chip (for data—>pulses conversion) and the drivers directly on the boards, no need for sockets. Then you can add smoothing diodes or whatever you want directly on there.

But is there a benefit over RAMPS? Dunno.

@Ryan_Carlyle you mean without a stepper driver chip? Current control during stepper coil pulses may be tricky if that is the case.

@NathanielStenzel I would use cheap drivers configured properly for typical printer motors

@Ryan_Carlyle then I am not sure what the processor would be for unless that particular board has temperature control to take care of. Or maybe you mean for the gcode handling to feed data to the board that I am proposing?

@NathanielStenzel if you talk to the driver boards with i2c or SPI, you’ll either need driver chips that accept commands on those protocols (more expensive per driver) or use a small chip to accept i2c/SPI commands and convert them into step pulses for the drivers. Using ribbon cables for everything would require a new main controller board design to match, when an Arduino is already cheap and easy.

Lots of ways to do it

@Ryan_Carlyle look at the two links in my 2nd post of the thread. Those are i2c bus expander chips that turn i2c signals into bits that I figure could go straight to the pins of the A4982 chip or the DRV8892 chip or whichever step+dir driven chip you prefer.

@NathanielStenzel ohhhhh suddenly what you’ve been saying makes more sense. We would need to verify that kind of chip has appropriate output timing (eg minimum delay between DIR change and STEP pulses) and everything can be fired at high enough speed with low enough latency/jitter. I2c isn’t particularly fast so sending one command per pin toggle won’t work; you’ll need to be changing multiple pins at a time but ALSO respecting relative pin timing. Couldn’t say whether it’ll work without more datasheet inspection etc.

@Ryan_Carlyle those two i2c bus expanders hold the bits until changed again, I think.

@NathanielStenzel yeah what I’m thinking is that you’ll need to send two updates (one for DIR and one for STEP) for each stepper interrupt, which is 10kHz for Marlin, I think 50 kHz for Smoothie, etc. Pretty high command throughput with high timing precision requirement. Not saying it won’t work, I just don’t know if it will work

@Ryan_Carlyle you mean if the direction changes that it can not change direction at the same time as a step, right? I wonder if a simple pull up or pull down resistor is the answer for that or if it should be allowed anyways. Jerk settings!

@Georg_Mill thank you for the interesting read. I am on my cellphone so I can not read it all but it sounds like it has very interesting info. One thing that it mentions is that the one person was working on an esp32 or esp8xxx (I forgot the numbers) and ran out of pins. If any of the pins are i2c, then one could hook up to the board that I am thinking of with the i2c bus expander that I am think of. I suppose an spi bus expander would work too but I did not look into the chips needed and I know you need a clock signal to pass and I guess more attention to detail. I will have to read that more on a bigger screen.

Ah. Two links to read. Cool.

ESP8xxx is a more powerful processor than most printers have. Just needs a TON of IO expansion…

@Ryan_Carlyle this i2c board that I am thinking of should take care of that nicely. Some of the outputs are probably analog and could drive a MOSFET or transistor or amplifier? At any rate, any progress is good.

The Atmega AVR we use for RAMPS has oh… 60 digital IOs I think and we use just about all of them.