<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
        <description>Hi, so it seems the SCARA branch of the RepRap forums is a bit of a dessert but update on machine, it is mechanically stable but the firmware is a nightmare. I downloaded and configured VitaminRad&#039;s Marlin version but outside of homing xyz so long as I leave the z probe turned off, there&#039;s not much else that I can get it to do as it ignores all the move commands it is given over pronterface. I left an attatchment of my config files hopefully someone here can point out some obvious thing I missed that is stopping any commands from going through.

So about my machine, it is my development of the RepRap Helios with a similar homing position, print area, and bed leveling probe. I&#039;ve done all I could to the config.h and config_adv.h files but without any known way of accessing the actual inverse kinematics or homing commands/orientation, there isn&#039;t much I can do. Programming has always been my weakside but juggling just these two files and a bunch of cosmetic files here and there feels like Marlin handicaps its development for those that don&#039;t want to be trapped inside a box. Any help is much appreciated, sorry for my frustrations but fewer things are more torturous than having only half the key to solving the puzzle. I&#039;ve probably buried my nose too deep in this project to figure out how to get my machine to just simply move.</description>
        <link>https://reprap.org/forum/read.php?185,813991,813991#msg-813991</link>
        <lastBuildDate>Sat, 18 Apr 2026 19:11:07 -0400</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,849982#msg-849982</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,849982#msg-849982</link>
            <description><![CDATA[ I noticed that the firmware called the kinematic inverse solution of the SCARA robot before calling the plan_buffer_line function, and then assigns the calculated three joint angle values to the plan_buffer_line function.After reading the plan_buffer_line function in detail, I feel that this is wrong. <br />
This is because all the computational algorithmic processes in the function are directed to Cartesian Cartesian coordinate space, for example:<br />
<br />
block-&gt;millimeters = sqrt(square(delta_mm[X_HEAD]) + square(delta_mm[Y_HEAD]) + square(delta_mm[Z_AXIS]));<br />
<br />
This is to calculate the spatial moving distance through the three target coordinates of Cartesian space. If it is replaced by three joint angle values, is this wrong?<br />
The latter algorithm has similar problems, especially the Breasham algorithm in ISR, which is completely an algorithm of Cartesian space. If the value passed to the algorithm is three joint angle values, I think it should be incorrect.<br />
I looked at the code for the marlin 1.1 version and there are similar issues.<br />
I hope that my doubts can be answered, thank you!smiling smiley<br />
My email address: <a href="mailto:&#100;&#111;&#110;&#103;&#120;&#118;&#122;&#104;&#111;&#117;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">&#100;&#111;&#110;&#103;&#120;&#118;&#122;&#104;&#111;&#117;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;</a>]]></description>
            <dc:creator>dongxuzhou</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 25 Mar 2019 05:07:16 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,844556#msg-844556</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,844556#msg-844556</link>
            <description><![CDATA[ Hi Scaraman!<br />
<br />
Did your Scara work?]]></description>
            <dc:creator>Mauxx</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 14 Jan 2019 07:17:35 -0500</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,834086#msg-834086</guid>
            <title>Preliminary Calibration for SCARA 3D Printer using InventMain Firmware</title>
            <link>https://reprap.org/forum/read.php?185,813991,834086#msg-834086</link>
            <description><![CDATA[ Hi Guys,<br />
 It's been a while, was on holidays. Now i am back, and trying endlessly to still set up my printer- at least make sure that the arms Link 1 and Link 2<br />
 move correctly to the desired locations i have chosen , it seems every time i change a parameter in the firmware , it just doesn't do what i want.<br />
<br />
 I would really appreciate if anyone could shed some light to my frustration.<br />
 I am trying to configure Firmware from Invent Main to work with my 3d printer.<br />
 I did some changes and moved my end stops to the other side, from the last time<br />
 i had posted, see prevoius posts. ( Thinking that end stops were too far, from Bed center ( 0, 0 )<br />
<br />
<br />
 There is 2 files attached with this post, and a  youtube link below<br />
<br />
 filename : Top View SCARA 3D PRINTER.jpg<br />
<br />
 This image is a Top View of My Scara 3D printer with proper dimensions<br />
<br />
<br />
 filename : Marlin8_ArmOni_Solo_Sep_13_2018.zip<br />
<br />
 Contains the current firmware i used according to the video you see<br />
<br />
Yout tube Link Video --  [<a href="https://youtu.be/8HypSiURWbQ" target="_blank"  rel="nofollow">youtu.be</a>]<br />
<br />
Video  shows the arms being homed, and then i give a command <br />
 after homing<br />
<br />
 G0 X0 YO, THEN G0 X0 Y 219 THEN G0 X 247 Y 219 THEN G0 X 247 Y 0<br />
 AND FINALLY G0 X0 Y0<br />
<br />
 As you see they are not in proper positions<br />
 By the way when i home, i press x home on pronterface and the y home on pronterface<br />
 following the G0 X0 YO<br />
<br />
 But if i home using G28 command , it will not move after i give command<br />
 G0 X0 Y0<br />
<br />
<br />
<br />
<br />
<br />
 filename : Top View SCARA 3D PRINTER.jpg<br />
<br />
 This image is a Top View of My Scara 3D printer with proper dimensions<br />
<br />
<br />
 filename : Marlin8_ArmOni_Solo_Sep_13_2018.zip<br />
<br />
 Contains the current firmware i used according to the video you see<br />
<br />
<br />
 Please help me, i am out of ideas, i don't know what to do<br />
<br />
 Scaraman]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Wed, 19 Sep 2018 14:48:39 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,833055#msg-833055</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,833055#msg-833055</link>
            <description><![CDATA[ Thanks    but I have a scara with link1 = 100, link2 = 100 <br />
So How to calculate the offset points x and y? MANUAL_X_HOME_POS ,MANUAL_Y_HOME_POS ?<br />
sorry for my English not good]]></description>
            <dc:creator>Le Linh</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Fri, 07 Sep 2018 00:34:26 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,833052#msg-833052</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,833052#msg-833052</link>
            <description><![CDATA[ Go to the top of this topic and open pictures in sixth post]]></description>
            <dc:creator>Mauxx</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Thu, 06 Sep 2018 23:42:46 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,832756#msg-832756</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,832756#msg-832756</link>
            <description><![CDATA[ Please!    How to calculate the offset points x and y ?]]></description>
            <dc:creator>Le Linh</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 03 Sep 2018 21:18:05 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,828716#msg-828716</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,828716#msg-828716</link>
            <description><![CDATA[ Yes seems like that, any way to resolve that ?<br />
i will try tonight to set G0 X247 Y0, and see where is ends up.<br />
Would it be better if i just had the endstops located on the other side ??<br />
i dont see why the firmware cant handle the present location i have them now .]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 16 Jul 2018 11:41:20 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,828700#msg-828700</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,828700#msg-828700</link>
            <description><![CDATA[ you may have a trajectory/collision problem...<br />
Did you try other positions: for example G0 X247 Y0]]></description>
            <dc:creator>invent2main</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 16 Jul 2018 09:08:05 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,828672#msg-828672</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,828672#msg-828672</link>
            <description><![CDATA[ HI<br />
I tried your suggestion, but with no success<br />
pronterface is able to send command to home end stops for x and y, but after I send a G0 X0 Y0, it freaks.<br />
I have attached a link to video and the firmware, please take a look<br />
[<a href="https://youtu.be/Oyh2mIWgW9g" target="_blank"  rel="nofollow">youtu.be</a>]]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 16 Jul 2018 05:59:18 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,828658#msg-828658</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,828658#msg-828658</link>
            <description><![CDATA[ hello,<br />
if you use my version without changes it's normal; you have to change the the type of kinematics that depend of your design in the file Marlin_main.cpp:<br />
<br />
just change y in the forward kinematics:<br />
y_sin = sin(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2; // classical SCARA style<br />
y_cos = cos(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2; // classical SCARA style<br />
//y_sin = sin((f_scara[Y_AXIS]+(f_scara[X_AXIS]*3/4))/SCARA_RAD2DEG) * Linkage_2; //MODIF FOR ARMONI<br />
//y_cos = cos((f_scara[Y_AXIS]+(f_scara[X_AXIS]*3/4))/SCARA_RAD2DEG) * Linkage_2; //MODIF FOR ARMONI<br />
<br />
for inverse kinematics you need the second Delta(Y):<br />
//delta[Y_AXIS] = (SCARA_theta + SCARA_psi) * SCARA_RAD2DEG; // Morgan style<br />
delta[Y_AXIS] = SCARA_psi * SCARA_RAD2DEG; // classical SCARA style<br />
//delta[Y_AXIS] = (SCARA_psi + (SCARA_theta/4)) * SCARA_RAD2DEG; //MODIF FOR ARMONI (s2a) <br />
<br />
I modified the attached file]]></description>
            <dc:creator>invent2main</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 16 Jul 2018 03:47:23 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,828334#msg-828334</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,828334#msg-828334</link>
            <description><![CDATA[ Hi Invent2Main<br />
<br />
So you mentioned in your last reply you were willing to help me, I am using your firmware and entered the parameters according<br />
to my setup. When I run pronterface I am able to home the x and y motors to the end stops , then I send an M114 command and this is the reding I get<br />
SENDING:M114<br />
X:467.42 Y:-200.75 Z:0.00 E:0.00 Count X: -24.83 Y:11.98 Z:0.00<br />
SCARA Theta:-24.83   Psi+Theta:11.99<br />
SCARA Cal - Theta:-24.83   Psi+Theta (90):-53.18<br />
SCARA step Cal - Theta:-14.71   Psi+Theta:21.82<br />
<br />
What do I do after that ?<br />
if I send a command G0 X0 Y0 to go to my bed center , the arms begin to move but then link 2 continues rotating counterclockwise and won't stop !<br />
I have attached the firmware , and a drawing - TOP VIEW - can you help me please<br />
Thanks<br />
Terry]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Wed, 11 Jul 2018 05:26:22 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,828274#msg-828274</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,828274#msg-828274</link>
            <description><![CDATA[ HI<br />
Sure i can use your version, what parameters do i need to change in order to work properly ?<br />
Thanks]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Tue, 10 Jul 2018 05:32:19 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,828148#msg-828148</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,828148#msg-828148</link>
            <description><![CDATA[ yes, your steps/unit seems correct;<br />
what is the source of the firmware? vitaminrad, mine, other?<br />
Before finding a functional config, I tested many versions (vitaminrad, kimbra, morgan, RC ...) and none worked at 100%<br />
so I can only help you on my version and my configuration; and not guaranteed that it works for others...<br />
good luck]]></description>
            <dc:creator>invent2main</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 09 Jul 2018 04:51:49 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,827905#msg-827905</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,827905#msg-827905</link>
            <description><![CDATA[ hi<br />
currently I am using this one, I have attached the zip file<br />
<br />
when the end stops are triggered, this is the reading I get from pronterface with M114 command<br />
SENDING:M114<br />
X:182.57 Y:-127.29 Z:100.00 E:0.00offX:123.50offY:-107.00offZ:0.00 Count X: 152.93 Y:86.39 Z:100.00<br />
Angle_X:152.94Angle_Y:86.39<br />
<br />
also, just want to make sure I have calculated the steps correctly, I have entered 53.33 for x and y is this correct ?<br />
I am using 20 tooth pulley on motors driving a pulley on the arm with 120 teeth, gt2 belt , pitch 2mm<br />
microstepping 16, 1.8 degree nema 17 stepper motors]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Fri, 06 Jul 2018 05:47:20 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,827860#msg-827860</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,827860#msg-827860</link>
            <description><![CDATA[ hello,<br />
what version of Marlin do you use?]]></description>
            <dc:creator>invent2main</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Thu, 05 Jul 2018 10:58:10 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,827733#msg-827733</guid>
            <title>SCARA MARLIN FIRMWARE -PROBLEM WITH HOMING TO BED POSITION 0,0</title>
            <link>https://reprap.org/forum/read.php?185,813991,827733#msg-827733</link>
            <description><![CDATA[ Hi Everyone,<br />
<br />
 i have been trying for days now, modifying the marlin firmware as attached in my previous post.<br />
 But i still cannot get the arms to go to 0,0 position after homing on the end stops.<br />
 It seems it wants to go to another position as per image 0523 in previous post.<br />
 i am really stuck !!!<br />
 When i move x or y in pronterface. the arms move by the amount in the proper directions, but the 0,0 is from that origin<br />
 as per the image 0523<br />
 i want the origin to be from the bed center as per the attached top view drawings<br />
 Can anyone help me, what's the secret here.<br />
 I have attached the configuration file in prevoius post i have attached the Marlin_main.cpp with this post also.<br />
 I NEED HELP, ANYONE PLEASE ?????<br />
<br />
 ScaraMan]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Wed, 04 Jul 2018 08:58:12 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,826955#msg-826955</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,826955#msg-826955</link>
            <description><![CDATA[ Hi Vitamin Rad<br />
Thanks for your help.<br />
I inputted the values in Marlin.<br />
When I home in Pronterface, it does reach the endstops, although I need to place link2 arm slightly away before homing so that Link 1<br />
touches end stop 1st, before Link 2 hits end stop.<br />
M114 command reads this at endstops<br />
SENDING:M114<br />
X:182.57 Y:-127.29 Z:0.00 E:0.00offX:123.50offY:-107.00offZ:0.00 Count X: 153.82 Y:84.77 Z:0.00<br />
Angle_X:153.82Angle_Y:84.78<br />
<br />
but when I use a G0 X0 Y0 command after that , it doesn't go to the Bed Center 0,0 as pr my drawing. Any ideas why this is happening ?<br />
I have attached pictures, and the config files that I am using.<br />
I have attached the PDF top view, of where the arms should be when at bed centre 0,0<br />
<br />
<br />
Also the pulleys on motor have 20 teeth, and the larger pulleys that are connected to arms, have 120 teeth, i am using nema 17 stepper motors<br />
200 steps 16 microsteps -- i come out with 53.33 for the x and y steps that i plug into Marlin, is this correct ??]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Tue, 26 Jun 2018 05:29:32 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,826823#msg-826823</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,826823#msg-826823</link>
            <description><![CDATA[ hello,<br />
if you want to use Marlin firmware, you can try this:<br />
in configuration.h:<br />
#define SCARA  <br />
#define scara_segments_per_second 200 //careful, two much will decrease performance... 16MHz<br />
// Length of inner support arm<br />
#define Linkage_1 171 //mm      Preprocessor cannot handle decimal point...<br />
// Length of outer support arm     Measure arm lengths precisely and enter <br />
#define Linkage_2 190 //mm    <br />
<br />
// SCARA tower offset (position of Tower relative to bed zero position) <br />
// This needs to be reasonably accurate as it defines the printbed position in the SCARA space.<br />
#define SCARA_offset_x 123 //mm   <br />
#define SCARA_offset_y -107 //mm<br />
#define SCARA_RAD2DEG 57.2957795  // to convert RAD to degrees<br />
<br />
#define THETA_HOMING_OFFSET 0	//calculatated from Calibration Guide and command M360 / M114 see picture in [<a href="http://reprap.harleystudio.co.za/?page_id=1073" target="_blank"  rel="nofollow">reprap.harleystudio.co.za</a>]<br />
#define PSI_HOMING_OFFSET 0  // calculatated from Calibration Guide and command M364 / M114 see picture in [<a href="http://reprap.harleystudio.co.za/?page_id=1073" target="_blank"  rel="nofollow">reprap.harleystudio.co.za</a>]<br />
<br />
//some helper variables to make kinematics faster<br />
#define L1_2 sq(Linkage_1) // do not change<br />
#define L2_2 sq(Linkage_2) // do not change<br />
#define Link2x (Linkage_1+Linkage_2) // do not change<br />
<br />
*******<br />
set the endstop according your config +<br />
// ENDSTOP SETTINGS:<br />
// Sets direction of endstops when homing; 1=MAX, -1=MIN (inverted in scara for X&amp;Y)<br />
#define X_HOME_DIR -1<br />
#define Y_HOME_DIR -1<br />
#define Z_HOME_DIR -1<br />
<br />
// Travel limits after homing<br />
#define X_MAX_POS 246  (or MANUAL_X_HOME_POS)<br />
#define X_MIN_POS 0<br />
#define Y_MAX_POS 219 <br />
#define Y_MIN_POS 0   (or MANUAL_Y_HOME_POS)<br />
#define Z_MAX_POS 120 <br />
#define Z_MIN_POS MANUAL_Z_HOME_POS <br />
<br />
********<br />
<br />
// The position of the homing switches<br />
#define MANUAL_HOME_POSITIONS  // If defined, MANUAL_*_HOME_POS below will be used<br />
//#define BED_CENTER_AT_0_0  // If defined, the center of the bed is at (X=0, Y=0)<br />
<br />
//Manual homing switch locations:<br />
// For deltabots this means top and center of the Cartesian print volume.<br />
// For SCARA: Offset between HomingPosition and Bed X=0 / Y=0<br />
#define MANUAL_X_HOME_POS 461<br />
#define MANUAL_Y_HOME_POS -199<br />
#define MANUAL_Z_HOME_POS 0  // Distance between nozzle and print surface after homing.<br />
<br />
<br />
******<br />
 settings according your config:<br />
#define DEFAULT_AXIS_STEPS_PER_UNIT<br />
<br />
******<br />
<br />
for the choice of kinematics it depend of your design...<br />
<br />
good luck]]></description>
            <dc:creator>invent2main</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 25 Jun 2018 04:35:27 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,826150#msg-826150</guid>
            <title>Scara 3D Printer -- Need help setting up Marlin firmware</title>
            <link>https://reprap.org/forum/read.php?185,813991,826150#msg-826150</link>
            <description><![CDATA[ Hi <br />
I just joined the forum<br />
i really need some help.<br />
i am building a scara 3d printer, i think it's really cool.<br />
i have built 4 3d printers, cartesian style using marlin firmware for ultimaker 2 and they all run well )<br />
but now i am not sure what the parameters should be using the firmware for marlin with scara.<br />
i am somewhat confused.<br />
I am looking also at wangamas, but it seems that there are no pins files for my controller board, i am using the ultimaker 2 board.<br />
so i want to use vitaminRads firmware.<br />
i realise that wangamas firmware uses angles to input as the settings,<br />
Can someone please help.<br />
i have attached a top view Cad drawing and a real picture as of  today.<br />
my endstops are located as shown in drawing, and my prefered  bed center location. ( is this acceptable )<br />
but i dont understand what the tower offsets from bed center should be , also homing locations.<br />
At the moment just want to test the motors and endstops to make sure everything works fine , before i add the other components<br />
Nozzle, heatbed, controller board mounts , display, etc.<br />
I am using Nema 17 stepper motors, 1.8 degree, 16 steps. my motor pulleys have 20 teeth pulling the other pulleys with 120 teeth so gear ratio is 6.<br />
Any help would be greatly appreciated, i am sure i will get it, it's just entering the correct setting parameters.]]></description>
            <dc:creator>ScaraMan</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Tue, 19 Jun 2018 15:41:28 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,818040#msg-818040</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,818040#msg-818040</link>
            <description><![CDATA[ Thank you so much!!! No worries about it, I'm just incredibly grateful for your help, this project means a great to me and I'm not sure what I would have done without you :)<br />
<br />
I just finished commenting out the changes, I must admit now that I see it you have a very handy system for different kinematics. I'll go test things out and let you know how it goes!]]></description>
            <dc:creator>Power3DPrinting</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Tue, 10 Apr 2018 10:59:40 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,817995#msg-817995</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,817995#msg-817995</link>
            <description><![CDATA[ it's my fault, I didnt wrote a lot of comments in the modified code (it's a "work in progress", for tests); choice of kinematics depend of your design...<br />
<br />
just change y in the forward kinematics:<br />
y_sin = sin(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2; // classical SCARA style<br />
y_cos = cos(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2; // classical SCARA style<br />
//y_sin = sin((f_scara[Y_AXIS]+(f_scara[X_AXIS]*3/4))/SCARA_RAD2DEG) * Linkage_2; //MODIF FOR ARMONI<br />
//y_cos = cos((f_scara[Y_AXIS]+(f_scara[X_AXIS]*3/4))/SCARA_RAD2DEG) * Linkage_2; //MODIF FOR ARMONI<br />
<br />
for inverse kinematics you need the second Delta(Y):<br />
//delta[Y_AXIS] = (SCARA_theta + SCARA_psi) * SCARA_RAD2DEG; // Morgan style<br />
delta[Y_AXIS] = SCARA_psi * SCARA_RAD2DEG; // classical SCARA style<br />
//delta[Y_AXIS] = (SCARA_psi + (SCARA_theta/4)) * SCARA_RAD2DEG; //MODIF FOR ARMONI (s2a)]]></description>
            <dc:creator>invent2main</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Tue, 10 Apr 2018 03:43:51 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,817936#msg-817936</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,817936#msg-817936</link>
            <description><![CDATA[ Thanks! Helps clear up my conscious and hmm I'm honestly not sure I understand how our kinematics are different since both have joints in the same places and both your motors move the machine from its own shoulder like mine. Guess I don't nearly understand what I'm doing as much as I had hoped I did. Building a printer is a bundle of a lot more surprises I could have ever dreamed of haha. Okay, I found the forward and inverse kinematics I think you were asking for.<br />
<br />
#ifdef SCARA<br />
void calculate_SCARA_forward_Transform(float f_scara[3])<br />
{<br />
  // Perform forward kinematics, and place results in delta[3]<br />
  // The maths and first version has been done by QHARLEY . Integrated into masterbranch 06/2014 and slightly restructured by Joachim Cerny in June 2014<br />
  <br />
  float x_sin, x_cos, y_sin, y_cos;<br />
  <br />
    //SERIAL_ECHOPGM("f_delta x="); SERIAL_ECHO(f_scara[X_AXIS]);<br />
    //SERIAL_ECHOPGM(" y="); SERIAL_ECHO(f_scara[Y_AXIS]);<br />
  <br />
    x_sin = sin(f_scara[X_AXIS]/SCARA_RAD2DEG) * Linkage_1;<br />
    x_cos = cos(f_scara[X_AXIS]/SCARA_RAD2DEG) * Linkage_1;<br />
    //y_sin = sin(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2;<br />
    //y_cos = cos(f_scara[Y_AXIS]/SCARA_RAD2DEG) * Linkage_2;<br />
    y_sin = sin((f_scara[Y_AXIS]+(f_scara[X_AXIS]*3/4))/SCARA_RAD2DEG) * Linkage_2;   //MODIF FOR ARMONI<br />
    y_cos = cos((f_scara[Y_AXIS]+(f_scara[X_AXIS]*3/4))/SCARA_RAD2DEG) * Linkage_2;   //MODIF FOR ARMONI<br />
    <br />
    <br />
//  SPos = f_scara[X_AXIS]/SCARA_RAD2DEG;<br />
//  EPos = f_scara[Y_AXIS]/SCARA_RAD2DEG;  <br />
   <br />
  //  SERIAL_ECHOPGM(" x_sin="); SERIAL_ECHO(x_sin);<br />
  //  SERIAL_ECHOPGM(" x_cos="); SERIAL_ECHO(x_cos);<br />
  //  SERIAL_ECHOPGM(" y_sin="); SERIAL_ECHO(y_sin);<br />
  //  SERIAL_ECHOPGM(" y_cos="); SERIAL_ECHOLN(y_cos);<br />
  <br />
    delta[X_AXIS] = x_cos + y_cos + SCARA_offset_x;  //theta<br />
    delta[Y_AXIS] = x_sin + y_sin + SCARA_offset_y;  //theta+phi<br />
<br />
//    delta[X_AXIS] = Len1*cos(SPos) + Len2*cos(SPos+EPos);<br />
//    delta[Y_AXIS] = Len1*sin(SPos) + Len2*sin(SPos+EPos);    <br />
	<br />
//    SERIAL_ECHOPGM(" F_delta[X_AXIS]="); SERIAL_ECHO(delta[X_AXIS]);<br />
//    SERIAL_ECHOPGM(" F_delta[Y_AXIS]="); SERIAL_ECHOLN(delta[Y_AXIS]);<br />
}  <br />
<br />
void calculate_delta(float cartesian[3]){<br />
  //reverse kinematics.<br />
  // Perform reversed kinematics, and place results in delta[3]<br />
  // The maths and first version has been done by QHARLEY . Integrated into masterbranch 06/2014 and slightly restructured by Joachim Cerny in June 2014<br />
  <br />
  float SCARA_pos[2];<br />
  static float SCARA_C2, SCARA_S2, SCARA_K1, SCARA_K2, SCARA_theta, SCARA_psi; <br />
  <br />
  SCARA_pos[X_AXIS] = cartesian[X_AXIS] * axis_scaling[X_AXIS] - SCARA_offset_x;  //Translate SCARA to standard X Y<br />
  SCARA_pos[Y_AXIS] = cartesian[Y_AXIS] * axis_scaling[Y_AXIS] - SCARA_offset_y;  // With scaling factor.<br />
  <br />
 // if (Linkage_1 == Linkage_2)<br />
    SCARA_C2 = ( ( sq(SCARA_pos[X_AXIS]) + sq(SCARA_pos[Y_AXIS]) - (2 * (float)L1_2) ) / (2 * (float)L1_2) );<br />
 <br />
  if (SCARA_C2 &gt; 0.95) { SCARA_C2 = 0.95; } <br />
  else if (SCARA_C2 &lt; -0.95) { SCARA_C2 = -0.95; } <br />
    <br />
  SCARA_S2 = sqrt( 1 - sq(SCARA_C2) );<br />
  <br />
  SCARA_K1 = Linkage_1 + Linkage_2 * SCARA_C2;<br />
  SCARA_K2 = Linkage_2 * SCARA_S2;<br />
  <br />
  SCARA_theta = ( atan2(SCARA_pos[X_AXIS],SCARA_pos[Y_AXIS])-atan2(SCARA_K1, SCARA_K2) ) * -1;<br />
  SCARA_psi   =   atan2(SCARA_S2,SCARA_C2);<br />
  <br />
  delta[X_AXIS] = SCARA_theta * SCARA_RAD2DEG;  // Multiply by 180/Pi  -  theta is support arm angle<br />
  //delta[Y_AXIS] = (SCARA_theta + SCARA_psi) * SCARA_RAD2DEG;  //       -  equal to sub arm angle (inverted motor)<br />
  //delta[Y_AXIS] = SCARA_psi * SCARA_RAD2DEG;  // <br />
  delta[Y_AXIS] = (SCARA_psi + (SCARA_theta/4)) * SCARA_RAD2DEG;   //MODIF FOR ARMONI<br />
  delta[Z_AXIS] = cartesian[Z_AXIS];]]></description>
            <dc:creator>Power3DPrinting</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 09 Apr 2018 16:11:52 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,817869#msg-817869</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,817869#msg-817869</link>
            <description><![CDATA[ hello, no problem for sharing; Marlin is open source...<br />
I think you have to modify kinematics for your version; I have seen in your video that the elbow motor is moved by shoulder; in my version motors are fixed, hence the particular kinematics...<br />
what do you have here in Marlin_Main:<br />
void calculate_SCARA_forward_Transform(... // Perform forward kinematics<br />
void calculate_delta(... // Inverse kinematics]]></description>
            <dc:creator>invent2main</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 09 Apr 2018 09:11:22 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,817769#msg-817769</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,817769#msg-817769</link>
            <description><![CDATA[ oops wrong forum I was supposed to post in, meant to post in another guy's thing, I'd be happy to share your firmware with him if he doesn't just find it here but it would make me feel a lot better about doing so if I had your permission.]]></description>
            <dc:creator>Power3DPrinting</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Sun, 08 Apr 2018 16:55:49 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,817768#msg-817768</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,817768#msg-817768</link>
            <description><![CDATA[ [<a href="https://github.com/wangsamas/wangsamas-firmware" target="_blank"  rel="nofollow">github.com</a>]<br />
<br />
This is some Wangsama repetier style firmware, open source and I tried using it myself. I can upload and adjust some settings thanks to the tutorial videos made for it, probably the best documented SCARA firmware out there. I've had my own problems with it but how about giving this a try instead of Mk4Duo and we can work together to get our machines printing. :D]]></description>
            <dc:creator>Power3DPrinting</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Sun, 08 Apr 2018 16:54:35 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,817679#msg-817679</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,817679#msg-817679</link>
            <description><![CDATA[ Hi! do I have your permission to advertise your marlin version to others? I recently redesigned my printer to be right handed to make it more compatible with your firmware as well as others but configuring it is still a challenge, hoping someone passing by might have that golden answer. <br />
<br />
I tried following your diagram but it's hard to tell what I am doing is right or wrong. Homing is top notch but moving the Z-axis up has the arm move randomly outward and moving the arm in increments in the Y or X restricts the arm to a very short orbit around its base, at the end, I have no idea where anything is, I'll try to post a video in a little bit to show you what I mean]]></description>
            <dc:creator>Power3DPrinting</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Sat, 07 Apr 2018 20:41:42 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,816616#msg-816616</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,816616#msg-816616</link>
            <description><![CDATA[ [<a href="https://www.youtube.com/watch?v=ByyIOAcUW9o" target="_blank"  rel="nofollow">www.youtube.com</a>]<br />
<br />
First shot at trying to print with your firmware, sorry for the late response I missed the email about your message so I'll go check out your drawing immediately!<br />
<br />
Thanks a ton for your help!]]></description>
            <dc:creator>Power3DPrinting</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Fri, 30 Mar 2018 15:08:22 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,814445#msg-814445</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,814445#msg-814445</link>
            <description><![CDATA[ happy to see that it was help you;<br />
SCARA Configuration of Marlin is not easy and I don't know if you can print all around the 'tower' (base);<br />
if it can help, in attachment you can found how I had understand and configure my prototypes]]></description>
            <dc:creator>invent2main</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Thu, 15 Mar 2018 04:47:31 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,814155#msg-814155</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,814155#msg-814155</link>
            <description><![CDATA[ Great news! I've finished customizing the config.h, homing from pronterface is fantastic and then gives me control of the xyz axis from its interface so for the first time i'm moving onto calibrating things! Also, holy cow you have some cool videos, way to go!<br />
<br />
Some bad news,  I don't think I understand the config settings as well as I thought I did and it might be a major contributer to why I am struggling with so many different SCARA firmwares. I attatched a sketch of my intended range and orientation, mainly I wanted to check with you or anyone who is interested about some settings because I had to make some changes in excess of 100-700 units. One main problem I am having with the pronterface moves is although both motors turn like they want to move the hotend some where but most of the movements are constrained to rotating clockwise or counter clockwise around the perimeter of the shoulder tower. Not sure how to orientate the arm to move away from the shoulder, probably a bad config edit on my end.<br />
L1=250mm<br />
L2=250mm<br />
X_Offset=-145mm //From shoulder, assuming it is 0,0 for the XY plane<br />
Y_Offset=75mm<br />
Theta_Offset=0<br />
PSI_Offset=0<br />
Steps per degree (712.8, 453.6, 800, 100) //XYZE<br />
X_Max=500<br />
X_Min=-500<br />
Y_Max=500<br />
Y_Min=-500<br />
<br />
oh, and I noticed you had an fpos_t error for the LCD so I changed them all to filepos_t in the two sdbase files to compile the machine on Arduino 1.8.5, might get you out of the awkwardness of uploading on an older version of Arduino if you want. Thanks again for the help!!!]]></description>
            <dc:creator>Power3DPrinting</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Tue, 13 Mar 2018 01:26:03 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?185,813991,814142#msg-814142</guid>
            <title>Re: VitaminRad&#039;s Marlin and other SCARA Firmware problems</title>
            <link>https://reprap.org/forum/read.php?185,813991,814142#msg-814142</link>
            <description><![CDATA[ Thanks and a pleasure to meet you! <br />
<br />
I'll try configuring it to my machine and I'll let you know how it goes! Really big relief after all the brain blender moments I've been having.]]></description>
            <dc:creator>Power3DPrinting</dc:creator>
            <category>Polar Machines, SCARA, Robot Arms</category>
            <pubDate>Mon, 12 Mar 2018 20:00:02 -0400</pubDate>
        </item>
    </channel>
</rss>
