Tuesday, February 27, 2007


Website Architecture Changes

Reposted from the main blog just in case you didn't see it.

Recently, we've made some changes to our setup on the web here. You may or may have not noticed, but we are now serving the vast majority of our stuff off the reprap.org domain. Recent changes include moving the forums, blogs, objects wiki, and mailing lists to reprap.org. Here are the new url's for those sites.

Forums - forums.reprap.org
Main Blog - blog.reprap.org
RepRappers Blog - builders.reprap.org
Objects Wiki - objects.reprap.org
Mailing Lists - reprap.org/mailman/listinfo

The forums are an especially new addition, and we hope you come in and chat with us. We've got alot of interesting topics going and you can even follow the developers mailing list as its mirrored there.

Sunday, February 25, 2007


Stepper Controller Boards Started

This weekend I got around to making the 3 controller boards I need for my RepRap machine. Everything went really smoothly and I'm excitedly waiting til tomorrow when I get the rest of the parts I need (18 pin DIP socket, dsub serial connector, more transisors, etc.) However, I think I did a really good job on soldering these guys, so everything should work just fine.

Anyway, I took an absolutely ridiculous amount of pictures.

Friday, February 23, 2007


Biollante Chained

I finally have two boards working together. On the left, is the communications controller; it doesn't do much but convert RS-232 line levels and repeat outbound packets at the moment, but I hope to have it driving synchronous movement and displaying debugging data soon enough. On the right is the stepper controller.

These modules are similar to the standard ones on the site, but differ in several important ways.
1) Packet format -- Far simpler than the SNAP the standard firmware uses, and actually human readable/writable. A serial console is enough to do testing.
2) Hardware Flow control -- Without hardware buffers, SOME way of slowing down transmission from the computer is needed. Simple CTS hardware flow control is enough -- deassert the CTS line and the computer stops transmitting.
3) Software -- SDCC now has proper support for some things it didn't back when the original RepRap firmware was written, like defining EEPROM values. Several lookup tables, and things like the chip ID, have been shoved into EEPROM to conserve code space.
3) Pin Assignment -- To use more of the pic16f628a's internal hardware, some pin assignments have been shifted around. RA4, for instance, is uniquely suited to be the SYNC input -- it can act as a direct clock source for the timer instead of watching a pin with busyloops.


ABS and HDPE Filament Group Buy.

I'm going to be ordering 3 MM ABS and UHMW plastic rod from Jim at New Image Plastics Manufacturing. I am organizing this as a group buy. Jim will be cutting up the plastic into 5lb sections, and shipping that out to people who have ordered it through me.

UHMW is 3.75/lb. 5lb costs USD$18.75.
ABS is 5.24/lb. 5lb costs USD$26.20.

Please note that 5lb is the minimum size order Jim (and I) are willing to process.

Shipping is via UPS, or USPS for Canadians.
This is UPS's shipping calculator:
2411 S. Locust Street
Canal Fulton, OH 44614

So, if you want n * 5lb of ABS or UHMW, please contact me through my email, penguin at ihatespamtoo dot supermeta dot com* , and we'll sort out payment. I hope everyone is comfortable with paypal. I'll be phoning in the order Monday afternoon.

* Delete "ihatespamtoo" and format appropriately.

Wednesday, February 21, 2007


Progress Update

Thought I would comment on my progress. I like Zach have a comm board. Nice going Zach! I tested the communications shorting tx to rx using hyperterm with properties set to ansi (took me a while to figure out thats what I needed to set it to). I verified that characters stopped being sent when I disconnected the leads. I cheaped out using a simple design I found using 4 resistors, 3 diodes and 2 npn transistors. I found it while looking for pic programmers and decided to try it because of its simplicity. http://www.ise.pw.edu.pl/~wzab/picadc/RS232.png
So that makes pic programmer and comms unit working. I have my stepper motors. Nichrome 80 is on order. Some teflon blocks on order as well. A little index card box houses my chips and sockets and various electronic sundries. Oh, and I got a lighted magnifying glass so I could see what I was doing with small stuff. You young guys will know what I mean in 20-30 years. I have a drill press and cross slide vise coming in a week so I can do some simple milling/routing to make the extruder. If I can drive the vise with steppers I can try doing some milling of copper clad and quit doing this ugly perfboard stuff. But that means I'll have x and y stepper controllers already working. Well there is always the next version, and anything else I ever make. I'm getting excited.

