1 (edited by Rincewind 2013-03-07 09:26:38)

Topic: Solidoodle3 firmware unveiled

Solidoodle has the official firmware for the SD3 available for download (http://www.solidoodle.com/how-to-2/how- … -firmware/). I had a look at it to see what makes it different from the very nicely updated SD2 firmware (from Lawsy) that most of us are using.

Edit: this was based on some wrong firmware file that Solidoodle had on their website. They changed it now, so this analysis no longer applies. Scroll down for the analysis of the correct firmware.

This is what I found:

1) the firmware is based on a (relatively) ancient Marlin version from December 2011
2) The only changes are in configuration.h and pins.h, and most of these are in common with the "old" SD2 firmware that is also available for download on their webpage (but deprecated, as they suggest using Lawsy's firmware).
3) These are the only relevant changes that I found (with my annotations):

#define INVERT_Z_DIR true //was false
#define Z_HOME_DIR 1 // was -1

maybe these two settings null each other in the end... It seems strange to me that SD2 and SD3 have different designs in this respect

#define DEFAULT_AXIS_STEPS_PER_UNIT   {88,88,384,691} // was 88,88,2268,138 

This is the most puzzling change. The old SD2 code had the comment "Z 384 for Kysan Leas Screw Motor, 2560 for M8 Thread". So it seems to mean that the SD3 is using a Kysan Motor with a very different number of steps per revolution. And also the extruder motor seems to have 5x the steps per unit. But this is very inconsistent with the reports of people successfully using the current Marlin firmware with SD3, as such a miscalibration would have gigantic effects in the functionality of the machine.

There are also some temperature limits redefined, but nothing really impacting the functionality.

I don't have a SD3 to test any of these assumptions, so I would like some feedback from the community about their experience. Who is using the stock firmware with SD3? Who tried to upgrade? If you happen to own both a SD2 and a SD3, do you notice major differences in motors and other components (eg placement of the Z endstop...). The final goal would be to have a unified (and up-to-date) firmware for both machines, with all the newest mods and additions.

I'm working on it and I'm really one small step from completing it, but of course I need some insight on how SD3 works!

The good news is that if you are using the SD2 firmware on your SD3, and you don't notice any major problem, then you are probably fine since anything that could happen would be very well visible.

2

Re: Solidoodle3 firmware unveiled

Thats kind a bad, you would think they would use the newest SD2 firmware with the changes needed, not an older out of date version.

3

Re: Solidoodle3 firmware unveiled

I haven't had a chance to check it yet, but that can't be what's shipping with the printers.  The extruder steps/mm is what you would get using a stepper with a gearbox, and is exactly 5x 138.  The SD2 prototype you see in the Meet the Solidoodle video on the site has a gearbox stepper on it, but the production machines don't.

4

Re: Solidoodle3 firmware unveiled

They used the Marlin Beta firmware, and not the current firmware from their own Github.  Aside from the wrong E steps, it also won't Home Y and has a couple other bugs that the Marlin folks fixed ages ago.  So if you have an SD3 don't download the firmware from the Solidoodle site, it won't work.

5

Re: Solidoodle3 firmware unveiled

IanJohnson wrote:

They used the Marlin Beta firmware, and not the current firmware from their own Github.  Aside from the wrong E steps, it also won't Home Y and has a couple other bugs that the Marlin folks fixed ages ago.  So if you have an SD3 don't download the firmware from the Solidoodle site, it won't work.

Ok that was my alternate explanation for the weird settings... But somehow I was trusting Solidoodle to know what they were doing.

By the way, their official github is up-to-date with Marlin, but does not include any solidoodle-specific settings that are present in lawsy's repository.

6

Re: Solidoodle3 firmware unveiled

The whole reason I started my github was from frustration because Solidoodle were using such outdated versions. At the time, they were using a version that didn't support Panelolu. I looked through their github recently and it seems like they just copied and pasted bits into theeir Marlin, instead of forking mine or the official. This means that when I did the recent update, theirs is stupidly out of date again with no clever way of updating.

7

Re: Solidoodle3 firmware unveiled

It seems now that they are back in sync with Marlin, but at the moment their repository is just a fork of ErikZalm's, so basically useless. I don't understand why they don't fork from you. As someone suggested, your repository could be the "testing" version and theirs the "stable".

