This is an inventory of all the 32-bit boards I can find in current production (or about to be released) with TMC stepper drivers integrated onto the board, rather than on a “stepstick” or in a completely external pack.
Bigtreetech skr mini E3 v1.2. has tmc2209 and an lpc1768. I just did a conversation on my Talos3D Spartan (from the gt2560 it was originally running). Works well, and there is a hack to use the full 512 storage on the chip.
This is now implemented upstream in the main Marlin repo. In platformio.ini , you’ll have four environment options:
STM32F103RC_bigtree … RCT6 with 256K
STM32F103RC_bigtree_USB … RCT6 with 256K (USB)
STM32F103RC_bigtree_512K … RCT6 with 512K
STM32F103RC_bigtree_512K_USB … RCT6 with 512K (USB)
Here “USB” means exporting both a serial console and also exporting the SD card as a mass storage device; the builds that don’t say “USB” still have the normal serial console.
I’ve used it with the USB version. Works fine. I think some people were experiencing issues, and I can’t recall the reason. But it’s nice if you’re using octoprint for a printer, because then you can do firmware upgrades by pushing the firmware.bin directly to the SD card from the Pi. Then just reboot, and you’re upgraded when the board loads the bin file.
I definitely ran into this problem when using the _USB version to pid tune:
It’s not that hard to move the microsd card back and forth, even if it’s not quite as convenient. The mini-USB (really‽ In 2020‽) cable they sent is too short for my use, and I had put away most of my other mini-USB cables somewhere.
Oh, look, someone figured out why. Nifty! So when I’m done tuning I can put it back.
It uses the TMC 2209 drivers, so I assume current would be limited by those. I’m not using it currently on my Eustathios or HercuLien. It’s currently in my Delta printer. But it’s working really well there. But I am using an Aztec X5 Mini with socketed TMC 2209’s from Panucatt on my BoxR printer and current hasn’t been an issue there, and the XY gantry on that one has a bit of weight. I’m using it entirely in stealth shop with no skip steps.
I’m really liking the G2C board on the Delta, and having the paneldue certainly is nice. Although honestly I find I run it from my web browser way more than from the touch screen, so I think that that cost could be avoided if you didn’t need to run it at the machine. And Roy has an adapter for the G2C board that allows you to run a standard graphical LCD.
Well, current limit is basically always max(chipsetLimit, implementationThermalMax) so it’s unlikely to be more than 2.8A but I don’t know the thermal analysis that Panucatt has done for their implementation. So I’d rather not put a guess there that Panucatt isn’t standing behind. I tried to only put current limits into the table that I could find documentation of some sort that came from what I understood to be someone responsible for design…
But overall, integrated was precisely because it’s usually better for overall current capacity at least if done right; the massive heatsinks on the high-current stepsticks feel to me like a hack.
I’ve added a firmware column to the table. Probably a bunch of these can run multiple firmwares and I should update the table.
The G2C has some nice vias and heat sinking pads so I think it should be able to push the current as far as is reasonable with those drivers anyway. I like socketed drivers for the ability to swap them out when the new hotness comes along. But I agree there really isn’t a substitute for the thermals you get with nice integrated stepper drivers on a board with good heat sinking capacity.
That’s one reason I’ve always appreciated Roy’s hardware designs, they’re built like a brick $#!+ house. I’ve overdriven the MOSFET for one of my heated beds at 24 volts with one of his boards for more than 5 years, with zero issues. I keep telling myself as soon as it fails I’m going to switch that particular printer over to an SSR with 120-volt bed. But it just refuses to die even though I’m running the bed at around 130% of its rated capacity.
Good enough, “2.8A?” makes sense to me then. It seems unlikely that Roy did less work on thermal management than BTT, given their relative reputations!
The only difficulty with Roy is that sometimes he can go MIA for a little while from a support standpoint. Less so for me because I know a few more ways of getting a hold of him, and I worked with them on projects and testing a lot of his prototype boards for years. But I think being a small shop and having to do all the work himself (design, documentation, tech support, sales, etc) sometimes taxes his energy. Good thing is there’s a lot of resources out there and for the most part most of my questions end up being software related not hardware anyway.
BTT is coming out with a new version of SKR MINI, V2. Hardware UART support for the 2209 instead of bit-banging, four layer board with better thermal handling, protection from shorted thermistor, and more. Looks like still mini-usb instead of micro.
Works fine for Marlin, though! When I glanced at grbl-LPC source it looked like changing some macros to functions and building them out would be all that would be required to add that functionality, but I didn’t need to do it so I didn’t go down that rabbit hole.
Sure it would be possible to rewrite grbl-LPC, but it would be a lot of work and move it far away from the upstream branch. On the hardware side it would be rather simple to just use different pins and route them accordingly (if BTT was aware of the problem).