Tuesday, February 20, 2007


powercomms board: begin!

i drilled and soldered my first board ever, and my first reprap board ever all in one fell swoop. its not completely done yet, but i think i may have done so successfully. within a very loose definition of success. ;) you see, i broke 4 drill bits while drilling and had a bit of trouble soldering certain parts (power and communications) but its okay because the led at least lit up. anyway, here is a gratuitous amount of pictures.


Serious Slicing and Dicing

Now that I know that Tommelise can print after a fashion I've turned to getting the software that I wrote back in August of last year to handle STL files a bit more easily. I'd like for my first print job on Tommelise to be either Adrian's Mk 2 parts or something rather like them, so I've been using the polymer pump of that parts set as a test case for Tommelise's Slice and Dice code.

The code is still buggy but I was able to do an abbreviated slicing exercise on the polymer pump this morning. I used a big z-dimension because my little digital camera can only record for 15 seconds. I really need to record this on my PC cam.

Anyway, here it is...

I especially like the last slice.


Saturday, February 17, 2007


First print for Tommelise

I've got the xy move command and the Mk 2.1 extruder command module combined on the PIC 18F4610 after a fashion and working. It's not nice, but it's a start.

I'm running it on manual line-by-line commands and playing with the flow rate. I started on the left and then got a bit better on the right. When you get the flow too low the extrusion trace doesn't stick to the cardboard and when you get to the corner you drag the unattached trace around a bit, thus that weird diagonal in the left box.

The blobs on the corners happened because I had to type in a new move xy command while the extruder was still pumping. I'm a fairly fast typist, but not that fast. The splay on the top side of the right box happened because I did a typo in coordinates. Positioning looks pretty good. I need to find a flatter piece of corrugated cardboard though.

The trace on the far right is my best effort. The flow was running a bit fast making the HDPE trace 1.25 mm wide. For scale the box is 30.5 mm on a side.

One thing, I crossed extrusion traces several times and it appears that HDPE will make strong joins between extrusion traces.

Friday, February 16, 2007


Simple Machines

Hi everyone! Great work so far!

I've been thinking for a while now that repraps (and more importantly, repstraps) aren't very good at making complex machines, like gears - despite heroic work by Vik. Simple Machines are much easier. To that extent, a co-worker and I are prototyping our repstrap with block, tackle, and capstan based cartesian robot. Until we can get some photos taken, I've sketched a design for an easily rep'd structural element, which can be 'stacked' to produce structures of any length. All pieces are flat, circles represent holes, the small piece is meant to connect multiple sections using the holes on the large rectangular pieces, using nuts and bolts, or plastic rivets.

Wednesday, February 14, 2007


Certifying the z-axis positioning integrity

This evening I finished writing and debugging the positioning function for the z-axis on Tommelise. I taped a piece of corregated cardboard to the tempered glass surface of the xy positioning table which I hoped would absorb a bit of overrun should that be required.

I had misjudged the length of the extruder barrel by several millimeters and had to mount the Mk 2.1 under the mounting flange on the xz positioning table with a washer for shim instead of on top. That was annoying but minor. I had set the bottom limit just a few millimeters above the xy work table. I measured the distance to the surface with the z-axis measurement module at 6450 pulses to the glass + 3 mm and used the move module to determine that the surface of the cardboard was at 6200 pulses (51.25 mm/2.02 inches) from the top z-axis limit.

I then tested this measurement for reliability and repeatability at a variety of places on the xy positioning table. I am quite pleased with the result. The xz positioning table would just brush the surface of the cardboard. Using a simple spirit level on the xy positioning table during its construction got the work surface a lot flatter than I had expected that it might.

Now I have to port the coordinated xy positioning module over from the old firmware program and certify it and then port the Mk 2.1 control module over and integrate it with the coordinated xy positioning module and then test that ensemble. I should be laying down some plastic this weekend barring unexpected difficulties.

Tuesday, February 13, 2007


Tommelise in shakedown

I've managed to successfully move most of the firmware modules over to the new controller board on Tommelise. I've got to rewrite the moveto routine for the z-axis so that it doesn't overrun it's target position. When overrunning means crashing into the xy positioning table it gets to be a serious matter.

