I was confused by the prominent use of the word "stepstick", not something I was familiar with even though I try to expose myself to quite a lot of 3D printing material (having one is still more like a bucket list item, though).
I think the term is/was originally a product name for a small, rectangular module with a stepper motor driver on it [1] from 2012. Then it seems the term has been made more generic, with updated versions like the SilentStepStick [2] featuring a driver chip by Trinamic instead.
I guess my point is that for some readers, the stepper motor features on OP's board could be made more clear and perhaps use actual chip numbers, too. :)
I think the thing about StepSticks is they all have same (or very similar) pinout - so as long as board is designed for generic "stepstick", you can plug your favorite kind.
Earlier journal log entries mentioned TMC2209_SILENTSTEPSTICK, but most recent schematics removed this designation. Seems like an oversight.
You did an amazing job. What I really like is the attention to detail that will facilitate cable management and repair. This is the weak point for most 3D printers: when you run them long enough and hard enough they'll break and you will need to replace parts. Depending on the brand of printer this can be hard, tricky or next to impossible without a complete teardown of wiring looms and such.
Consider using a slightly higher level connection to the print head: just power and a serial protocol. That way you are immediately future proof. What firmware are you running on this?
I'm probably going to run Marlin just because it would be the first 3D printer I've actually made and I've heard it's more beginner friendly. I think Klipper also needs a dedicated host like a Pi which is a bit more overheard I don't want to worry about, but I'm open to exploring any type of firmware!
I found myself traveling recently and missed my 3d printer. There were a few neat things I could have done if I had a printer in a carry on. It would be kinda awesome to have a self contained 3d printer with a battery to take wherever I go.
If you're near a harbor freight, they have cheap rugged cases. Maybe design around that form factor, since they're easy to get?
I have a couple idea's on how I wanted to do it:
- Belt printer fitted into a briefcase (the harbor freight case form factor would be good for that!)
- Positron style
- Maybe mess around with double four-bars
Making it self-contained with a battery is also a really cool concept I'll have to explore!
You'd need a pretty substantial battery on account of how much heat it takes to melt filament. Even the Bambu A1 Mini uses ~150W while heating the hot end. I like the idea of a portable printer, though.
It's actually not the hotend heating that's the largest power drain, it's heating the large heat bed. Bambu Lab is introducing firmware features to more slowly ramp up the heat, but I don't need if that could happen slowly enough to not drain a battery.
This is awesome! I'm in the industrial software / CAD space, so I have a rough idea of how painful and complex these engineering workflows can be, even though I don't design hardware myself.
You might find it interesting to look into AI-powered PCB design tools for your next iteration. There are some cool tools popping up that can use AI to assist with the trace routing and layout, which could make the process much less tedious for you.
"... I have a rough idea of" and "look into AI-powered ... design tools" is a sad sentence to come across. This young individual spent time to learn complex things and implemented it into an actual useful physical thing. Why give this advice in the first place? To stop them from learning?
Routing is honestly one of my favorite parts of making a PCB, there's something about the feeling of understanding exactly what each trace is doing that I find exhilarating.
The problem with most AI powered tools is that they don't understand the context of your board, which is absolutely crucial for routing. Like so-and-so trace could be switching really fast and an AI powered design tool wouldn't understand that and wouldn't route it properly. Or like power for example, different things have different power requirements and I feel like we're not at the point where these tools are referencing every datasheet on the planet to figure out trace/fill sizes and whatnot.
There's also some concepts I don't think these tools can wrap around quite yet. For example, minimizing loops, consistent ground planes, proper impedance control, and just all of these factors lead to an inferior board.
Not saying that humans are perfect and understand all of these too, I just feel like if you understand what's happening with your board, you can do a much better job.
At the end of the day, you'll be spending more time fixing the mistakes, which are actually pretty hard to spot without checking every single trace sometimes, then actually just routing it yourself, but maybe one day we'll get there!
I think we're only a few years away from BLDC servo motors taking over from steppers in 3d printers.
Ideally control algorithms for them would go into the MCU so there is proper force feedback too - ie. The system will know that there is an extruder clog by the increased extrusion force, or even set print speeds to be 'the fastest you can follow this path' rather than a fixed number of mm/sec. Ie. If the bearings get a little stiff it'll go slower rather than skipping a step.
There are some patents on sensorless servo control expiring which should cut the price of this stuff almost in half since the position sensor is one of the most expensive bits.
Power supplies are one of the more expensive parts of a 3d printer, and by having BLDC motors which can do regenerative braking, that same energy can be reused in the head and bed heaters, which should allow significantly smaller power supplies too - again with significant software complexity to make sure the bed heater primarily heats when the head is decelerating and stops heating whilst accelerating to not exceed the power budget.
For some reason my brain read the title as “3D printed motherboard” and I was really curious about how this was even possible, and I ended up being disappointed by the lack of detail on the github readme.
It's only after a few more seconds back on the HN front page that I realized my mistake.
Less exciting than what I read but cool project nonetheless.
It's not exactly 3d printing but Bad Obsession Motorsports took a small mill, stuck a hot end into the tool holder, fed solder instead of filament into it, and "printed" traces onto a blank PC board.
I thought it was pretty clever but they admit it was tricky to make work at all, let alone get good results.
>This is one of the first PCB's I've ever created, so it might have some flaws.
>4 layers
That's quite the jump for a noob. Would you mind sharing how you learned to produce such advanced output so fast? I mean my first ~50 PCB we're still just 2 layers.
4 layer boards actually make it easier instead of more advanced in my opinion. You can have a dedicated ground and power plane which makes routing much simpler, and the fields are much easier to predict.
It's also just double the price, so I can get 4 layer boards for like $8 from JLC and it just makes everything much more easily.
You still do want to build up to it though, I made a macropad, then a keyboard, and then made this, so it's definitely not just an immediate jump, but I built those 2 projects within the span of a couple months!
I think the term is/was originally a product name for a small, rectangular module with a stepper motor driver on it [1] from 2012. Then it seems the term has been made more generic, with updated versions like the SilentStepStick [2] featuring a driver chip by Trinamic instead.
I guess my point is that for some readers, the stepper motor features on OP's board could be made more clear and perhaps use actual chip numbers, too. :)
Great job!
[1]: https://wiki.geeetech.com/index.php/StepStick_A4988_Stepper_...
[2]: https://learn.watterott.com/silentstepstick/
Earlier journal log entries mentioned TMC2209_SILENTSTEPSTICK, but most recent schematics removed this designation. Seems like an oversight.
Consider using a slightly higher level connection to the print head: just power and a serial protocol. That way you are immediately future proof. What firmware are you running on this?
I found myself traveling recently and missed my 3d printer. There were a few neat things I could have done if I had a printer in a carry on. It would be kinda awesome to have a self contained 3d printer with a battery to take wherever I go.
If you're near a harbor freight, they have cheap rugged cases. Maybe design around that form factor, since they're easy to get?
I have a couple idea's on how I wanted to do it: - Belt printer fitted into a briefcase (the harbor freight case form factor would be good for that!) - Positron style - Maybe mess around with double four-bars
Making it self-contained with a battery is also a really cool concept I'll have to explore!
You might find it interesting to look into AI-powered PCB design tools for your next iteration. There are some cool tools popping up that can use AI to assist with the trace routing and layout, which could make the process much less tedious for you.
The problem with most AI powered tools is that they don't understand the context of your board, which is absolutely crucial for routing. Like so-and-so trace could be switching really fast and an AI powered design tool wouldn't understand that and wouldn't route it properly. Or like power for example, different things have different power requirements and I feel like we're not at the point where these tools are referencing every datasheet on the planet to figure out trace/fill sizes and whatnot.
There's also some concepts I don't think these tools can wrap around quite yet. For example, minimizing loops, consistent ground planes, proper impedance control, and just all of these factors lead to an inferior board.
Not saying that humans are perfect and understand all of these too, I just feel like if you understand what's happening with your board, you can do a much better job.
At the end of the day, you'll be spending more time fixing the mistakes, which are actually pretty hard to spot without checking every single trace sometimes, then actually just routing it yourself, but maybe one day we'll get there!
I'd love to hear some other takes though ;)
I think we're only a few years away from BLDC servo motors taking over from steppers in 3d printers.
Ideally control algorithms for them would go into the MCU so there is proper force feedback too - ie. The system will know that there is an extruder clog by the increased extrusion force, or even set print speeds to be 'the fastest you can follow this path' rather than a fixed number of mm/sec. Ie. If the bearings get a little stiff it'll go slower rather than skipping a step.
There are some patents on sensorless servo control expiring which should cut the price of this stuff almost in half since the position sensor is one of the most expensive bits.
Power supplies are one of the more expensive parts of a 3d printer, and by having BLDC motors which can do regenerative braking, that same energy can be reused in the head and bed heaters, which should allow significantly smaller power supplies too - again with significant software complexity to make sure the bed heater primarily heats when the head is decelerating and stops heating whilst accelerating to not exceed the power budget.
https://www.omc-stepperonline.com/ac-servo-motor
These are EtherCAT AC Servos for a couple hundred bucks, Any small cnc project that uses steppers/small bldc is a joke IMO
It's only after a few more seconds back on the HN front page that I realized my mistake.
Less exciting than what I read but cool project nonetheless.
I thought it was pretty clever but they admit it was tricky to make work at all, let alone get good results.
>4 layers
That's quite the jump for a noob. Would you mind sharing how you learned to produce such advanced output so fast? I mean my first ~50 PCB we're still just 2 layers.
Edit: nvm I just saw the journal.
It's also just double the price, so I can get 4 layer boards for like $8 from JLC and it just makes everything much more easily.
You still do want to build up to it though, I made a macropad, then a keyboard, and then made this, so it's definitely not just an immediate jump, but I built those 2 projects within the span of a couple months!
The Mini Sparkle is a 4 layer and available on their github https://github.com/adafruit/Adafruit-Mini-Sparkle-Motion-PCB
There are many more available at OSHWA : https://certification.oshwa.org/list.html
https://certification.oshwa.org/ca000068.html