By the way, I created my fork of your repository, I know I have write access now but I don't want to abuse it. I'm sending you a pull request for a proposal of SD2/SD3 unified firmware, have a look.

8

Re: Solidoodle3 firmware unveiled

Nice and simple, merged!

Thanks very much. I'll update the readme soon.

Now can someone with a SD3 please test the firmware and report back. It should just be trivial.

9 (edited by rjp350z 2013-03-04 21:00:22)

Re: Solidoodle3 firmware unveiled

Lawsy,

I try and test when I get home tonight.

10

Re: Solidoodle3 firmware unveiled

rjp350z wrote:

Lawsy,

I try and test when I get home tonight.

Lawsy, 

Changed Solidoodle_Version to 3 and uploaded new Firmware with no problem,  In the middle of a print right now with no issues..  so far wink

11

Re: Solidoodle3 firmware unveiled

Awesome, hats off to Rincewind.

12

Re: Solidoodle3 firmware unveiled

Regarding my not printing in center problem ,ya think the firmware would fix that?

SD3, E3D hotend,linear bearing on x/y axis',pillow block bearing on y conneting rod, ball bearngs on front y axis, fan on y stepper motor.

13

Re: Solidoodle3 firmware unveiled

satman49 wrote:

Regarding my not printing in center problem ,ya think the firmware would fix that?

You don't have the same problem as Andy on the google group right? His solution was

Andy from the google group wrote:

I had set X,0 and Y,0 as home when it needed to be X, 205 and Y,200.

Have you checked if it's your case?

Have you uploaded any new firmware since you received your SD3?

14

Re: Solidoodle3 firmware unveiled

No to new firmware , I try what he did.

SD3, E3D hotend,linear bearing on x/y axis',pillow block bearing on y conneting rod, ball bearngs on front y axis, fan on y stepper motor.

15

Re: Solidoodle3 firmware unveiled

satman49 wrote:

No to new firmware , I try what he did.

Then I find it unlikely that this firmware will change your situation, but right now I have no clue on what firmware Solidoodle put on their SD3s, so it might even be possible.

16

Re: Solidoodle3 firmware unveiled

I can offer some insight to what ships on the SD3's - Judging by the Date Strings in the firmware, and the Github repository thats listed, it would seem my SD3 (Serial# 3018, Mid-Feb Ship date) had the previous 'most recent' lawsy firmware on it.

