| ▲ | Show HN: I designed my own 3D printer motherboard(github.com) |
| 119 points by kaipereira 10 days ago | 33 comments |
| 3D printing is such a fascinating field of technology, so a couple months ago, I decided to take a deep dive and learn how they actually work! This took me to one of my very first PCB projects, a small, cheap, 3D printer motherboard. While it's not the most cutting edge board, I learned a lot and I fully documented my process designing it (https://github.com/KaiPereira/Cheetah-MX4-Mini/blob/master/J...), so other people can learn from my mistakes! It runs off of an STM32H743 MCU, has 4 TMC stepsticks with UART/SPI configurations, sensorless/endstop homing, thermistor and fan ports, parallel, serial and TFT display connectors, bed and heater outputs and USB-C/SD Card printing, all in a small 80x90mm form factor with support for Marlin and Klipper! Because it's smaller and cheaper than a typical motherboard, you can use it for smaller/more affordable printers, and other people can also reference the journal if they're making their own board! If I were to make a V2, I would probably clean up the traces/layout of the PCB, pay more attention to trace size, stitching and fills, BOM optimize even further, and add another motor driver or two to the board. I also should've payed a bit more attention to how much current I would be drawing, and also the voltage ratings, because some of the parts are under-rated for the power. I'm still actively refining it and fixing up some of the mistakes, but I plan on using this board to make a tiny foldup 3D printer I can bring to hackathons and 3D print on the go! The project is fully open source, and journaled, so if you'd like to check it out it's on GitHub (https://github.com/KaiPereira/Cheetah-MX4-Mini)! I absolutely loved making this project and I'd love to hear what you guys would want to see in a V2! |
|
| ▲ | unwind 11 hours ago | parent | next [-] |
| 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. :) Great job! [1]: https://wiki.geeetech.com/index.php/StepStick_A4988_Stepper_... [2]: https://learn.watterott.com/silentstepstick/ |
| |
| ▲ | theamk 3 hours ago | parent [-] | | 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. |
|
|
| ▲ | jacquesm 11 hours ago | parent | prev | next [-] |
| 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? |
| |
| ▲ | kaipereira 5 hours ago | parent [-] | | 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! |
|
|
| ▲ | djfobbz 8 hours ago | parent | prev | next [-] |
| Really great job, Kai!!! The fact that you’re only 17, you’re absolutely killing it. |
|
| ▲ | bb88 a day ago | parent | prev | next [-] |
| Really cool. 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? |
| |
| ▲ | ezst 13 hours ago | parent | next [-] | | https://www.jeffgeerling.com/blog/2024/positron-upside-down-... and here you got an interesting form-factor | | |
| ▲ | adolph 4 hours ago | parent [-] | | I was thinking the same, thanks for linking to it. Their github has gone quiet in 2025. Is Positron still viable concern? | | |
| |
| ▲ | kaipereira 19 hours ago | parent | prev | next [-] | | That's a really cool idea! 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! | |
| ▲ | steve_adams_86 14 hours ago | parent | prev [-] | | 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. | | |
| ▲ | bdcravens 3 hours ago | parent [-] | | 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. |
|
|
|
| ▲ | phkahler 8 hours ago | parent | prev | next [-] |
| Why all those heat sinks? Power electronics are getting very good these days with low RDS-on. Have stepper drivers not kept up? |
| |
| ▲ | londons_explore 6 hours ago | parent [-] | | Sadly not really. 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. | | |
| ▲ | phkahler 22 minutes ago | parent | next [-] | | Holding position with BLDC or FoC controlled motors is IMHO fairly difficult. Maybe less so in a printer where you can apply current to hold position. We usually do speed or torque control with them. Even with an encoder or equivalent it's tough to run 2 or 3 at once with a single MCU. But yeah that's why I asked about stepper drivers, my day job is FoC motor control and I'm running a pair of 2KW motors with a power board about the size of an RPi with no heat sinks. | |
| ▲ | vablings 3 hours ago | parent | prev [-] | | I completely disagree. BLDC control is not far from AC-servo, and they are insanely cheap nowdays 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 |
|
|
|
| ▲ | littlestymaar a day ago | parent | prev | next [-] |
| 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. |
| |
| ▲ | kej a day ago | parent | next [-] | | I don't know what the state of the art is, but 3D printing circuit boards is a thing people are doing: https://all3dp.com/1/3d-printed-circuit-boards-pcb/ | | |
| ▲ | _def 10 hours ago | parent [-] | | I got excited but "people" here does not really refer to hobbyists I suppose (please contradict me) | | |
| ▲ | kej 2 hours ago | parent [-] | | My understanding is that home etching is probably still more practical and neither of those are going to match professional quality, but conductive filament and the "print everywhere except where the metal goes and then add metal" options should both be in reach of the upper end of the hobbyist sector. |
|
| |
| ▲ | bityard 6 hours ago | parent | prev | next [-] | | 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. | |
| ▲ | ozten 14 hours ago | parent | prev [-] | | Mobile RepRap (the ideal self-printing technology) |
|
|
| ▲ | aeve890 a day ago | parent | prev | next [-] |
| >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. Edit: nvm I just saw the journal. |
| |
| ▲ | kaipereira 18 hours ago | parent | next [-] | | 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! | |
| ▲ | whynotmaybe 4 hours ago | parent | prev [-] | | For me, it helped me to look at open source hardware like adafruit's. 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 | | |
|
|
| ▲ | twelvechess 9 hours ago | parent | prev | next [-] |
| I suspect 3D printing will be huge the next couple of years as SaaS gets more and more saturated |
|
| ▲ | rancar2 a day ago | parent | prev | next [-] |
| Nice work; I’d love to see a V2. Quick tip: try Flux AI to help accelerate the V2 work! |
|
| ▲ | jigsawdesigner 6 hours ago | parent | prev [-] |
| 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. |
| |
| ▲ | k1musab1 4 hours ago | parent | next [-] | | "... 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? | |
| ▲ | kaipereira 4 hours ago | parent | prev [-] | | 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'd love to hear some other takes though ;) |
|