<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Electronics and software combination questions</title>
        <description>I am looking at making a 3d printer, and have read a lot and watched a lot of youtube vids on it.
I originally was going to make a CNC router, and the electronics and software seem to be the same.
My job is working with and programming for AutoCad/Bricscad at a civil enginerring firm.
As I approach the 3d printer world, I want to understand these things:

1) Is there complete separation between the model data, and the software that reads it and sends messages to motors and other items when printing? I ask because it seems to me the industry attempts to make the data be g-code, maybe wrapped in an stl file or other. Are there flavors of g-code that force the use of certain &quot;slicer&quot; tools for a given controller setup?

2) I notice many electronics use an arduino, then a shield with other stuff like motor drivers. I am not that interested in the drivers part, as that is not something I can mess much with. The arduino part is my interest, as that means there is a program that reads the g-code, then sends signals to the board to send voltages to the outputs. I understand arduinos fairly well.
My question is how open source that software is, and if the better ones are not open source.
I basically would like to port the tools to microsoft .net, as that is my language of familiarity (C#).
I want to use a netduino instead of arduino. I also want to understand previous software efforts better to re-use what has been done and share back.

Part of all this is I want to tie together AutoCad/Bricscad with the controller. I may want to make things that follow your hand movement and so on. There is a project at netduino.com that has code for interpreting g-code and controlling steppers.
Any links I should read, or comments?
thanks</description>
        <link>https://reprap.org/forum/read.php?1,242593,242593#msg-242593</link>
        <lastBuildDate>Fri, 10 Jul 2026 03:41:51 -0400</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,246153#msg-246153</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,246153#msg-246153</link>
            <description><![CDATA[ micromelt Wrote:<br />
-------------------------------------------------------<br />
&gt; This is the same for use of the arduino. we are<br />
&gt; using a standard platform, that has had hundreds<br />
&gt; of thousands of man hours into its development and<br />
&gt; use.<br />
<br />
<br />
Sorry, I don't understand - perhaps because I am new to Reprap.<br />
<br />
What do you mean by "this"?<br />
Who are "we"?<br />
What is the "standard platform"?<br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Tue, 17 Sep 2013 13:37:54 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,246091#msg-246091</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,246091#msg-246091</link>
            <description><![CDATA[ This is the same for use of the arduino. we are using a standard platform, that has had hundreds of thousands of man hours into its development and use.]]></description>
            <dc:creator>micromelt</dc:creator>
            <category>General</category>
            <pubDate>Tue, 17 Sep 2013 09:59:32 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,245869#msg-245869</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,245869#msg-245869</link>
            <description><![CDATA[ "8000 steps/second to get 100mm/sec travel" equates to 80 steps per mm.<br />
<br />
My setup will have 200 steps per mm without microstepping - but obviously very much less than 100mm/sec.<br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Mon, 16 Sep 2013 18:03:26 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,245796#msg-245796</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,245796#msg-245796</link>
            <description><![CDATA[ Irish_Steve Wrote:<br />
-------------------------------------------------------<br />
&gt; working out what a strange hex<br />
&gt; string really means when it comes out of a "black<br />
&gt; box" network driver can be incredibly frustrating,<br />
<br />
Or the industrial machine error codes where you count the number of flashes and there is only a single LED for it.<br />
<br />
1 General fault<br />
......<br />
35 Input sensor 2 fault<br />
36 Failure on pump 2<br />
and so on<br />
<br />
As for GCode interpretation<br />
GT2 pulley, 20 teeth pitch 2mm = 40mm per revolution<br />
2.5 revolutions will equal 100mm travel<br />
200 step motor * 16 micro steps * 2.5 = 8000 steps/second to get 100mm/sec travel<br />
16,000 actually cause you need to turn the bit on and off for a step pulse<br />
* 3 for each axis uses 48,000 instructions per second<br />
Now going off a 8051 controller which is significantly older and slower then the current AVR<br />
12Mhz at 12 steps per machine cycle gives 1,000,000 instructions per second<br />
Decoding gcode text files is very basic]]></description>
            <dc:creator>chris...</dc:creator>
            <category>General</category>
            <pubDate>Mon, 16 Sep 2013 11:35:17 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,245089#msg-245089</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,245089#msg-245089</link>
            <description><![CDATA[ The motors work fine at 600pps with a 12v supply. I haven't yet tried the motors powered by 24v and attached to the lathe. The controllers can take 30+v..<br />
<br />
And I should have said that I couldn't find any advice about how to figure out the size of motor needed, so measuring the torque was the best I could think of.<br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Fri, 13 Sep 2013 12:05:51 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244983#msg-244983</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244983#msg-244983</link>
            <description><![CDATA[ that seems odd, don't you want motors that can handle the torque at say 1000pps ( pulses per second) or higher? torque falls off quite quickly as speed of steps increase on a stepper.]]></description>
            <dc:creator>jamesdanielv</dc:creator>
            <category>General</category>
            <pubDate>Fri, 13 Sep 2013 04:50:45 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244974#msg-244974</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244974#msg-244974</link>
            <description><![CDATA[ I measured the torque needed to turn the screws and bought motors with more torque, and they work.<br />
<br />
...R<br />
<br />
bobc Wrote:<br />
<br />
&gt; <br />
&gt; I am wondering how you decided those motors have<br />
&gt; enough torque?<br />
&gt;]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Fri, 13 Sep 2013 03:55:08 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244918#msg-244918</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244918#msg-244918</link>
            <description><![CDATA[ Robin2 Wrote:<br />
-------------------------------------------------------<br />
&gt; I am using these<br />
&gt; [url=http://www.hobbytronics.co.uk/motor-control/s<br />
&gt; tepper-motors/stepper-motor]stepper motors[/url]<br />
&gt; because they were the cheapest I could fine with<br />
&gt; enough torque.<br />
<br />
I am wondering how you decided those motors have enough torque?<br />
<br />
&gt; I make no pretence that any of this is cutting<br />
&gt; edge stuff :) <br />
<br />
Hopefully the lathe does have a cutting edge... :)]]></description>
            <dc:creator>bobc</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 17:42:44 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244910#msg-244910</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244910#msg-244910</link>
            <description><![CDATA[ I recently bought the chester champion v20, very nice, those motors may struggle a bit maybe,especialy if you want rapid moves,  have you tested the code, with motors connected to the drive boards, or LED's.<br />
<br />
Edit, although its a small lathe I would suggest a minimum of 2amp motors and drives to match, preferably bigger,<br />
especialy on the saddle.]]></description>
            <dc:creator>johnrpm</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 17:03:04 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244903#msg-244903</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244903#msg-244903</link>
            <description><![CDATA[ The lathe is one of these <a href="http://www.chestermachinetools.com/cobra-lathe-3964-p.asp" target="_blank"  rel="nofollow">Chester Cobra Lathe</a> which is a Sieg c1 in yellow paint.<br />
<br />
I am using these <a href="http://www.hobbytronics.co.uk/motor-control/stepper-motors/stepper-motor" target="_blank"  rel="nofollow">stepper motors</a> because they were the cheapest I could fine with enough torque.<br />
<br />
I make no pretence that any of this is cutting edge stuff :) The lathe itself is an extravagance because I don't use it  much and converting it to CNC and 3D printing is an even greater extravagance - but fun.<br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 16:46:45 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244886#msg-244886</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244886#msg-244886</link>
            <description><![CDATA[ Can we get a look at the lathe that you're going to convert?]]></description>
            <dc:creator>akhlut</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 15:17:27 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244876#msg-244876</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244876#msg-244876</link>
            <description><![CDATA[ @Johnrpm, following is the key section from my test sketch (with apologies for the layout - blame Gedit)<br />
<br />
Basically the loop repeats until the time defined in <i>moveTotalMicros</i> expires and during that time it causes a motor to step at the intervals defined for each motor in <i>rptInterval</i>. All these values have been calculated on the PC such that, say, one  motor will take 200 steps in the same time that another takes 47. This corresponds to one line of GCode.<br />
<br />
At the end of each line another part of the program gets a new line from the serial buffer and then asks the PC to send another line while the first one is being executed.<br />
<br />
...R<br />
<br />
<pre class="bbcode">//=======================================
void motorDrive() {

		curMicros = micros();
	
		if (mMoves == 0) {
			Serial.print("StartMoveZ");
			mMoves = 1;
			startMoveMicros = curMicros;
			for (byte m = 0; m &lt; motorCount; m++) { // for each of the motors
				motors[m].nxtInterval = curMicros + motors[m].rptInterval;
//				Serial.println(motors[m].nxtInterval);
			}
//			Serial.print("Z");
		}
		else {
//			mMoves++;
//			if (pcData.pcVars.cmdType == 'c') {
//				Serial.print(curMicros - startMoveMicros);
//				Serial.print("  ");
//				Serial.print(motors[0].nxtInterval);
//				Serial.print("Z");
//			}
		  for (byte m = 0; m &lt; motorCount; m++) { // for each of the motors

		    // set the stepPin low if appropriate
		    if (motors[m].pulseHigh &amp;&amp; curMicros &gt;= motors[m].nxtLow) {	
		      digitalWrite(motors[m].stepPin, LOW);
		      motors[m].pulseHigh = false;
//		      msteps[m]++;
		    } //  if (micros() - motors[m].lastMicros

		    // is it time to step this motor
		    if ((curMicros &gt;= motors[m].nxtInterval)) { // is it time to step this motor
		      // the PC will have figured out that this step won't happen
		      //   before the previous step is complete
//		      Serial.print("StepTimeZ");
		      digitalWrite(motors[m].stepPin, HIGH);
		      motors[m].pulseHigh = true;
		      motors[m].lastMicros = micros();
		      motors[m].nxtLow = motors[m].nxtInterval + pulseWidth; //motors[m].rptInterval / 2;
		      motors[m].nxtInterval += motors[m].rptInterval;
					msteps[m]++;
		    } // if (countVal % motors[m].rptInterval == 0)
		  } // for (byte m = 0;

		  if (curMicros - startMoveMicros &gt; moveTotalMicros) { // i.e. this movement is complete
		  
		  	for (byte m = 0; m &lt; motorCount; m++) { // for each of the motors
		  		digitalWrite(motors[m].stepPin, LOW);
		  		motors[m].pulseHigh = false;
		  	}
		  	
//		  	Serial.print("Movement CompleteZ");
//		  	Serial.print("MSTEPS ");
//		  	Serial.print(msteps[0]);
//		  	Serial.print(" ");
//		  	Serial.println(msteps[1]);
//		  	Serial.print("Curmicros1 ");
//		  	Serial.println(curMicros1);
//		  	Serial.println(scndMicros);
//		  	Serial.print(mMoves);
//		  	Serial.print("Z");
		  	countVal = 0;
		  	mMoves = 0;
		    countInProgress = false;
		    getLineFromPC();
		    Serial.print("Data requested after moveZ");
		  }
//    unsigned long endMicros = micros();
//    Serial.print("Move Loop ");
//    Serial.print(endMicros - startMicros);
//    Serial.print("Z");
	}
}

</pre>]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 14:45:51 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244868#msg-244868</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244868#msg-244868</link>
            <description><![CDATA[ What stepper motors are you going to use?]]></description>
            <dc:creator>akhlut</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 14:23:36 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244859#msg-244859</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244859#msg-244859</link>
            <description><![CDATA[ Robin2<br />
Thanks for the info, the Mega is a safe option, gives more flexibility, maybe a CF card etc, Can you post some of your code, so that I can try to understand it.<br />
notice the word TRY.]]></description>
            <dc:creator>johnrpm</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 13:45:04 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244825#msg-244825</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244825#msg-244825</link>
            <description><![CDATA[ @Johnrpm, I'm not quite sure what exactly you are asking. <br />
<br />
I'm driving my stepper motors with Pololu A4988 boards connected to either an Arduino Uno or Mega. I bought he Mega because I thought I would have to use Sprinter but the code I have written myself will easily fit on an Uno. If I need to use end-stop switches the Uno may run out of pins, but I think I will start with setting the zero position manually and hope the software can keep a correct count of where it is after that.<br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 11:42:42 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244783#msg-244783</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244783#msg-244783</link>
            <description><![CDATA[ Robin2<br />
What drive board have you got in mind.]]></description>
            <dc:creator>johnrpm</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 09:44:35 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244770#msg-244770</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244770#msg-244770</link>
            <description><![CDATA[ [<a href="http://reprap.org/wiki/4_Axis_TB6560_CNC_Stepper_Motor_Driver_Board_Controller" target="_blank"  rel="nofollow">reprap.org</a>]]]></description>
            <dc:creator>akhlut</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 09:08:53 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244759#msg-244759</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244759#msg-244759</link>
            <description><![CDATA[ Thanks @Johnrpm,<br />
<br />
In the concept I have in mind there will always be a precise number of steps in a given number of microseconds so I don't think there is a risk of drift except to the extent that all stepwise processes must reduce floating point values to integers - but that must also happen with Sprinter, Teacup etc.<br />
<br />
If this isn't what you had in mind I would appreciate a clarification.<br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 08:16:07 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244706#msg-244706</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244706#msg-244706</link>
            <description><![CDATA[ Others who have far more knowledge than I could answer this better, but I would be concerned that relying on timeing alone would lead to <br />
inacuracy, if a step equals a certain distance, then N steps equals a definate value, whereas small errors in timeing could add up, that is if I understand correctly what you propose.<br />
<br />
P.S do you not think it would have saved a lot of time asking the above in the first place.]]></description>
            <dc:creator>johnrpm</dc:creator>
            <category>General</category>
            <pubDate>Thu, 12 Sep 2013 05:59:02 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244580#msg-244580</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244580#msg-244580</link>
            <description><![CDATA[ Thanks again Cameron.<br />
<br />
I understand the importance of the Arduino as a buffer. I learned that the hard way with another (much simpler) project where I thought an FTDI USB to parallel board would behave like a PC parallel port.<br />
<br />
I also understand the value of GCode as a compact and convenient standard for code to control machines.<br />
<br />
But I am not convinced that these two pieces of information require the GCode to be processed by the Arduino. Ultimately any single line of GCode must be resolved into coordinated moves by the stepper motors. It seems to me quite possible to send a pre-processed (and still compact) instruction to the Arduno which doesn't require any interpretation by the Arduino.<br />
<br />
I have been experimenting with sending five pieces of information to the Arduino - the total time for a move (in microseconds) and for each of the 4 motors, the interval (in microseconds) at which it should step. It only takes a few lines of Arduino code to implement that. Turning GCode into that sort of data should be a trivial job for a PC, especially as it doesn't have to do it in real time. Also the PC is much better suited to floating point maths needed to deal with arcs.<br />
<br />
What I've been hoping to learn here is if there is a good reason not to do it like that which I haven't yet thought about.<br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Wed, 11 Sep 2013 17:33:51 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244553#msg-244553</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244553#msg-244553</link>
            <description><![CDATA[ Robin2 Wrote:<br />
-------------------------------------------------------<br />
&gt; I like Arduinos. I intend to use an Arduino. The<br />
&gt; question that remains in my mind is how the work<br />
&gt; should be divided between the PC and the Arduino.<br />
&gt; Programs such as Sprinter, Teacup etc seem to use<br />
&gt; the Arduino to do a lot of work that could be done<br />
&gt; on a PC. I had been hoping someone who is familiar<br />
&gt; with those programs would explain the thinking<br />
&gt; behind the decision to do all that work on the<br />
&gt; Arduino.<br />
<br />
There are a few reasons that I see for using an Ardiuno and using it to process gcode.<br />
First - PC's are not real-time.  So you need some sort of buffer between the PC and the motors and sensors.  The Arduino does this.<br />
Second - Even if you had a real-time operating system on your PC, it would require a parallel port to output motor control and read sensors.  Most modern computers do not have this.  A USB-parallel adapter would not work, as USB is not real-time.<br />
Third - Gcode is a compact way of transmitting the movement information.  If movements were further derived, such as into step and direction commands, the bandwidth required to transmit those commands would increase dramatically.  It would require a more powerful micro controller to act as the buffer, which would defeat the purpose of having the PC do pre-processing.<br />
Fourth - Gcode is readable and portable.  It can be human-read and edited, and transfers reasonably well between machines.]]></description>
            <dc:creator>NewPerfection</dc:creator>
            <category>General</category>
            <pubDate>Wed, 11 Sep 2013 15:30:02 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244532#msg-244532</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244532#msg-244532</link>
            <description><![CDATA[ I like Arduinos. I intend to use an Arduino. The question that remains in my mind is how the work should be divided between the PC and the Arduino. Programs such as Sprinter, Teacup etc seem to use the Arduino to do a lot of work that could be done on a PC. I had been hoping someone who is familiar with those programs would explain the thinking behind the decision to do all that work on the Arduino.<br />
<br />
I don't want to print onto a rotating part in a lathe. I just plan to use the three axes of my lathe (I have a small vertical slide) to work the same as the 3 axes of a Reprap machine. I will also have a stationary extruder. I am trying this out  because it should be much cheaper than a Reprap machine. It will be a very different machine from a regular Reprap machine and I had hoped that someone would have been able to say "it needs to be able to do this, this and this in order to produce good products".<br />
<br />
Thank you for your input.<br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Wed, 11 Sep 2013 14:51:15 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244519#msg-244519</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244519#msg-244519</link>
            <description><![CDATA[ Robin2 Wrote:<br />
-------------------------------------------------------<br />
&gt; All I've been<br />
&gt; hoping to find was a description of the principles<br />
&gt; necessary for 3D printing to work so that I can<br />
&gt; take them into account in my own system. It's<br />
&gt; beginning to look as if, while the Reprap crowd<br />
&gt; are happy for people to copy their equipment and<br />
&gt; software, they are reluctant to make the<br />
&gt; underlying secrets public.<br />
<br />
I am still genuinely baffled what underlying principles you think there are that are unique to 3D printing which need explaining, and are not general applications of maths, physics etc and common sense.<br />
<br />
There are no secrets. RepRap is built on the very opposite of keeping secrets. How could the implementation be openly published without revealing underlying principles? The principles are embodied in the design. Your conclusion is therefore quite illogical.]]></description>
            <dc:creator>bobc</dc:creator>
            <category>General</category>
            <pubDate>Wed, 11 Sep 2013 14:12:46 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244461#msg-244461</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244461#msg-244461</link>
            <description><![CDATA[ There really is no need for the arduino.  You can certainly use a 4-axis BOB and PC to control a reprap.  Without the arduino you'll need some extra hardware to make it all work, but nothing is impossible.  I know that slic3r can export a MACH3 flavored g-code.  Reprap uses the arduino platform because it is cheap, modular and easily procured.  <br />
<br />
Honestly, there are no secrets.  Perhaps the information you seek is buried.  Perhaps it does not exist and you may have to create it.  Case in point: the Delta printer configuration.  The firmware had to be modified to support such a printer.  Johann built the machine and modified marlin to support the delta configuration (A,B,C pillars instead of X,Y, Z axes).  An additive lathe is no different.  The firmware will have to be modified to support such a configuration (X,Z,A).<br />
<br />
Maybe these links will help with what you're trying to accomplish.<br />
<br />
[<a href="http://forums.reprap.org/read.php?1,152148,215143" target="_blank"  rel="nofollow">forums.reprap.org</a>]<br />
[<a href="http://www.scribd.com/doc/147351838/Lathe-Type-3D-Printer" target="_blank"  rel="nofollow">www.scribd.com</a>]<br />
[<a href="http://fab.cba.mit.edu/classes/863.11/people/yoav.shterman/secondUpdate.html" target="_blank"  rel="nofollow">fab.cba.mit.edu</a>]<br />
<br />
General principle of FDM:<br />
<br />
Coordinated positioning and deposition of media via extrusion onto either a substrate or a layer of previously extruded media to produce an object.  <br />
<br />
Media can include but is not limited to:<br />
Thermoplastics<br />
Polymer liquids<br />
Polymer solids<br />
Super-saturated solutions<br />
<br />
That's it in a nutshell.]]></description>
            <dc:creator>akhlut</dc:creator>
            <category>General</category>
            <pubDate>Wed, 11 Sep 2013 11:31:56 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244451#msg-244451</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244451#msg-244451</link>
            <description><![CDATA[ . <i>All I've been hoping to find was a description of the principles necessary for 3D printing to work</i> <br />
<br />
if you ever find them let us know.<br />
<br />
 <i>they are reluctant to make the underlying secrets public.</i><br />
<br />
SSSSSSSSSSHHHHH don't tell everyone you'l let the cat out of the bag.]]></description>
            <dc:creator>johnrpm</dc:creator>
            <category>General</category>
            <pubDate>Wed, 11 Sep 2013 10:50:30 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244431#msg-244431</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244431#msg-244431</link>
            <description><![CDATA[ @ahklut, Thank you very much for taking the trouble to write such a long post, I do appreciate it.<br />
<br />
I do realize that stuff about a CNC lathe is out of place here. I just asked that question because someone else looked like he might know something about it.<br />
<br />
I like "your path to 3D printing Nirvana" but it seems like I'm stuck at step 2 because I'm not getting answers to the questions that seem relevant to me.<br />
<br />
I understand your aversion to "standards" although I suspect you use them many times a day in your everyday life (and couldn't manage without them) - electricity plugs and sockets, electricity voltage, HTML, driving on an agreed side of the road etc etc etc etc.<br />
<br />
I realize that using my lathe as a 3D printing platform and as a CNC lathe is very different from the "standard" approach to Reprap. All I've been hoping to find was a description of the principles necessary for 3D printing to work so that I can take them into account in my own system. It's beginning to look as if, while the Reprap crowd are happy for people to copy their equipment and software, they are reluctant to make the underlying secrets public.<br />
<br />
And none of the replies I have seen here has presented a convincing argument for interpreting GCode on the Arduino rather than on the PC. <br />
<br />
...R]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Wed, 11 Sep 2013 09:45:14 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244349#msg-244349</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244349#msg-244349</link>
            <description><![CDATA[ Robin2,<br />
<br />
you're really asking this in the wrong place.  While some here may have experience with milling machines and CNC lathes, it's not what we do.<br />
<br />
Perhaps <a href="http://www.cnczone.com/forums/google.php?cx=partner-pub-8957509077914564%3At32wbj-cxcg&amp;cof=FORID%3A9&amp;ie=ISO-8859-1&amp;q=grbl+lathe&amp;sa.x=-1442&amp;sa.y=-177&amp;siteurl=www.cnczone.com%2F&amp;ref=&amp;ss=2192j639872j10" target="_blank"  rel="nofollow">here</a>.<br />
<br />
We build 3D printers that, with our aid, self-replicate.  That is our only goal.  Additive lathes have been discussed in the past, but I don't think I've seen any results on that front.<br />
<br />
You don't 'wire GRBL up' to anything.  It's firmware, not hardware.  Adding stepper motors to a lathe for CNC should be trivial.  Almost as trivial as wiring the stepper motors up to a microcontroller/shield.  You are simply controlling an axis.  You will need to properly define that axis in the firmware, but that is all.  Controlling a lathe is really a function of the CAM software.  An <a href="http://www.cambam.info/doc/plus/cam/Lathe.htm" target="_blank"  rel="nofollow">example</a>.<br />
<br />
GRBL is just firmware that resides on an arduino uno.  Sprinter and Marlin are specialized offshoots of GRBL.<br />
<br />
GRBL is used to control stepper motors via g-code, and do some other fun stuff, like turn a spindle on/off, control the spindle direction, turn cooling lubricant on/off and provide some functionality to a pendant.  That's about it.  :(<br />
<br />
The github repository is here: [<a href="https://github.com/grbl/grbl" target="_blank"  rel="nofollow">github.com</a>]<br />
<br />
A guide to configuring GRBL is here: [<a href="http://www.shapeoko.com/wiki/index.php/Grbl" target="_blank"  rel="nofollow">www.shapeoko.com</a>]<br />
<br />
You probably know all this.<br />
<br />
We use Marlin/Sprinter/Teacup to interface the PC with the printer via a microcontroller.  There are good reasons for doing this as we're not just throwing some axes around like some CNC devices do.  We must also monitor and control the temperatures of hotends and heated beds.  We also have a need to control fans.  Microcontrollers also allow us to run these machines headless by interfacing with LCD displays, rotary encoders, buttons and SD card readers.  Then there are accessories, like Z-probes.  In short, microcontrollers offer us distinct advantages over the traditional BOB + PC + MACH3/etc.  Advantages that can simply be coded into the firmware when a new feature is called for/needed.  Thus is the beauty of open source.<br />
<br />
Are there issues with communicating via USB?  Sure, but nothing insurmountable.<br />
<br />
If you want to see how the firmwares work, fork their respective github repositories and have at it.  As much as people want it, we cannot hold their hands and walk them through these things.  Sometimes it's because some of us don't understand them (me no understand firmware), and sometimes we just don't want to write a dissertation on a well-established part of the tool-chain.  If you want to fundamentally understand how something works you'll need to roll up your sleeves and get right in there, preferably elbow-deep.  But to truly understand it you need to see it live.  <br />
<br />
Your best bet for understanding this technology is to actually build a machine.  Get the mechanics sorted and then play with the firmware.<br />
<br />
And your car/map analogy is exactly backwards.  A good driver does his research, reads maps and plots a route long before he ever gets in the car.  And it would be nice to know exactly how the mechanics of a car's engine and transmission work, but ultimately does that information help you accomplish your objective in getting from point A to B?  <br />
<br />
Perhaps what you're looking for is a standard.  That is an ugly, four-letter word around here.  Accepting the fact that there is no standard is your first step on the path to enlightenment.  There is no standard machine.  There is no standard tool-path.  There is no standard firmware.  There is no standard.<br />
<br />
There are very good reasons for this. <br />
<br />
Every single machine is different.<br />
Every user has different skills and abilities.<br />
Every user has a preferred tool-path.<br />
<br />
Once you accept this, that there is no standard, you will see that this is a beautiful thing.  <br />
<br />
Standards promote ignorance.  <br />
Standards stunt growth.<br />
Standards discourage experimentation.<br />
Standards lead to obsolescence.<br />
<br />
Finally, maybe you don't understand the tool-chain.  This is possible, so I'll outline it.<br />
<br />
Step 1 - So you have gotten your hands on a sweet model from someplace out on the interwebs.  What do you do with it?  Well, we need to take that object and prep it for printing.<br />
Step 2A - Load the model into your favorite skeining/slicing program.  There are a variety of tools to do this job (skeinforge/slic3r/cura/kisslicer/etc).<br />
Step 2B - Oops!  Your model has a hole (non-manifold)!  Better go to cloud.netfabb.com and have them fix it for you.  Once you download the fixed model load it into your slicer of choice, specify your settings (which can be a master class in and of itself) and have the program generate the g-code from the model.<br />
Step3 - Hooray!  You have some g-code ready to be fed to your 3D printer!  But how do it know?  Well, you use a g-code sender like repetier host or printrun/pronterface to send the g-code to the arduino.  Open this software up.<br />
Step 4 - Prep the printer.  This typically means pre-heating the hotend, heated bed, heated chamber, etc.  Once you've set the machine up load the g-code file and click print.<br />
Step 5 - Engage in reprap hypnosis watching your machine produce your model.<br />
<br />
<div id="div_8c1121adabe601d811888daa07c959bb"
     class="mod_embed_images"
     style="width:400px">

  

    
      
    

    <div id="imagediv_8c1121adabe601d811888daa07c959bb" class="mod_embed_images_image"
         style="width:400px; height:300px">

    

    <a href="http://31.media.tumblr.com/0415818df2a15eb3b64c45f1c6d278fc/tumblr_mqdni7Wb8u1sbg8zzo1_400.gif">
        <img src="/forum/thumbcache/3e7/e4d/a0f/ffb/cbc/0e4/cc9/44e/fe7/80b/b8_800x400.gif"
             width="400"
             height="300"
             id="image_8c1121adabe601d811888daa07c959bb"
             alt="tumblr_mqdni7Wb8u1sbg8zzo1_400.gif"
             title="tumblr_mqdni7Wb8u1sbg8zzo1_400.gif"/>
    </a>

    

    </div>

    <div class="mod_embed_images_info " id="info_8c1121adabe601d811888daa07c959bb"
      >
      <a id="link_8c1121adabe601d811888daa07c959bb" href="http://31.media.tumblr.com/0415818df2a15eb3b64c45f1c6d278fc/tumblr_mqdni7Wb8u1sbg8zzo1_400.gif">tumblr_mqdni7Wb8u1sbg8zzo1_400.gif</a>
    </div>

  

 </div>


<script type="text/javascript">
mod_embed_images_loadimage('8c1121adabe601d811888daa07c959bb', '/forum/thumbcache/3e7/e4d/a0f/ffb/cbc/0e4/cc9/44e/fe7/80b/b8_800x400.gif', 'http://31.media.tumblr.com/0415818df2a15eb3b64c45f1c6d278fc/tumblr_mqdni7Wb8u1sbg8zzo1_400.gif', 'https://reprap.org/forum/addon.php?1,module=embed_images,check_scaling=1,url=http%3A%2F%2F31.media.tumblr.com%2F0415818df2a15eb3b64c45f1c6d278fc%2Ftumblr_mqdni7Wb8u1sbg8zzo1_400.gif', '', 244349, 800, 400, 'Loading image ...', false);
</script>
<br />
<br />
Step 6 - Finished printing!  Hussah!  Wait for it to cool before you attempt to retrieve the object of your desire. <br />
<br />
Your path the 3D printing Nirvana:<br />
Step 1 - Research.<br />
Step 2 - Ask questions.<br />
Step 3 - Repeat steps 1 and 2 until you're comfortable with what these machines are, what they do, how they work and how to effectively use them<br />
Step 4 - Build a machine.<br />
Step 5 - Ask questions about where you went wrong (you will go wrong somewhere).<br />
Step 6 - Iterate on a variety of topics until you have the machine printing well.<br />
Step 7 - Repeat steps 1 - 6 for your next machine.<br />
Step 8 - Repeat steps 1 - 7 ad infintum<br />
<br />
I hope this was useful.<br/>]]></description>
            <dc:creator>akhlut</dc:creator>
            <category>General</category>
            <pubDate>Tue, 10 Sep 2013 22:11:30 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244338#msg-244338</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244338#msg-244338</link>
            <description><![CDATA[ Keep it civil, please.]]></description>
            <dc:creator>NewPerfection</dc:creator>
            <category>General</category>
            <pubDate>Tue, 10 Sep 2013 19:46:08 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244301#msg-244301</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244301#msg-244301</link>
            <description><![CDATA[ So you've never known a driver to get lost?<br />
           and without simultaneously killing himself or someone else?<br />
<br />
...R<br />
<br />
bobc Wrote:<br />
&gt; <br />
&gt; I'm sorry, but that is the most ridiculous thing I<br />
&gt; have ever read!]]></description>
            <dc:creator>Robin2</dc:creator>
            <category>General</category>
            <pubDate>Tue, 10 Sep 2013 17:03:33 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?1,242593,244247#msg-244247</guid>
            <title>Re: Electronics and software combination questions</title>
            <link>https://reprap.org/forum/read.php?1,242593,244247#msg-244247</link>
            <description><![CDATA[ Robin2 Wrote:<br />
-------------------------------------------------------<br />
&gt; It's beginning to look like it. <br />
&gt; <br />
&gt; Knowing how to drive a car requires knowing how to<br />
&gt; use the accelerator, brake, clutch gear shift etc.<br />
&gt; <br />
&gt; Knowing how to get to the seaside requires knowing<br />
&gt; how to read maps and road signs. <br />
&gt; <br />
&gt; Two completely different skill sets.<br />
<br />
I'm sorry, but that is the most ridiculous thing I have ever read!]]></description>
            <dc:creator>bobc</dc:creator>
            <category>General</category>
            <pubDate>Tue, 10 Sep 2013 15:14:34 -0400</pubDate>
        </item>
    </channel>
</rss>
