by makeme

Posts Tagged ‘electronics’

How Low Can You Go

In Uncategorized on 20, Nov, 2011 at 14:34

When it comes to 3D printing, the most expensive part of the system is the electronics.

Makerbot wants $370 for their Gen4 electronics. With their Gen6 stepper extruder (and the driver for it) costing $165, and a set of X-Y-Z motors costing $105, that puts the complete cost of electronics at around $640. I figure this is a good upper bound on what 3D printer electronics should cost since Makerbot’s electronics are probably the most professional and full-featured. I’m not going to include a heated bed in this comparison because it’s not strictly necessary to get started, it’s just a performance upgrade.

Obviously, when there are complete 3D printer kits starting at $500, $640 for just the electronics is unacceptable for my purposes.

The confounding thing is that when you move away from Makerbot (and complete kits in general) you start to have to source from multiple vendors. There is not, as yet, a clearing house for open-source 3D printer components. Sellers tend to focus on one or two options. Additionally, they tend to be located in Europe, so that whole “You want HOW MUCH for shipping?!?” thing gets reversed.

RAMPS and Gen6 are mid-range in terms of performance flexibility and cost. So, you know, whatever. All the electronics kits I know of use pretty much (if not exactly) the same stepper drivers, and they all use USB, and these days they all have an SD-card option, so unless one of them tends to spit out errors more often they all have the same 3D printing performance. 

Sanguinololu seems to be the strongest attempt to whittle the electronics down to just the bare necessities. eMakerShop sells the whole thing (including drivers & firmware tested) for about $170 shipped, they want $95 for the motors (shipped) and $75 for the extruder (shipped). That all comes to around $340. Solidoodle sells the whole thing (without drivers) for $105 (shipped), but doesn’t sell anything else. LulzBot can make up the difference with four Pololus for $65, four motors for $75, and a 12V 25A 300W power supply for $35. They have a hot end that they want $75 for. That all comes to around $350.

There are rumors of people pushing the electronics cost even lower. For example, something called GenL offloads most of the computation to the host computer by using more USB bandwidth. Another example is Repic by Mark Feldman, but I can’t find much information about it.

As you can see, the electronics is the most expensive part of the printer and the stepper motor/driver combination is the most expensive part of the electronics. The need for four bi-polar steppers and four microstepping drivers demands $120 minimum. You might be able to get that down under $100 if you get really lucky on sales or start salvaging parts. The biggest barrier is that these particular parts can’t be made much cheaper. The Sanguinololu board can be brought down to around $60 if you buy the bare PCB, then the components, then burn the bootloader with something you already had (or maybe you can find a chip that’s already burned). But the motors and driver prices aren’t going anywhere.

Some blue-sky ideas for lowering the cost even further involve basically starting from scratch and creating a new family of electronics. The primary reason steppers are so popular is that they don’t require any feedback for accurate positioning. It’s possible that coupling a feedback mechanism (linear resistor, optical encoder, whatever) with a standard DC motor to create a servo would be cheaper. It would also be possible to simulate the entire electronics board on an FPGA for a one-chip solution; just a PCB with the FPGA, its interface, and a bunch of transistors for amplification. Maybe the motors, and their complicated drivers, could be replaced with solenoids and some clockwork. Running all the high-power functions off of AC (out of the wall) might eliminate the need for a power supply (get logic power from the USB).

Makerbot Thing-O-Matic Extruder Relay Fix

In Uncategorized on 23, Jan, 2011 at 19:14

As I addressed previously: the Makerbot Thing-O-Matic has a few issues. Also addressed previously: why that’s half the fun!

The best way to troubleshoot something is to find where the problem is and gradually work backwards. At each step you try to confirm that a part works the way it’s expected to work. When a part fails a test, you either fix it or bypass it and see if that solves the problem. If it doesn’t, you make a note and continue moving backwards. Of course, it’s always preferable when you can just fix the problem. Or, maybe replace a part, that’s good too.

