by makeme

Easy 3D Printer Toolchain

In Uncategorized on 07, Jun, 2011 at 21:32

The software that controls open source 3d printers is still in a state of flux. It can be difficult to navigate your way through all the options to try to put together a toolchain that will do what it is supposed to do. I know, I’ve been doing just that for a while now.

Eventually I figured that I was only really helping myself because I was piling one patch onto another trying to make things work in my specific situation…and it wasn’t working all that well. So, I started over.

The primary factor in deciding what toolchain to put together is the operating system your computer runs on. Normally, this would seem to be an insurmountable obstacle, but these days it’s really not that big a deal. We can standardize on one single OS by creating a bootable flash drive. I have picked Ubuntu because it’s totally free. So, if you have a 2GB flash drive, or if you can scrape up the cash to buy one, you can simply boot your computer into a brand new OS without actually changing anything about your computer. This step ensures that you are starting from a totally clean install, and that your install is the same as everyone else’s install.

From that point forward all you have to do is download Java, which is free, and Python, which is free, and Arduino, which is free, and in this case I’ve choosen ReplicatorG (best and best supported), which is also free.

But don’t worry. I’m not going to leave you to figure out how to do all that. What follows is a detailed checklist that will guide you through this process. You don’t have to know ANYTHING about ANY of those programs. If you can click buttons (and can afford a 2GB flash drive) you can get your bot up and running.*

*I am sort of assuming you’re using RAMPS and Windows, but I can’t test this process with anything else at the moment.

How to do it (this process is largely based off of this set of instructions on the RepRap Wiki by Bristolalweb)

  • You will need:
    • a computer with 2 free USB ports (one for the flash drive and one for the 3d printer) and a wired internet connection (no need to mess with getting wireless working).
    • a flash drive (at least 2 GB)
    • an Ubuntu image
      • http://www.ubuntu.com/download/ubuntu/download
      • The Ubuntu site is pretty easy to navigate.
      • Getting the Long Term Support (LTS) version is recommended. New Ubuntu releases don’t have support for everything build in; people add that stuff over time. If you get the newest version you will probably find that it doesn’t support one or more of the things you want to do. For example, when you try to use the Universal USB Installer, the newest Ubuntu release might not support a protocol necessary to let the system treat a flash drive like a hard drive. The LTS version will.
      • Make a note of the version name and number: 10.04 Lucid Lynx
    • An installer
  • plug the flash drive in to the USB port and make sure the flash drive doesn’t contain any files you want to keep
    • make a note of the drive letter that identifies the USB key
  • quick format the flash drive
    • open windows explorer
    • right click on the drive letter and select ‘format’
    • select ‘Fat32’ and ensure ‘quick format’ is checked
    • click ‘format’
  • run the Universal USB Installer
    • select the version of Linux that you downloaded
    • select the file you downloaded
    • select the letter that represents your flash drive
    • select at least 1GB of persistent memory (so that you can save things)
      • if your flash drive is larger than 2GB you can select more, but leave 1GB available for Ubuntu
    • click ‘create’
  • restart your computer (or move the flash drive to a different computer)
  • at some point before your normal operating system shows up you should have the option to select a ‘boot menu’ (or something like that). If there isn’t a clearly labeled option or menu (which won’t be available for long, so move fast) then you can try ‘delete’ ‘F10’ or ‘F12.’ If none of those work consult your documentation or customer service representative. There most definitely is a way to tell your computer to boot from the flash drive in the USB port, so don’t give up.
  • When the Ubuntu menu shows up, select ‘boot from USB’.
  • get Ubuntu universe (not a program, this just tells Ubuntu to search a wider list of programs)
    • click ‘system’
    • click ‘administration’
    • click ‘software sources’
    • check the box next to ‘universe’
  • get python and java
    • click ‘system’
    • click ‘administration’
    • click ‘synaptic package manager’
    • click ‘reload’ in the upper right of the new window
    • in the search bar enter the package names and check the box next to them when they show up
      • “python” “python-tk” “python-psyco” “openjdk-6-jdk”
    • click ‘apply’
    • 10.04 seems to have python 2.6.5 by default
    • or, from the terminal (doing it this way didn’t work correctly for me)
      • sudo apt-get install python python-tk python-psyco
      • sudo apt-get install openjdk-6-jdk
  • get arduino
    • http://arduino.cc/en/Main/Software
    • after the download, move the file from the download folder to the desktop
    • right-click on the folder and select ‘extract here’
    • back in synaptic package manager
    • search for “avr-gcc” and “avr-libc”, mark for installation
    • or, from the terminal
      • sudo apt-get install gcc-avr avr-libc
  • get Teacup firmware
    • http://reprap.org/wiki/Teacup_Firmware
    • https://github.com/triffid/Teacup_Firmware
    • download the *tar.gz file (It’s actually a folder with a lot of compressed stuff inside it, not a single file)
    • move it from the download folder to the desktop
    • extract it to the desktop
    • rename the new folder “Teacup_Firmware”
    • open that folder, copy the “config.ramps.h” file and past a new one
    • rename that new file “config.h”
    • load Teacup firmware on to RAMPS
      • open the arduino folder
      • run the file named “arduino”
      • select ‘run in terminal’
      • select ‘file’ then ‘open’
      • click the ‘-‘ button in the upper right and navigate to the desktop directory
      • double-click the ‘Teacup_Firmware’ folder
      • double-click the *.pde file
      • click ‘verify’
        • you should get an error
        • open the Teacup_Firmware folder
        • find the file called ‘makefile’ and open it
        • scroll down to the ‘change these to suit your hardware’ section
        • uncomment the mega2560 line and comment out all the others (assuming you’re using the 2560 and not the 1280). It seems like some of the files use “/” to denote comments (stuff the program ignores) and others use “#” for the same thing. It should be obvious because all the instructions will be surrounded by whatever the symbol for comments are.
      • back in the arduino window
      • click ‘tools’ ‘board’ then select the mega 2560
      • click ‘verify’ and it should compile properly
      • click ‘upload’. Not only will the Arduino IDE tell you whether or not the upload worked, you should be able to watch the LED on the RAMPS board blink an awful lot. That’s a good thing.
        • it might prompt you to try the port ttyACM0 instead of COM1, click ‘ok’
  • get replicatorG
  • connect to the 3d printer
    • open the replicatorG folder
    • run the file called ‘replicatorg’ select ‘run in terminal’
    • wait for it to finish updating itself
    • click ‘machine’ ‘driver’ and select ‘teacup’
    • click ‘machine’ ‘serial port’ and select the ‘ACM0’ port
    • click ‘connect’ and the orange bar should turn green
    • make sure the temperature is updating and jog the axes

