- connecting past and future -

Archive for the ‘repstrap’ tag

PrinterPrinter @ Refab session

with one comment

During Fab6, the international fablab conference, the printerprinter has been presented during a session on ‘refab’ at the fablab Amersfoort. Results of the workshop, presentation slides etc. can be found on the wiki. The workshop resulted in a set of ‘house rules’ for refab in fablabs (but they equally apply to work in whatever lab you’re making stuff):

  • bring your own stuff, take your own waste
  • be efficient with your design and materials (limit your waste)
  • be efficient with your tools (hand tools are handy too)
  • make it modular, upgradable, repairable, recyclable!
  • make sure you know the material you are working with
  • contribute your errors and mistakes (document!)
  • mark what your thing’s made of (document!)
  • reuse what you can find!
  • build stuff to last

Written by edwin

September 13th, 2010 at 2:33 pm

Posted in fablab, fabrication

Tagged with ,

RecycledRobotics at Gogbot 2010

without comments

The printer-printer from the previous post was shown for the first time to the public at the Gogbot 2010 festival in Enschede. In a steel shipping container a small recycled-robotics lab was created featuring ‘pix’ - the pneumatic robot desk-light and a remote controlled power-socket-with-construction-light called the ‘Color Chaser’.


UtilityBot explainingreprap

Written by edwin

September 13th, 2010 at 2:03 pm

Repstrap using HP840c’s

with one comment

With the StarLC10 matrix repstrap ending up as pizza plotter, a start has been made building a new 3D machine using only the parts of 3 HP deskjet 840c printers.


The printers contain many useful parts, the casing is made almost entirely out of ABS (printing material, hurray!)


Especially the sliders come in nice, rectangular frame’s which make mounting them easy. For the first tests a frame has been assembled using standard aluminum X-beams (boikon).


Using the cleaner bin (which normally brushes and seals the cartridge) a Z-axis has been made which has at least 8cm of travel:

r0013947 r0013958 r0013959

Arduino-based control of a DC motor using incremental encoder and PID is not much more difficult than controlling a stepper motor. See the wiki for full documentation.

