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
- 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
- The site is easy to follow (hint, the giant download thing at the top of the page is an ad).
- For convenience, you can just put the file in the same folder as the Ubuntu image. That way the installer will see it and you won’t have to search for it.
- 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
- 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
- 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
- move file from the download folder to the desktop
- extract onto desktop
- 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.