At the present rate of certification of functions that I'm going through I expect that I'll be attempting to extude something meaningful by Friday night or Saturday. I'll probably stick to HPP and HDPE for initial tests mostly because I have cut lengths of both which are good for experimentation and moving from one to another isn't a big deal for the extruder barrel. Right now I have about a pound of continuous filament CAPA, one and a half pounds of continuous filament HDPE and about two and a half pounds of continuous filament ABS.

From what I know at the moment I will most likely have to build a separate extruder head for CAPA mostly because it melts at such a low temperature that I can't purge HPP or HDPE with it. Oddly enough, ABS which melts at about 105 degrees C., HPP and HDPE can be used interchangably in the same extruder barrel.

I will be interested in looking at PVC as a CAPA substitute. While CAPA melts at 60 degrees Celsius, PVC melts at 80. It is going to be a lot of fun finding out which polymers are going to be most useful in specific applications.

Saturday, February 10, 2007


Mk 2.1 extruder barrel refurbished

I got the last of the six coats of BBQ paint on the refurbished, low thermal intertia extruder barrel and rigged it for use with the Mk 2.1. I've regularised the handling of the nichrome 80 to copper wire connection.

I should be able to reinstall the Mk 2.1 onto Tommelise in the morning and fire it up for testing.

Thursday, February 08, 2007


Website Traffic....

Just a short note. When I set up the Tommelise website I didn't get an expensive enough hosting contract to deserve site statistics software, so I wrote my own in VB.NET 2005. It eats log files and tells you how many unique visitors to your website you've had over a given time frame. It also tells you where the visitors are from geographically. The nice part is that it automatically ignores my visits. That was easy to write into the code. I'll be expanding it before too long to give me counts on which page visits by frequency so that I can tell what parts of my site are getting traffic.

So far the AdSense statistics are giving me a fair notion of how many pages are getting visited, though not which ones yet.

It's not sexy software, but it works fine. If anybody wants the code let me know and I'll email you a copy.



Explanation of Stepping Motor Sync

I spent a few hours poring through the firmware code trying to figure out how the stepper sync mechanism works, and think I've got a rough idea now, and post it here if others are having trouble.

Having the devices in a chain means that there's some delay as commands are repeated from device 1 to device 2 and such; this means if you tell controller A to move the head left and controller B to move the head back, A will start moving before B. To get them moving together, they have another bus that's connected directly instead of through serial repeaters.

The computer can send commands to the controllers that, instead of being executed immediately, will be stored for later. It can:
Bringing the SYNCA line low will cause all devices to wait while it's low, then execute the stored command once the SYNCA line is brought high again. The step-forward and step-backward signals can be triggered repeatedly.

Any corrections or comments? Is this mechanism actually used by the java control software?

Now I'm having my own ideas. Consider this code snippet:
#include <stdio.h>

const unsigned int numer=7, denom=16;
int pos=0;

int syncline()

int main()
int n;
for(n=0; n<denom; n++)
printf(" %d\n", syncline());
It prints this output:
$ ./a.out
0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
This is a well-known line-drawing algorithm from back when computers were more like our PICs, and drove printers not unlike our axis systems. Consider numer and denom as a fraction telling the X axis controller to take precisely 7 out of 16 steps. Used in sync with the Y axis controller, it could follow an arbitrary line without needing go/stop/stop/go/stop commands from the controlling PC before every sync pulse -- just give it a destination, a fractional speed, and go to town.


Wednesday, February 07, 2007


Frameless Tommelise website...

I was advised by people who know about such things to shift my little Tommelise website from a frames to a frameless format. It took me several days, but I've just about got it right. The new frameless website for Tommelise just went hot.

If you get the old website just hit refresh to clear it from your browser cache.



Concrete as replacement for PTFE insulator in MK2 extruder?

I noticed Vik tried concrete and had successfully used it to extrude parts. Later in a presentation Vik had mentioned concrete on the what doesn't work side of the slide panel. I've been thinking about alternatives for PTFE and thought that concrete as replacement for PTFE insulator in MK2 extruder might be ok. So I'm looking for some input on concrete simply as the thermal insulation between the low thermal inertia nozzle and the rest of the extruder mechanism.

Tuesday, February 06, 2007


Configurable Stepper Controller