void setup(){
  int oldposition;
  attachInterrupt(0, encoder, RISING);
  while(position!=oldposition)  {
void loop(){
  float setpoint = 1000+400*sin(n/200)+200*sin(n/50); // 1890 positions
  float error = setpoint - position;
  setMotor((int)(limit((Kp*error + Kd*(error-oldError) + limit((Ki*sumError),antiWindup)),255)));
  oldError = error;
void encoder() {// encoder service routine
  if (digitalRead(4)>0) position++;
  else position--;
void setMotor(int value){ // set PWM of motor, value may range from -255 to 255
  if (value>=0)   {
  if (value<0)   {

next up: including the extruder head, interfacing, making connections, shredding abs, making a scrap-2-3mm-wire extruder system, etc.. etc…

Written by edwin

August 22nd, 2010 at 9:28 pm

Posted in fablab, fabrication

Tagged with ,

nylon extruder #2

without comments

nylon1 nylon2 nylon3

After the promising results with the first nylon extruder, we (woutzweers and I) made a new nozzle following reprap extruder size (so a 3.5 mm feed hole and a 0.5 mm extrusion hole). The extruder head consist of a small piece of brass with two holes placed at 45degree angle. The soldering iron has been mounted in the clamp of a milling machine, everything in the following movie is hand-operated.

Written by edwin

February 13th, 2010 at 7:45 pm

Posted in fablab, fabrication

Tagged with , ,

Nylon Extruder from soldering station

without comments

Of course, the machine described in the previous post was never meant to have a sole purpose of pizza printing (which it admittedly does badly) but to become a repstrap machine so I can build a sweet Mendel. Next step after a cartesian robot is the plastic extruder. Although other people have tried to use a soldering iron (with limited success) we chose that approach nevertheless. Since isolated heating wire appears to be hard to come by (except for the makerbot store) and we had a spare soldering station lying around. Our first tests seem promising:

nokia2281 sany0016 nokia2306

Critical issues are the steep thermal decline you need from the guiding tube to the heated nozzle. As soon as you drop pressure in putting the nylon through, the plastic pops out on top of the heated nozzle. Next up are a guiding tube from peak (or perhaps some ceramic material) and the steppermotor drive for automatic feeding.

BTW.. the reason we use nylon, is that you can buy it in a normal DIY hardware store. It is normally used for pulling wires trough tubes or unblocking drainage. ABS wire is still pretty expensive everywhere, especially for this kind of testing you’re not going to buy 3 kg…

Written by edwin

February 9th, 2010 at 5:35 pm

Pizza Plotter

with 3 comments

Bringing personal fabrication to your kitchen: the pizza Plotter. During one of the last lectures I gave for Creative Technology about reprap’s and personal fabrication one of the pizza hungry students (Symplexity) pointed out the necessary connection between pizza and production. Thus the idea for a Pizza Printer was born.

The previous posts on the Repstrap describe a 3D carthesian robot made from dot Matrix printer parts (using ONLY parts from three StarLC10 printers). Instead of the Z-axis the nozzle of a pressure plant mister was put on the head. The tank has been filled with tomato sauce. See the results on youtube below:

OK. admittedly, the accuracy needs some work. This has more to do with pressure / extrusion control than with the 2D robot. (which is basically an ordinary ottantotto controlled plotter now). The original StarLC10 power supply has been used, along with part of the casing. A standard RC servo has been added to the plant mister nozzle, allowing for on-off control for move- and draw commands. The ottantotto controls three stepper motors directly (using four wires per motor). The original stepper driver chips (STA401A) have been salvaged and re-used. For all the motors a single STA401 has been used. The control signals of both parallel motors have been bridged.

r0013730 r0013736 r0013731 r0013717 r0013733 r0013729

A drawing is made using a very simple processing sketch, based on the ‘file-save’ examples.

* sketchtool, based on the 'filesave' example.
* move mouse. Every time you click, a datapoint will be saved
int[] x = new int[0];
int[] y = new int[0];
void setup()
size(512, 512);
void draw()
for (int i = 0; i < x.length; i++) {
vertex(x[i], y[i]);
// Show the next segment to be added
if (x.length >= 1) {
line(mouseX, mouseY, x[x.length-1], y[x.length-1]);
void mousePressed() { // Click to add a line segment
x = append(x, mouseX);
y = append(y, mouseY);
void keyPressed() { // Press a key to save the data
String[] lines = new String[x.length];
for (int i = 0; i < x.length; i++) {
lines[i] = x[i]*4 + "t" + y[i]*4;
saveStrings("positions.txt", lines);
exit(); // Stop the program

Tomato Sauce and Pressure Vats are a match made in white-wall hell. At least until I fully understood the merits of hose-clamps. Luckily, if you are quick enough, the stains wash off well.

The printing program is equally simple (but will follow in a next post) The Ottantotto software has been made using winavr (since it involves timer interrupts, and I really love the AVRlib libraries from procryon)

Written by edwin

February 3rd, 2010 at 3:09 am

Posted in DIY, Robotics

Tagged with , ,

Repstrap V2

without comments

It is fun to see how deprivation of material can spark creativity! By setting the boundaries for this project to use ONLY the parts of printers and computer junk, you can - will come up with solutions you otherwise wouldn’t have thought of!


After last week’s enthusiastic post, reality kicked in hard when trying to control the steppermotors. Bottom line: they were by far not strong enough to power the metal carriage (normally they only have to move a plastic printer head) Besides lack of strength, they also lacked resolution. With one step (motor 7.2 degrees) more than one milimeter is covered! This makes it hard to get enough precision for printing parts.

One other problem is synchrony between the two side-axes. The slightest difference between the two motors causes the system to jam. The only way to prevent this is to mechanically link both motors.

It came as a surprise that it is possible to do all this using only the remaining parts of the matrix printers. The gears that were previously used for driving the paper roll have been used for a reduction in the drive train. Superfluous gears normally used for spinning the ink-lint have been used as bearings.

r0013684 r00136851 r0013686

r0013687 r0013689 r0013690

r0013691 r0013692 r0013695

The last two pictures show two optical detectors as end-stops for initialization purposes.

Between the two halve shafts that couple the motions from both Y axes, a temporary meccano solution has been made as flexible shaft coupling. Eventually something will have to be distilled from the printer parts, or I will cheat with an ordered flex coupling.


Written by edwin

January 11th, 2010 at 5:14 am

Posted in Uncategorized

Tagged with ,