I am surprised that they switched to a more powerful microcontroller. While it is something Reddit endlessly complains about (despite having no software engineering experience), a lot of engineering is invested into their existing 8-bit platform which works perfectly fine. You don't need 32-bit pointers to read a string like "G1 X42" and pulse an I/O pin a couple times ;)
I don't think I would have engineered a new board and control stack just to get a web interface and a screen. Their last model (the i3 MK3S) has headers to accept a Pi Zero, and that seems like a good approach modulo the bugs, which would be worth fixing. (Apparently the bugs are, the Pi Zero isn't fast enough to emit gcode to the UART and record a video stream from a camera at the same time. I kind of doubt it, but that's what I'm told. The other problem is that the i3 has one power switch, so it can't keep the RPi on when the printer is powered off. This means a lot of people are corrupting their SD card, which is probably why they complain about the setup randomly breaking.)
I just want a USB serial port that accepts gcode. I have plenty of computers with much better screens (and SSL stacks) around for doing something more powerful ;)
That's fair, but then you've added an extra processor which adds a lot of cost. I don't want to tie up a full computer and the associated space just to run my printer. Many people don't have a spare computer they can dedicate to printing either.
From what I've heard, this is not reliable in the current implementations. If the computer goes to sleep, is under high load, or crashes this can result in a failed print. Of course you could build in more and more safeguards for this sort of thing (buffer the gcode, have some "emergency stop" movement which moves the head up and away from the print and decreases the temp of the hot end if there is a break in the stream of instructions) but this is a lot of additional effort when you could just as easily push all the gcode onto an SD card on the printer.
Write file, insert, pick job, walk away, done.
For very long prints, SD is my goto. No failures.
In the release they say that it will come in 3 pieces that you put together, not a full from-scratch kit
While I agree Reddit's obsession with weird technical details is annoying, this is a pretty arrogant position. I've written motion control code for both 8-bit and 32-bit designs, and the difference is bigger than "read a string and pulse an IO a few times". The Atmega has been outdated for the past 10 years, the only reason it picked up in 3D printing was because of the accessibility through Arduino and similar---not for any good, technical reason. They're going to need to switch at some point, may as well be now.
Sure, you don't _need_ a 32 bit processor, but a modern Cortex-M0 or M4 is much more powerful than an Atmega328 for the same cost or less. My Prusa Mk3 takes a non-negligible amount of time to sort files on the SD card, and the screen could really show more information. There is also much more advanced motion planning they could do with a little more power available.
> Why did we decide to switch to a 32-bit board? Surprisingly, raw performance is not the main reason. We can now write cleaner and more abstract (reusable) code without assembler hacks like on the 8-bit board. Adding new features becomes much less of a hassle and we don’t have to count every single byte in the flash memory. Unit tests and JTAG debugging sped up the development and we also got the chance to include ethernet and optional Wi-Fi connections.
If you read through the firmware you'll find 1000000x #define's for different features that I'm sure they're eager to get rid of.
But for 3D printing isn't the printer simply reading the instructions in the gcode? It's not doing any motion planning at all, that is all decided by the slicer.
The slicer will generate a command that says go from point (x1, y1, z1) to point (x2, y2, z2) with speed f, but it doesn't say anything about acceleration, or how to transition into the next move. A very simplistic controller will use a trapezoidal ramp profile where it will ramp up to the programmed feed rate at a fixed acceleration, then stay at the programmed feed, then ramp down in time to reach the end point. However, if the move was a very short line or arc as part of a large surface, the machine doesn't need to reach 0 speed before starting the next move. A smarter controller will 'look ahead' to predict the next few move and plan the motion of the machine to eliminate jerkiness or stopping.
The slicer may tell the machine what acceleration to use, but that's really just setting a parameter in the machine controller, and isn't settable per-move.
This isn't as critical for 3D printers as it is for big, heavy milling machines. Nevertheless, you can do clever things like trying to compensate for vibration, or speeding up or slowing down the extruder motor based on the pressure of the plastic in the nozzle.
This isn't to say Prusa is switching just to do better motion planning, it sounds like that isn't a primary goal, but I'm trying to illustrate there is a lot more room for intelligence than 'just wiggling some IO'.
I can see some benefit to motion planning on the device if, for example, decisions are being made based on real-time data. For example, if there is a pressure sensor for the nozzle then the board could use this this realtime data to adjust it's motion.
If there's no realtime data being input then everything is simply a deterministic function of the gcode, and all of these aspects related to acceleration and jerk can be precomputed on your powerful multi-core desktop and "rolled into" the gcode.
Regardless, I was just pointing out one place where a bit of extra power could help with printing. However, that's not really the point. It's not that the core _needs_ to be 32 bit, it's that most modern microcontrollers are 32 bit. The Atmega is more expensive, has less memory, no JTAG, no DMA, poor debugging support, and mediocre peripherals. The extra power to run more advanced motion control is just a bonus when you switch to a modern Cortex-M.
The real usefulness of power is the possibly to add other features not directly related to printing like built-in ethernet/wifi, or a larger screen (it drives me nuts that I can't see longer file names on my Prusa screen).
I get why you would start from scratch with an M4. I don't get why you would maintain two different codebases commercially, though.
(As for the motion control aspect, at the feedrates of 3D printers, I don't think you get anything from a faster processor. Motion control is not what's limiting print speed or accuracy.)
I mean sure, it's not going to be a perfectly smooth transition, but I think you're underestimating how bad it was on the Atmega. There is _no_ code space left on those chips, which makes adding features nearly impossible. They'll probably just maintain the old version for as long as they can, while switching new products over to the new one.
The codebase is also probably simpler than you realize. These microcontrollers don't have the code space for programs of any significant size. Porting the peripheral interfaces over to the new controller is not that hard.
> (As for the motion control aspect, at the feedrates of 3D printers, I don't think you get anything from a faster processor. Motion control is not what's limiting print speed or accuracy.)
This is actually a real problem. It's not the basic motion control, but doing things like intelligent look-ahead or vibration compensation.
I think the technology is further ahead than you realize. It's not an Atmega running your microwave we're talking about. Those chips _are_ seriously limited, in material ways, even if you haven't run into it yourself.
iirc they have well over 200 employees at this point.
For example, Prusa filaments are perfectly rewind, so the possibility of the filament making a knot and stopping the print like has happened to me with other filaments in 14h printing sessions does not exist.
Or chinese aluminium printing beds, with 0.3-0.4 mms differences along the printer, that even with a touch probe you can't print big things over.
Those beds are so cheap, and you could print small pieces with them, but anything serious in size like 18x18 cms will fail. Prusa warrantees it.
Quality control is the great advantage that Prusa has over the Chinese(that love lying). He knows it, and sends you a report of the QA of your specific machine.
You will eventually need to do maintenance on it, you'll eventually have a clog or a broke part or need to do some slightly technical stuff to fix an eventual problem, but most adults capable of building Ikea furniture should be able to follow instructions and do it.
I'm assuming this will be closer to 85% "plug and play". Things like the "one click print", color screen, WiFi and automatic firmware updates are the biggest nice to haves.
But I don't think they've gotten to the point where you'll have reliability similar to a normal "2d" paper printer, so at some point you'll need to take some stuff apart to unclog it. But that's about the extent of the technical needs I'd expect from this printer.
He truly believes it. Not only that, but his left arm has the Open Source Hardware logo tattooed with honeycomb infill :)
I've been there and saw his progress from the beginning. I was at the first MRRF, and he flew in from Prague. Back then, I had my Prusa i2 printer, designed by him to use 8mm threaded rod with a simple 3d prints to make your own printer.
Things have indeed changed since those old days!
https://github.com/Creality3DPrinting/Ender-3
Quality is pretty top notch. It worked out of the box flawlessly and with no futzing.
1. They use crappy MOSFETs that are known to fail closed. This means you can get a runaway heat on your hotend. A 40w cartridge can melt the alu heatspreader
2. The beds are anemic for heating. Not enough power
3. Crappy steppers
4. No features for jam detection, autoleveling, skipped step protection, filament runout
5. "Chinese" quality: good luck in getting any sort of tech support. Once they have your money, you're fucked.
I'm fighting right now with Pine64 over defective eMMC modules that ignore the first read, causing initrd to fail to boot. Of course, they were chatty on Twitter prior to purchase, but have ignored every way of contact AFTER purchase. But pretty much every Chinese company is like this.
1. They’re IRLR3103PBF operated within their SOA. They’re fine. Most MOSFETs fail short due to the construction of the MOSFET. I’ve actually got a few scars on my arms from the buggers exploding on me misusing them on purpose as RF PA’s as a ham. I’ve seen them blow up in various bits of expensive US made kit too (tektronix 22xx in particular grr)
2. I’ve had absolutely no problems at all with mine and adhesion.
3. A decent stepper costs as much as a Prusa i3. All the steppers at this price are crap. But they work pretty damn well.
4. These are luxuries really. If it jams the Bowden tube pops out and you clean it up and off you go. I levelled it in 3 mins myself. Skipped step I’m not sure if the scenario. Filament run out doesn’t happen if you pay attention to the Cura filament length and don’t try to wing using up the ass end of a roll.
5. I’m not paying for support. I’ll fix it myself. I’m quite handy with a screwdriver, a compiler and a soldering iron. The thing is just an AVR running open source firmware. Nothing complex.
The main thing is I can get functional chunks of spare parts for this next day via eBay.
As for comparing Chinese support to US support, I’ve had better luck out of the worst Chinese company than Microsoft and Apple.
I had the experience of getting and assembling a Prusa MK3 kit for myself, and getting access to a cheap Chinese printer at roughly the same time.
The Prusa cost more than twice as much and I've already made upgrades. Worked correctly right after assembly. I've already gone through several kilos of successful prints. And the frills just make it so much nicer to use: spring steel bed, auto mesh leveling, the Prusa fork of Slic3r just keeps getting better and better.
The Chinese printer required you to attach the gantry to the bed. But after weeks of tweaking. It still doesn't work correctly. It's completed prints. But none of them have been of decent quality. Now, some of the Chinese printers appear to be good. But do yourself a favour and research the specific models if you want to buy one.
Otherwise, if you really care about designing and prototyping, spend the extra cash and spend more time making things. There are a few brands out there. I reckon Prusa has the best kits if you swing that way.
It's just too finicky. Too many odd issues with jams, adhesion. I left it sitting for a while and for some reason when I came back to use it I had to play with the belt adjustment. The magnetic bed doesn't align properly so you need to intentionally line it up in a way that doesn't cleanly overlap the metal base.
And I'll admit recently there's a trend of Chinese companies in the space actually working on conscious iterative design based on feedback, especially Creality... but it's still obvious they're just reacting to whatever pops up, instead of trying to get ahead of what people want (which Prusa excels at)
Creality tried tried to fix the fan issue everyone complained about (fan exposed to dust and filament refuse) in the Ender 3... by mounting the board upside down with the fan mounted on the bottom millimeters away from your work surface. Which made any modifications that needed access to the board a massive headache (I actually didn't bother putting back half the screws, since to access them you need to put the entire machine on it's side... )
-
Long story short, when I want to print something, I want to know, this thing will be ready to go. The hard part should be designing it, if I can't rely on the printer to just work™ when the motivation is there, I just don't bother.
And this is someone who likes to tinker, it's just when I want to tinker on X, I don't want tinkering on Y to get in the way.
I personally don't understand why step motor control is something that needs to be outsourced. Just stick an H-bridge between the microcontroller and the motor and improve the control algorithm with every release.
The typical H bridge has many failure modes and disadvantages which are handled by the controller ICs. Not to mention a lot less CPU overhead for the AVR running the show.
I am waiting for a 3D printer that uses servo motors, though. So many failed prints come from not knowing where the extruder is. But you can just measure exactly where it is, rather than guessing based on how much current the motor used.
I use Leadshine ones normally. They're big but also very reasonably priced and work very well.
I don't really agree with that argument from a humanitarian perspective. That would simply further increase the vast economic inequality between the west and the rest. Even with lower wages, people in China are better off with more jobs than fewer. People in the Czech Republic for instance have more safety nets, more alternatives and opportunities.
Making products locally maintains a higher standard of living and can limit dependencies on others.
Not doing that takes a nations to largely service economy status and when that matures the standard of living declines, infrastructure development slows or stops, tax revenue goes down, and demand for new products gets tepid.
In short terms, the boost from cheap stuff is nice. As wages flatten, that cheap stuff becomes not so cheap and improving income more difficult.
For the future, I know I’ll replace the fans, and probably the main board
That’s without adding my time: updating the firmware (overheating protection seems cool), calibrating and configuration of the various bit (like the probe position relative to the hot end), finding the correct slicer and config for it.
Now it works fine.
Still, it cost me way more than the list price to get to this point. A prusa mini would have been a better investment !
Why exactly is it preferable to favor "the west" over other places? These types of statements read a lot like "us vs them" to me. What makes "the west" an intrinsically morally better source for products?
All in all, I consider this a solid contender.
I don’t really feel that way but your argument just isn’t sound.
Everybody is complaining about the price, but c'mon this thing is designed printed and assembled in Prague, the EU. It creates local jobs for people with fair wages, social security and good quality of life, we should strive to have more of our stuff produced in the west.
Happy to see him design another printer, I really love my MK3.