Fabr is a RepRap

I became intrigued by the concept of ‘renewable manufacturing’ – owning the life-cycle of everyday things. This idealism was captured by the RepRap project; who’s tag line is ‘Wealth without money’.

In the early phases of the construction of Fabr, I ran into the classic RepStrapping problem – how do you build a device intended to be built using a 3D Printer without a 3D printer? I had attempted to use the printing services at the TechShop in Menlo Park, but was unsuccessful. After that failure, I decided to designed and build Fabr using commonly available materials and few custom parts.

Over the last year, the RepRap organization has made changes independently which amusingly coincide with some Fabr design decisions, and Fabr has changed to be more like the RepRap in order to better leverage the software and firmware from the RepRap team.

In essence, Fabr is a RepRap.

Since my last post, I’ve been working on the following parts of the project:

  • The TextMate plugin was nearly rewritten in order to remove the Processing toolchain, and require the AVR MacPack from Objective Development.
  • Using the new Mill & Lathe, I’ve improved some of the articulation points
  • Implemented a multi-screw Y axis to compensate for unacceptable racking. I wish I could say that 80/20 is an asset, but the linear motion bearings are woefully inadequate and excruciatingly expensive. 
  • I smoked my motor shield while debugging a stepper problem, and switched to using 4 EasyDrivers from SparkFun.
  • Started building a ‘Super Driver’ which can drive steppers to 2.5A, as well as software configurable Full Step or Microstepping.
  • Ported the RepRap gcode interpreter to the TextMate toolchain and adapted it for the EasyDrivers (Need to unify this work with the trunk, and submit my updates to the RepRap team).
  • Implemented a Ruby gcode uploader; hopefully to be used in the Sketchup exporter.
  • Acquired materials and Building RepRap Opto Endstops for home positioning
  • Acquired materials and Building the Temperature controller for the extruder

Been awhile

It has been awhile since I’ve posted an update. I’ve been working on numerous projects, all at various stages. I figured I’d post an update across the board with no real conclusions.

Sources

Sources have been posted on:

svn co http://www.ooeygui.com/Arduino .

But now I have a Trac server installed at http://www.ooeygui.com/trac.

This server allows people to post bugs, read design docs, and see changes live. Enjoy!

TextMate Microcontroller plugin

While working on the gcode interpreter, I discovered some issues with the plugin. I’m in the process of rewriting portions of the plugin. The plugin now uses AVR MacPack instead of the Arduino packaged compilers. This isolates the plugin from breaking changes by the Arduino developers. I’ll release new packages as new Arduino packages are released.

Fabr Hardware

I had completed the Axes, but noticed a nasty binding problem. After disassembling, I discovered part of the drive assembly wasn’t square, which caused a bind when spinning. A second problem that was bugging me was related to an early cut on the X axis not being square to the Y axis… Both are being corrected as I build the extruder mount.

The extruder is completely built, but untested. I leveraged the extruder head that was featured in a previous post, added a cooling pipe and an insulated feed pipe in order to prevent premature melting of the extrusion cord. I’m currently constructing a mounting plate which will allow me to swap print heads relatively quickly (as well as allow me to mount the current one).

xstrudr

I have 25lbs of bioplastic granules; not terribly useful for a printer. I had considered building a hopper on the printer and extruding the granules directly to the print job, but couldn’t make it practical. Instead, I’m going to have a separate unit which processes granulated plastic into a cord, and yet another unit for grinding plastic into granules (‘chipr’?)

Motor Controller

After the experience with the triple axis controller, I’m starting to design a single purpose motor controller; I find that I need 4 controllers – one for each axis and one for the extruder. Here’s a preview: .

I still plan on having an Arduino Shield to tie 3 or 4 axes together.

Arduino for TextMate – Sources Posted

There’s been lots of interest in the TextMate plugin. I’m positing the sources in order to enable people to improve the code and share it back. The code is quick and dirty.If you make modifications, please send me a patch – feedback at ooeygui.com.You can check out the sources using Subversion: 

svn co http://www.ooeygui.com/Arduino .

 This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Creative Commons License

Arduino for TextMate

I’ve been playing with the Arduino Microcontroller for quite some time. It is a fantastic open source hardware project which really opens up the world of Microcontrollers to people all over the world. The developers on the project have included a development environment written in Java. I’m a huge fan of TextMate. I decided to write a plugin for TextMate which allows you to:

  • choose the microcontroller architecture – Atmega 8, Atmega 168, and the Make Controller (forthcoming).
  • Compile and upload to the Microcontroller
  • Show a Serial Monitor using the OSX terminal

Installation

UPDATE: This has been modified for the current release

Install the Arduino 0010 release from arduino.cc.

download: Microcontroller.tmplugin

unzip it to ~/Library/Application Support/TextMate/Plugins.

Building

When you build from TextMate, you need to do a few things differently. First, include wprogram.h, and add a main loop. Here’s the template:

#include <WProgram.h>
void setup()
{
}
void loop()
{
}
int main()
{
	init();
	setup();
	while (1)
		loop();
	return 0;
} 

About the binary

I’d consider this a .1 release; It hasn’t been well tested. Because of this, there will be bugs.

Future Enhancements

  • User specified makefile (something that gets included into the build process instead of manually walking the tree).
  • Make controller support.
  • Hot Keys for building
  • Don’t leak so much

Feedback

If you’d like to send feedback or request features, send them to louie at ooeygui.