I've just pulled my 644p and replaced it with a 1284p using the latest (>24th Feb) firmware from Lawsy.
If anyone wants, I could pull a .hex dump from my 644p if needed (its now 'archived' in my IC's box...)

17

Re: Solidoodle3 firmware unveiled

adrian wrote:

I can offer some insight to what ships on the SD3's - Judging by the Date Strings in the firmware, and the Github repository thats listed, it would seem my SD3 (Serial# 3018, Mid-Feb Ship date) had the previous 'most recent' lawsy firmware on it.

I've just pulled my 644p and replaced it with a 1284p using the latest (>24th Feb) firmware from Lawsy.
If anyone wants, I could pull a .hex dump from my 644p if needed (its now 'archived' in my IC's box...)

Ok good to know, thanks! The hex dump is not necessary, I hope they will fix their link and release their firmware soon (they have to according to GPL).

18

Re: Solidoodle3 firmware unveiled

Ok after "hacking" their website (I'm joking, I haven't hacked anything, I just manually wrote the URL and navigated through the uploaded files, this just in case they are ready to sue me) I think I can give you the correct link to download the stock SD3 Marlin: http://www.solidoodle.com/wp-content/up … __SD3_.zip

I wish we didn't need to do their job... I'll post some comments on the code soon.

19

Re: Solidoodle3 firmware unveiled

Rincewind wrote:

Solidoodle has the official firmware for the SD3 available for download (http://www.solidoodle.com/how-to-2/how- … -firmware/). I had a look at it to see what makes it different from the very nicely updated SD2 firmware (from Lawsy) that most of us are using. This is what I found:

1) the firmware is based on a (relatively) ancient Marlin version from December 2011
2) The only changes are in configuration.h and pins.h, and most of these are in common with the "old" SD2 firmware that is also available for download on their webpage (but deprecated, as they suggest using Lawsy's firmware).
3) These are the only relevant changes that I found (with my annotations):

#define INVERT_Z_DIR true //was false
#define Z_HOME_DIR 1 // was -1

maybe these two settings null each other in the end... It seems strange to me that SD2 and SD3 have different designs in this respect

#define DEFAULT_AXIS_STEPS_PER_UNIT   {88,88,384,691} // was 88,88,2268,138 

This is the most puzzling change. The old SD2 code had the comment "Z 384 for Kysan Leas Screw Motor, 2560 for M8 Thread". So it seems to mean that the SD3 is using a Kysan Motor with a very different number of steps per revolution. And also the extruder motor seems to have 5x the steps per unit. But this is very inconsistent with the reports of people successfully using the current Marlin firmware with SD3, as such a miscalibration would have gigantic effects in the functionality of the machine.

There are also some temperature limits redefined, but nothing really impacting the functionality.

I don't have a SD3 to test any of these assumptions, so I would like some feedback from the community about their experience. Who is using the stock firmware with SD3? Who tried to upgrade? If you happen to own both a SD2 and a SD3, do you notice major differences in motors and other components (eg placement of the Z endstop...). The final goal would be to have a unified (and up-to-date) firmware for both machines, with all the newest mods and additions.

I'm working on it and I'm really one small step from completing it, but of course I need some insight on how SD3 works!

The good news is that if you are using the SD2 firmware on your SD3, and you don't notice any major problem, then you are probably fine since anything that could happen would be very well visible.

I hope you realize this wasn't the intended firmware. We've made mistakes in the past, but we aren't that silly.

I've made the link reflect the correct firmware.

Former Solidoodle employee, no longer associated with the company.

20

Re: Solidoodle3 firmware unveiled

solidoodlesupport wrote:

I hope you realize this wasn't the intended firmware. We've made mistakes in the past, but we aren't that silly.

I've made the link reflect the correct firmware.

Thanks. We did realize it after the initial puzzlement, so I guess you were lucky that in the meantime nobody tried to flash their SD3 with the file you provided.

21

Re: Solidoodle3 firmware unveiled

Rincewind wrote:
solidoodlesupport wrote:

I hope you realize this wasn't the intended firmware. We've made mistakes in the past, but we aren't that silly.

I've made the link reflect the correct firmware.

Thanks. We did realize it after the initial puzzlement, so I guess you were lucky that in the meantime nobody tried to flash their SD3 with the file you provided.

We are thanking our lucky stars wink

Former Solidoodle employee, no longer associated with the company.

22

Re: Solidoodle3 firmware unveiled

Ok I had a look at the new firmware for SD3. It is based on the previews firmware from Lawsy (the revision date is 2012-08-14) and the only relevant changes that I could find are the following:

#define EXTRUDE_MINTEMP 120

This is probably to enable PLA extrusion at reasonable temperatures without the firmware complaining

#define X_MAX_POS 250
#define X_MIN_POS 0
#define Y_MAX_POS 250
#define Y_MIN_POS 0
#define Z_MAX_POS 250
#define Z_MIN_POS 0

#define X_HOME_POS 205
#define Y_HOME_POS 200
#define Z_HOME_POS 0

The maximum limits are set larger than the actual build area, probably to allow "manual homing" (ie move far in X and Y to actually go to home), but I don't think it makes any difference in practice.

I think we could also change the EXTRUDE_MINTEMP in our community firmware (also for SD2), but otherwise we should be good to go.

23 (edited by adrian 2013-03-07 12:12:03)

Re: Solidoodle3 firmware unveiled

Thanks Rincewind - Just updated my Gen7/Current_Lawsy combo with the above changes so I should be back to "SD3" firmware but with the Z-Wobble code big_smile

24 (edited by adrian 2013-03-08 02:25:53)

Re: Solidoodle3 firmware unveiled

The above updates seem 'off' still - using them (250 max w/ 205 home)causes the X/Y Home position to be 50mm into the back right corner and table dimensions to be off. Reverting the Max positions back to the ones in lawsys firmware corrects this behaviour.

Note, I did have this same config running using the solidoodle 644p but it didn't exhibit the above behaviour - so therefore this posted firmware is not identical to what shipped.

25

Re: Solidoodle3 firmware unveiled

The firmware calculates the centre by halving the max distance, so the 250 will throw it off as you say. Not sure why Solidoodle went this path.