Here you will observe several ideas I'd mentioned in my last post; modular jacks for board-to-board serial connections -- which work, by the way -- and a MOLEX connector for 12V and 5V power from any PC-compatible supply. Oddly enough, I'm using the 12V for logic, regulating it to clean 5V with a 7805 so I can use the 5V rail to drive my 5V stepper. The four transistors are TIP110 power darlington's of the same sort used to drive the heater current, and the last important bit is the DIP switch module. It chooses the order.

I've always hated swapping stepper wires all the time, I can never get it right twice in a row; I've let the PIC choose the order instead. Of the 24 possible combinations of wires, 19 are reflections or rotations of other sequences, boiling down to 5 unique orderings if I've worked this out right.

The rightmost switch enables half-stepping, and the leftmost activated switch tells it to use sequence 5/5.


Forensics on the 2 amp low thermal intertia extruder barrel

I had a few extra minutes yesterday so I decided to amp up the 2 amp low thermal inertia extruder barrel on the Mk 2.1 Fused Deposition Modelling (FDM) extruder and try to run some of the 3 mm acrylonitrile butadiene styrene (ABS) filament through it before I broke it down for refurbishing. I needed to refurbish it because the insulated nichrome 80 heating coil had become partially delaminated from the barrel. I knew that eventually the lose nichrome 80 would overheat and fail.

Sure enough the heating coil failed while I was extruding ABS.

This morning I stripped the barrel and discovered that the heater coil was not partially delaminated from the barrel but completely delaminated. The insulation had completely disappeared from the nichome in places. While I didn't not look closely for the break I suspect that the coil shorted and overheated at a contact point causing the break.

This time around I am going to follow Adrian's suggestion and use about 7 inches of nichrome 80 instead of two lengths of 14 in parallel like I did last time. I am also going to space the wire out a bit on the lower end of the barrel instead of wrapping it tightly. This will be more like what I did with the first test barrel that I build.

I am also going to give it 8 coats of BBQ paint before laying down the wire and another 8 coats to tack it down this time. As well, I plan to secure the two ends of the coil to the barrel with copper filament before I paint it.

Monday, February 05, 2007


Dual Darlingtons operational on the new Tommelise controller board...

I decided that I needed to build a new controller board largely because the one I'd already built was more patches than board. Those patches were confusing me and requiring more patches, so I took a few days off to build another board.

All that's left to do is put the power transistor that controls the heated extruder barrel and a bunch of two pole connectors to collect the sensor interrupts for limits and shaft encoders.


Lego Brick Z Axis!

After many failed attempts at vertical rack & pinion for my Z axis, I finally gave up on it and re-approached it from a different angle; horizontally. I had such good luck with my horizontal rack & pinion on my XY axis, so I pulled out my original prototype and went to work on it. I built up the sides of the base, and unbuilt the moving axis, so that I could attach something to the top of the base, without interfering with the moving axis, and placed my 'box in a box' Z axis on top of that.

I'd tossed around the idea of using a pulley system before, but I was never happy with the inaccuracies of winding the 'carpet thread', nor was I willing to accept the possibility of slippage in a 'loop' system. Instead, I'm using the sliding axis to pull and 'push' the thread back and forth, in a linear motion, to ensure that I get steady, controlled movement with it.

Attaching the thread to the far end of the 'control axis', I ran it under the Z axis, around a U turn consisting of two pulleys, into the bottom of the outer box, through a technic piece (acting as a pulley), up to the top of the outer box and through a second technic pulley, and back down to the bottom of the inner box, where I secured the other end of it. Below is a rough drawing of what I've done:

The Control Axis is in green/yellow, and is constructed generally the same as the XY axis I've blogged about before (the main difference being that I've lowered the height of the moving part, and raised the height of the base, so that I can attach the Z axis on top of it without interfering with the movement). The first orange pulley, off to the right, is attached to the base of the control axis, and is actually a pair of pulleys (lego axle with a small, thin round piece that holds the thread nicely). I used two to help properly guide the thread out the end of the control axis, and up to a point where it lined up with the holes in a technic piece in the base of the red outer box. I originally didn't include the pulleys, but I felt there was too much strain on the motor and wear on the thread.

