I recently did a soft-launch on KickStarter(KS). This launch was done semi-silently. I wanted to see how much demand there was for EasyMaker in its current configuration directly from KickStarter over the launch week — this way, I’d know a lot more than I do about the market for the robot. I’ve seen at least 2 other 3d printer projects launch within the last few weeks on KS. At this point, I know enough about KickStarter trends to suspect that the current robot won’t sell enough units in that channel to meet the goal.
I can’t launch EasyMaker without enough paid pre-orders. The only way I can get the various parts I want is to have them custom designed. I probably have enough skill to do any/all of the components on my own, but I don’t have enough time. In order to make easymaker, “Easy” for end consumers, the electronics and software need a lot of extra work. This is true in all 3D printers and CNC mills.
It’s hard for me to explain the problems in those without co-mingling the concepts a little. The electronics and the software are so tightly coupled. So, I’ll try and explain the problems in electronics first by comparing/contrasting to what already exists or will soon exist in other projects.
Right now, whether you use RAMPS, sanguilolo, PrntrBoard, etc, you end up with an Alegro A4983 or A4988 stepper driver. These drivers are rated to 2 amps of current and have a lot of nice features. They also have a terrible limitation. They thermally shut-down very easily( aka overheat ). This means that all of the electronics that use this driver, especially at high power, need to manage heat. This means heatinks and fans in the enclosures, which means larger enclosures and more limited operating conditions. Since this generation of electronics using this driver are open-loop systems, thermal shutdowns manifest as skipped steps — they affect the output quality. New electronics around the TIDRV8818 would probably solve this problem — they’re known to be more thermally stable. They’re also more expensive, and have a different pin layout. It would take quite some time to design a new board around this, and without high quantity, would be expensive.
Right now, there are two types of cabling/headers available. Some people use pin headers, and some people use screw terminal. Both of these can work just fine if you don’t move the robot around much. Both of these are a real pain to work with if you do move it around a lot. I drive my printer around from time to time, so I have to disconnect/reconnect it often. I get to see the problems of this up close. First of all, it takes too much time. Both to initially assemble the cables, and second, to disassemble and move. Pin headers wear on every connect/disconnect cycle. After a few dozen cycles, they make poor contact with their pins, and new pins/housings need to be crimped on the cable. Definitely no fun. Screw terminals stress the wires, and over connect/disconnect cycles, cause metal fatigue that breaks the exposed sections of wiring. More over, while they take less time than pin header in initial construction, they still take a lot of time, and make the cost of disconnecting/reconnecting much higher. The right solution is probably a design around the IEEE 1394 cabling standard. These cables are designed for high power DC applications, are cheap, and come fully assembled. They can be connected/disconnected many times without the wear causing electrical contact problems. They also would mean new connectors on the boards, and possible moving the stepper drivers to the motor. Again, without volume, this is essentially impossible to do. I’d really have to sell 50-100 EasyMakers just to begin getting this work spec’d out. I’d need the volume for a chip run to be affordable.
Right now, the cheaper electronics are going with 4 stepper drivers. Some go for 5, and I only know of one board at six. I think the future of 3D printing and CNC milling will be around 6 Axis systems. For the 3D printer, 3 axis are for X, Y, and Z; while another 3 are for finishing extruder( which will be much smaller than today’s .35 — I guess a .1 will be possible/normal once skinning and infill are separated ), an infill extruder( while will probably be .5 or .75 ), and a support extruder( probably around .35 ). In CNC milling, the same X/Y/Z axis will remain, while pitch. yaw, and table rotate will probably become more common. While I see that the RA board will have this driver layout, it is also as expensive as RAMPS. I actually think more will be needed. In order for EasyMaker to fill its vision( lathe/powder/whatever you want, ) I think 8 drivers might be optimal, as well as at least a 6 pin GPIO. All of this has to be easy to use. Also — existing boards don’t support variable voltage. This means that you can’t use voltage regulated motors. In milling, there’s a nice set of relatively cheap ER spindles made in China right now. These use a 1/4 hp variable voltage motor. Being able to change the voltage on the fly would mean speed/power control in an affordable, precise, and powerful spindle. It would revolutionize home milling — bringing into affordability the level of precision and quality that people are currently getting with something like a Fordham carving system( which is just a motor and spindle for $300 ).
Just the design time of the electronics would take an EE at least 3-6 full time months of work, if not more. It would take me years of tinkering in my spare time.
Next, we come the software problems:
Right now, people are mostly using Marlin. Marlin is pretty nice — I use it too. But there’s things it doesn’t do very well. For example, it doesn’t pause when you tell it to, or it doesn’t turn on/off the heater elements when you would expect. This is because Marlin uses a buffer and a timer to handle GCode processing. The timer isn’t used to handle the pause GCode, but to scan the buffer for temperature changes and prioritize them. Great for 3D printing. Terrible for milling. Many CAM tools will generate start/stop signals inline to the motion code. But since those are now executed out of order, well, you end up not being able to use full control over your spindle. Acceleration profiles are great for printing, terrible for milling. You do not want to speed up when boring a hole. Features aren’t there — for example, variable speed control of the spindle.
While I’m loathe to write CAM software, given that SkeinForge and Pycam both already exist — the current crop of open-source CAM tools leave a lot to be desired. The biggest problems with them are around multi-axis machines and workpiece supports. It is looking increasingly likely that tapes and other adhesive systems can be used to hold a workpiece down while milling it. But, the CAM tools currently all treat the process as layers, and cut the entire profile out at each layer. This means that you cut through your tape too early, and your workpiece isn’t as stable as I’d like when using something as easy as tape. Other mounting systems exist — parallel bars, bolts, vices. But nothing is home-user easier than tape. Also — if additional axis are to be used, it’s not enough for the machine to have them and the firmware to support them — the CAM tool must use them as well.
Currently, the user interface of the tools is all different. It’s not all intuitive( or even complete ). I think Slic3r might be the best in terms of UI — but it doesn’t do any milling. Even Slic3r has its UX issues. Renaming things over time. Changing absolute numbers to percents. Etc… In order to make 3D printers and CNC mills easy, it’s going to take a new UI — one made by a designer, and not an engineer.
Again — I know enough about software to do it myself. But this is closer to a 2 man-year project( aka, it would take a single person working full time about 2 years ). Again, this needs to move from work done once in a while to a full-time person.
And this is just the technical side. There’s a lot of work to be done on the business side. Sales,accounting, HR, etc… So, unless I already had a functioning side business, or funding from a VC, there’s simply not enough manpower to take EasyMaker to complete the full vision. There’s just not enough interested buyers to justify doing much more with this project. EasyMaker needs to sell without advertising. EasyMaker needs to sell enough units. I need to know that the channel supports the robot intrinsically — These are just requirements to run a project from a garage.
In order to move EasyMaker to the next level, there has to be enough unit demand. Right now, I’m not sure that will happen. Most 3D printers or mills hit their goal within the launch week. It looks like the channel has spoken, and wants additional changes. Now, I’ll have to figure out what they are. I need to re-engineer the machine in a way that drives unit volume, while at the same time, keeping the constraints of the electronics/software/parts that are available to me at my scale. I’d hate to do that — these constraints can be solved, and create a better overall experience for everyone.
This will likely mean a change in name. Without the electronics and software changes I mentioned, this new robot won’t be as easy to use, and I feel the name would be inappropriate. It’d be no harder than existing robots( aka RepRaps, Sherline mills, etc ) — but I think existing robots aren’t easy enough to use. Rolling element bearings will have to be removed — they’re too expensive ( and they’ve been on the chopping block for a while. Sourcing them reliably, cheaply, and at high quality is a real challenge). I’ll likely remove the changeable drive system, and instead just focus on a single drive type. Printer functionality will probably be a bolt-on upgrade to the basic robot, while the Z motion system will likely be changed to a more traditional system than MakerSlide. I do have a vision of these changes — but they’ll take some time to make. In the mean-time, the market will move forward. Some of the problems will solve themselves, due to market changes– but some won’t. Backing the KickStarter now is a better way to get to the end goal of an easy to use, fully functioned robot that can make almost anything.