Building Arduino Sprinter from source

Ok It’s been a few month’s since I’ve been blogging and I’ve been sort of busy.   I mothballed the Sherline retrofit for a while(and I’m doing some serious rethinking on this project).    I had wanted to build a 3d printer for E-week and I cleared the deck for a couple of months to do that.   I got really close to getting it done, but I missed my deadline.   Have a compressed deadline, made me move the project along nicely, but I wasn’t really done at lowest cost… Most of the components are machined out of aluminum and I think I did more machining in 3 months than I’ve done in the last couple years, so that was a bunch of fun.  I’m am so tantalizing close to having this project done.

At this point, I need install sprinter so I can move the x axis carriage in the z-axis direction so I can tram in my lead screws.
So.. I’m running 12.04, installed the Arduino IDE from the ubuntu repository which is Arduino 1.0

I had purchased my ramps kit assembled from here:  and I was able to get the axis to move with the test program.

Normally I document this stuff, pretty well, but as I said I was in a big hurry.   So I found a generic test program from this page.
and is located here:
That all worked well, and it was cool to see everything working well.

For my CAM software I went with   This was one of the smoothest installs I’ve experienced.  The software seems to be working ok, but I won’t now for sure until  I get the firmware issues worked out with my Arduino Mega.

Looking at this  I found this to be of interest:

You will need the Arduino software at to upload the firmware to Arduino Mega. Arduino MEGA 2560 Rev3 requires Arduino software version 0023.

Sprinter and Marlin are popular and stable firmwares for RAMPS as of 3/28/2012. Pronterface is a cross platform printer control program that can be used for testing/printing.

Working preconfigured sprinter firmware can be downloaded at . Mechanical is in the folder ending with ME, optical endstop firmware is in the folder ending in OE.

Others (Need pins set in Firmware as below):

So first thing I tried was to download . unzips and wanted to use the OE option. So I fire up the Arudino IDE double click on the sprinter.pde in the optical end stop folder and try building and I get this error.

SdFile.cpp:22:22: fatal error: WProgram.h: No such file or directorycompilation terminated.

Doing a little googling I come up with this. So apparently the issue is that the preconfigured file is meant to be used with something other that 1.0
So I suppose I at least three paths I could to go down:

  1.   I could down grade to a lower level arudino IDE.
  2. Making the updates to Code as suggested by the stack over flow link.
  3. Download latest version from source and rebuild.

I tried 2 & 3 and I experienced some issues.
Option 1) goes against the grain, my first inclination is to get this to run on the lastest stable of the IDE, but at this point, I want to try getting my printer to run with the minimum amount of steps.  Based on  recent mindcraft experience of trying to get Mo creatures to run, I think it might be worth to installing Arduino IDE 0023 64 bit and seeing if this works:  Nope:

In file included from /usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay.h:44:0,
from /usr/lib/gcc/avr/4.5.3/../../../avr/include/avr/delay.h:37,
from /home/jonasthomas/Arduino0023/arduino-0023/hardware/arduino/cores/arduino/wiring_private.h:30,
from /home/jonasthomas/Arduino0023/arduino-0023/hardware/arduino/cores/arduino/WInterrupts.c:34:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/math.h:426:15: error: expected identifier or ‘(’ before ‘double’
/usr/lib/gcc/avr/4.5.3/../../../avr/include/math.h:426:15: error: expected ‘)’ before ‘>=’ token
Ok.. maybe there’s in issue from me hacking up the code to get it to run on 1.0 time to try this again deleting.  Nope Same error..

Googling I found this.

Hmm. sounds like there is a bug in wiring.h in this version…

jonasthomas@jonasthomas-Satellite-P305D:~$ sudo updatedb
[sudo] password for jonasthomas:
jonasthomas@jonasthomas-Satellite-P305D:~$ locate wiring.h
So I did the commenting out on the lineb79 and hot darn the thing compiled…

// #define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))

Cool… Now time to go down to the shop and see if I can get this thing to upload.

This entry was posted in Uncategorized. Bookmark the permalink.

One Response to Building Arduino Sprinter from source

  1. Pingback: The metal shaper man’s blog » 1 step forwards 2 steps back on the 3d printer.

Leave a Reply

Your email address will not be published. Required fields are marked *