At this point you should have a bot that is registering temperatures and responding to the control panel. That’s all for now. I’ll put together another set of instructions describing how to properly tune the bot.

Anyone who tries this out on a system other than Windows, or on electronics other than RAMPS, please let me know. I’m sure it will work with only minor tweaking.

Advertisements
  1. Great tutorial.

    I did this the hard way, reading about various things in various sites and trying all of the available firmwares, before i found one that i got to work (teacup).

    If you are new to the 3D printer world and do not have experience with electronics/software and stuff, it’s pretty much impossible to have your electronics to work without these kinds of tutorials.

    Reprap wiki is currently pretty messy place. I know that everything at the moment is pretty much experimental, but if the goal is that, 3D-printers should be as common as toasters, then someone needs to seriously make tutorials like these.

    Repraps current policy about electronics – “there is no official” – isn’t helping either.

  2. I completely agree with the no offical electronics. It is a silly state to be in.

    I was wondering out of curiosity why you went with the TeaCup software instead of Sprinter, is this because of the hardware platform you are using?

  3. Personally, I don’t “get git” so figuring out what I’m supposed to download and what I’m supposed to use has taken a bit of trial and error. Github could be better organized is what I’m saying. Or, in a larger sense, the wonderful people who write open-source code for 3d printers could spend more time documenting their work. I know that’s not exciting or sexy, but it is a substantial barrier to entry. I ended up trying Teacup first simply because I was reasonably confident I was downloading the right thing.

  4. i’ve followed your directions, but when i go to verify in either arduino 022 or 1.0 it comes up with an error “‘REFERENCE’ undeclared (first use in this function)”. Do you have any idea what that could mean?

  5. I’m not sure. Googling it didn’t turn up anything obvious. It seems like that kind of error means something is being “called” but hasn’t been included. Be sure you installed all the right packages and commentted/uncommented the right places in the code. Are you using RAMPS? The Teacup firmware has most likely changed. I wouldn’t suggest following these instructions exactly as they’re written anymore. They’ve been overcome by superior tools. http://reprap.org/wiki/RepRap_CAM_Toolchains

  6. thanks for the tip, i started using Repetier-Firmware with Repetier-host and slicr. seems to be quite comprehensive, but i’ll have to see how it goes after my first print.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: