Monday, January 28, 2013

Raspberrry pi reprap controller with BotQueue

I've recently been interested in making my 3d printer more compact. But first, a small introduction to my printer.  My printer is a reprap prusa mendel based printer. It uses a RAMPS 1.4 board and a budaschnozzle extruder. Her name is Jasmine, which stands for "Just Another Sexy Machine, Is Notably Expensive" at the suggestion of a friend.

So, now that that's over, let's get started.  For this, I bought a PNY premium 8GB SD card for $10.  Make sure it's more than 2Gb. I did 8 just to be more on the safe side. I've installed images directly to the card before, but I wanted to try the Raspbian Installer to see how well it worked. I tried it, and it didn't install everything I wanted. Or I should say this system is probably more designed to be run as root and I didn't want that. So, download Raspbian "Wheezy" from here. Install it to the sd card using some method described on this page. It shouldn't be too painful to install.

Now then, time to install our software. Head on over to BotQueue and sign up for an account. After logging in, you'll be able to create a new account. Log in to your raspberry pi (over ssh is fine).

You'll have to log back in for the group change to take effect, assuming you had to install sudo in the first place.
sudo usermod -a -G dialout pi
sudo apt-get install git-core python-pip
sudo pip install pyserial
(If anyone can figure out how to get pyserial with this release easier than installing pip, I'd be somewhat grateful)
This will install the main core of git so we can download the repo. Now, there is the repo currently supported by Zach Hoeken here. There is also my version here. Mine fixes some problems like flickering with the raspberry pi, but you should probably use Zach's version for now. Run the first one for Zach's or the second one for mine.
git clone
git clone
Excellent! Now run these commands:
cd BotQueue/bumblebee
It will give you a link (or open up a web browser). If it opens up a web browser, login through that window or just close it to see the link printed on the console.  This is probably a great time if you're doing this over ssh, because you can just copy and paste the link in your browser. Technically, you could have done this from the built in browser, but I didn't want to do this from a raspi. It may ask you to login. It will then give you a pin number to authorize the app with. Type the pin number on the raspberry pi.  After it authorizes, you'll be brought up to the main menu. Press q to quit.  Now go here, and follow ONLY step 4. This will add your bot to the config.json file. In the future, I'm planning to make this more automated. I'm not sure if Zach is thinking the same.

Note: You might be able to only run your bot at 115200 baud. I'm currently working on that. I think you have to overclock the pi to be able to do more than that.  I'll look into it and report back.

After that's all saved, just to make sure, restart the raspberry pi:
sudo reboot
Then, just restart the client software by running:
Now, go back to, and click on "Actions" and then "Register Bot". Fill out all of that information, but be careful. The name of the bot here must match verbatim to the bot listed in your config.json file. If not, then the server won't send requests to the correct bot.

So, you should have the client software running and connected to the server. If you upload a .gcode file to the default queue, your bot should grab it and start printing. If not, check to make sure that the bot is online and idle. The program should list your bot's id, it's name, and it's status should be idle. Send it a .gcode file and let it print!

 Note: This tutorial does not cover some important security types like not permitting root login via ssh. That one can be found here.

Also note, that I am human, so there is most likely a mistake somewhere in this document. Next blog post: how to make it start up as the main tty on boot.

Tuesday, January 15, 2013


Hello, and welcome to my blog.  I decided to set up this blog to tell other people about the cool things you can do with technologies like 3d printing.

This blog will primarily contain:

  • Information about programming
  • Automated systems such as 3d printers or cnc machines
  • computer administration, e.g., linux servers
  • minecraft
  • Anything else I feel like
I hope you enjoy reading this blog and find the information within to be useful.