From that point, it runs along the bottom of the outer box, and through a second technic piece attached to its bottom. I may eventually replace that with another pulley, but that's going to take a lot more reconstruction than simply adding the technic piece to the bottom. The thread goes through that and heads up to the top of the inner box, running through a slit in the bottom of the inner box. At the top of the outer box, yet another technic piece acts as yet another pulley, to reverse the direection 180 degrees, and sends it back down to the bottom of the inner box, where it attaches to the inner box.

The outer blue box is also 'slotted' so that it straddles the technic piece at the top of the outer box, and moves freely up and down. It's actually a lot more open that that, for weight and material reasons, but the key is to allow the free movement around the upper pulley. The inner box fits snugly inside the outer box, so there is little play there. There is a slight bit, and if it causes any problem, I'll build up some of the sides with Teflon tape to fill it in and reduce friction; it's currently greased with petroleum jelly to ease movement.

As the control axis moves to the left, it pulls the thread, causing the Z axis to rise. As the control axis moves back to the right, it gives slack to the thread, which allows gravity to pull the Z axis back down. The axis itself is heavy enough to cause this movement, and adding the glass deposition surface and extruded material on top will only increase that ability. Due to weight restrictions, the fact that I refuse to spend $10+ on a stepper motor and stability, I'm placing this Z axis on top of my existing XY axis. Conveniently enough, when I position the axis parallel to the Y axis it sits on, and place the motor opposite the Y axis's motor, the wires for the Z axis motor hang just behind the little Lego controller that sits on the X axis, controlling the whole machine!

I'm planning on revising my Lego Digital Designer plans to separate the XY axis from the Z axis, and incorporate the slight change I had to make to tighten them up to prevent wobble, and then creating my current Z axis as best I can (given the fact that not all pieces are available in the Lego Digital Designer). I've also got some pencil sketches of what I'm going to put into AoI for the RepRap version of my model, and hope those won't be far behind. I'm hoping to make the majority of the XY & Z axis parts be interchangeable, but I don't want to sacrifice stability/integrity to do so.

And now for the video:

I've also been thinking about the limiter switches; I'm not a big fan of the whole optical stuff (especially with dust and cost/etc), so I think I've come up with a great 'mechanical' set of switches that I'll build into a future version of the RepRap version. I'm going to embed them into the axis itself! I'm going to run three 'pads' down the center of the base of the axis, with the center being the ground and the edges being the control for the two limiter switches. On each side of the moving part, I'm going to place a second 'pad' to bridge the ground to the appropriate control pad. As the axis moves to the edge, it'll reach the end of the base pads, thus breaking the connection. Of course this all relies on quality metal deposition, but we'll get there! (even if I have to paint it on by hand!)

Saturday, February 03, 2007


We've got a forum!

Hey all! I've been tinkering for a while on a forum:
Please log in and try it. If people like it, we will take it live. We'll point a different domain name at it of course.

The forum is using the software "ploneboard", and the site is running plone, a Content Management Solution. We should be able to use plone to build a website to hold our documentation and 3D files, and also hold user-submitted documentation and files. This is the "Parts Library" we've talked about occasionally.

This would replace what's currently at reprap.org
and what's at objects.reprap.org.

That will be later. Right now, please let us know what you of the new forum.


Friday, February 02, 2007


Another step..

Got the pic programmer constructed and working. I was concerned because of some changes that I made. Like using a 12v zener rather than an 8 added to the 5. But that made it possible to make it with parts just from Radio Shack. And I was checking out the "9-pin" connector numbers when I noticed that it was a 25 pin connector. I found this http://www.janson-soft.de/pic/pic.htm and that with other rs-232 references helped me identify the pins to use. On the diagram referenced, the connector shows the right connections for 1-5 but the rest of the pins should continue counter clockwise (widdershins) 6-7-8-9. I was able to program the extractor.hex file. I programmed it. Read it. Erased it and then re-programmed it. All done :) Looks like i have to order my 754410's on order since I already have my stepper motors. The picture is blurry because its a crummy webcam. But it helps hide the poor layout with wires all over. I'll get the good cam for anything important, like shot glasses and stuff.

Thursday, February 01, 2007


Where is everybody?

I notice that with this shift over to Google now owning Blogspot and their BS with accounts and passwords that we've lost better than half of our reprappers.

Did you guys just leave, or are you having trouble figuring out how to get back into the reprappers blog?

Please comment!

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]