Plan C is usually to alter the design to compensate for something that simply can’t do what you’re trying to make it do. When it comes to the Generation 4 electronics and the Kysan DC motor on the extruder (all of them) … I’m down to Plan C.

I tried replacing the old Extruder Controller (EC) circuit board with a new one that Makerbot was kind enough to RMA (thanks Ethan!). I also tried replacing the actual motor driver chip (A3949) on the old board with a new one from Digikey (no joy, also, I’m not sure how happy support was about that). The closest I got to a solution was that the totally new EC would drive the motor for a little while (the old one wouldn’t put out any voltage at all). I backed out the delrin plunger’s thumb screw on the extruder so that there was no load on the motor, and just watched the multimeter. Sometimes it would work fine (11.98v), sometimes it would try (~7v) and sometimes it would give up (80mv).

For what it’s worth, by running through this failure mode several times I was able to find that when the motor stopped turning its resistance was basically shorted out  (1.4 ohms). When it was turning fine it was resisting fine (30-45 ohms). So, I suspect that it could very well be a problem with the motor (a bad winding maybe) that’s causing a problem with the motor driver. My guess is that the motor is basically shorting out while it’s spinning, which dramatically increases the current in the circuit, triggering the A3949 to shut down. It’s probably turning back on a microsecond later, applying 12v again, and shutting down again. Repeating that over and over again is probably what produced the 7v-ish reading.

At any rate, replacing the broken part didn’t fix the problem. It merely illustrated that the new part would probably break too. Several people seem to agree that the current design is beyond fixing. Time for Plan C.

“… I’m using the motor just fine to push plastic , powered from the 12v rail of the power supply in the TOM, using a relay connected to the usual motor control to turn it on and off. There hasn’t been a single glitch in this setup.” – ScribbleJ

Instead of connecting [the EC] to the motor (which fails just as described in these posts), I connected it to a couple of relays. This works in both directions…” MakeALot

The relay kit did it for me. Motor started working perfectly.” – g00bd0g

I didn’t feel like waiting for  support to maybe send me a relay kit, so I cobbled something together from Radio Shack. I am happy to report that I just got through 20 minutes of printing without a single problem (that hasn’t happened in weeks). What I did is basically like what rwensley did, but with only one relay (forward or stop).

Parts list:


  1. Figure out where to mount the new components. I cut a small piece off the perf board and drilled 1/8″ holes so that I could mount it in between the EC and stepper driver using the existing mounting points.
  2. Test fit the components. I then elongated the holes because I’d mounted the board too close to the edge of the bottom panel. Remember that the outside edge of the electronics are butted right up against a wall when the bot is closed.
  3. Mark the perf board. I suggest, if you mount the DIY relay board underneath the two existing circuit boards on the same bolts, that you mark it with a sharpie to show where you have room for components. Remember to connect the RJ cable.
  4. Cut the female Molex connector. I left a couple inches of wire, then stripped a half inch off of the end of each.
  5. Drill holes for the Molex connector wires. I used a 5/64″ drill bit to enlarge four of the holes (at least one hole apart).
  6. Hot glue the components in place. You don’t have to do that, but the perf board I used didn’t have any copper on it, so I wanted a better mechanical connection then just soldered wires. It doesn’t take much hot glue, tho.
  7. Wiggle everything. The idea is that things aren’t going to fall apart when you start connecting/disconnecting things and trying to stuff them inside the bottom of the bot.
  8. Wire it up. Wiring a relay is pretty straight forward. Remember to put the stripped end of the diode on the positive wire.
  9. Test it. Not strictly necessary, but it’s good to make sure you got polarities right. I plugged everything in like it was finished, except that I left the two control wires free and just hooked them up to an external 12v source. This simulated the motor controller sending 12v to the motor (actually the relay now).
  10. Connect everything and close the bottom. Yay!

TOM relay