1

Topic: SD4 Firmware with Solidoodle board

Guys,
Sorry if this has been posted /asked before but I am trying to get some concrete answers on this one.  We recently purchased a brand new Solidoodle 4.  This unit has Solidoodle's "custom board".  So far I have been able to dial in all but the Y axis.  I have adjusted belts and verified everything moves correctly but I cant get rid of the over 1mm of backlash in that Y axis.  I am planning on upgrading the pulleys and belts to the 2GT in the near future.

I would however like to upgrade the firmware and add backlash compensation.  Could someone please verify which firmware to use as well as which reflash procedure / program to use.  Also, is there a way to pull the factory firmware or is that available if the firmware reflash goes wrong?

Thanks,
Chris

2

Re: SD4 Firmware with Solidoodle board

This is the most recent firmware: https://github.com/ozadr1an/Solidoodle- … in_v1_beta

The instructions to update the firmware are here:

http://wiki.solidoodle.com/update-firmware

Good luck!

3

Re: SD4 Firmware with Solidoodle board

Rincewind, Thank you so much!

4

Re: SD4 Firmware with Solidoodle board

Rincewind,

I was looking over the links last night and it seems that Solidoodle has removed the factory firmware from their website.  Do you know where else this might be available?

Also,  After downloading the ZIP file from GIT HUB and extracting its contents which file would I load into the Arduino editor or am I missing something there?

5

Re: SD4 Firmware with Solidoodle board

When you say factory firmware I assume you mean what it shipped with.  Since it is all open source the version you've uploaded from Github is the same thing with updates that were made over time.  There is really no need to go back to an older version.
What you want to do is open up arduino and from there click "file" then "open" navigate to the Marlin folder you extracted and find the Marlin.ino file and open it.  That should bring you right to where you want to be.

Here is a set of instructions that have proven to work for many users That I copied and pasted from user "enrage" for flashing the Printerboard Rev-E

A: Download the Arduino IDE (www.arduino.cc)
B: Download Teensyduino (http://pjrc.com/teensy/td_download.html)
C: Download the firmware  (https://github.com/ozadr1an/Solidoodle- … in_v1_beta)
D: Download the upload BootloaderHID (http://blog.lincomatic.com/wp-content/u … derHID.zip)

1.    Install Arduiono IDE
2.    By default it installed in C:/program files/Arduino (or program files C:/program files(x86)/Arduino)
3.    Install Teenyduino
4.    It will ask you where the arduino install is, point it to the above folder
5.    Unzip the firmware file to a folder you will remember
6.    Open the Arduino.exe (shortcut put on your desktop after the Arduino IDE installed
7.    Click Tools, Board (might say Board:Arduino Uno) and select the Teensy ++2.0
8.    Click Tools, Serial Port, and change it to the port of your printer
(If you are unsure, and using windows, click the start button, right click computer, click properties, click device manager, and click on ports. Your printer will be the one listed as “USB serial port (Com X) write down whatever the x is, and put it in step 8)
9.    Click File – Open
10.    Browse to the folder you extracted in step 5, select the file (in the marlin folder) named Configureation.H , double click it or select it and click open
11.    You will notice that there are several tabs across the top: Marlin, Configuration.H, ConfigurationStore.cpp etc, select the Configuration.H tab
12.    Scroll down until you see (in black as the grey is comments and effects nothing)
#define SOLIDOODLE_VERSION 2 (line 22 on mine) Change to #define SOLIDOODLE_VERSION 3                 
13.    #define MOTHERBOARD  62 (line #76 on mine…you can tell the line by clicking the code, and looking at the bottom left, a number will be there, this is the line of code)
Change it to read #define MOTHERBOARD 81
14.    find #define TEMP_SENSOR_0 1 (line 120 ) and change to #define TEMP_SENSOR_0 6
15.    find #define HEATER_0_MAXTEMP 225 (line145)  change to #define HEATER_0_MAXTEMP 350
16.    350C is the max the thermister can is good for, the hotend can go higher, but you’ll need a thermocouple instead of the thermister
17.    In the top arduino menu, click Sketch, then Verify/compile
18.    If you installed Teensyduino, it will pop up a window, just close it
19.    If your sketch does not report errors and simply gives you the Binary sketch size and memory use, it is safe to upload. If it reports errors, you have made a syntax error, and should recheck those lines you changed.
20.    Before doing the final compile, click file – save (if you do not, it will not upload the changes)
21.    Hold down SHIFT and click Compile
22.    There has been a .hex file created. Marlin.cpp.hex, in my case (windows 7) it is under C:/users/whateverYourProfileNameIs/AppData/Local/Temp….it will be in the folder
named build-xxxxxxxxx.tmp (the x’s are a string of numbers) created today. You must have view hidden or system files enabled in folder options (control panel. Have view folders by icon instead of category enabled, folder options,view, check Show hidden files and folders)
23.    Unzip the BootloaderHID.Zip (step D) to a folder
24.    Copy the Marlin.cpp.hex file, and past it in the folder above (the bootloaderHID folder
25.    Make sure your computer is connected to the printer via usb cable
26.    Add a jumper to the BOOT pins on the printboard (back of the printer) or bend the 2 pins so they are touching , then press the RESET button
27.    Open a new command window (click the windows start button, and in the search programs field (windows vista or newer) type CMD.
28.    Within the CMD window, navigate to the folder you unzipped the BootleaderHID to in step 23
29.     Type “hid_bootloader_cli -mmcu=at90usb1286 -w -v Marlin.cpp.hex” (no quotations)
30.    It should say something like “read Marlin.cpp.hex xx bytes, xx% usage, found halfkay bootloader, programming…………………..Booting
31.    Remove the jumper, or unbend the boot pins on the printboard (back of the printer)
32.    Press reset
33.    Verify that you have updated them, start up Repetier Host.
34.    Click Connect
35.    Look at the bottom of the screen, you will see a greeting msg when you connect it should now read
02:09:14.238 : echo:Unknown command: ""
02:09:14.405 : FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:http://github.com/mlaws/solidoodle2-marlin/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Solidoodle EXTRUDER_COUNT:1
02:09:14.405 : echo:Active Extruder: 0
If you see the address changed to github.com instead of solidoodle, you know you're golden

Printit Industries Model 8.10 fully enclosed CoreXY, Chamber heat
3-SD3's & a Workbench all fully enclosed, RH-Slic3r Win7pro, E3D V6, Volcano & Cyclops Hot End
SSR/500W AC Heated Glass Bed, Linear bearings on SS rods. Direct Drive Y-axis, BulldogXL
Thanks to all for your contributions

6

Re: SD4 Firmware with Solidoodle board

Ward.  Thank you so much for the info!  I will be giving this a shot tonight!

7

Re: SD4 Firmware with Solidoodle board

dceworks wrote:

Ward.  Thank you so much for the info!  I will be giving this a shot tonight!

Good Luck.
My advice is read through a couple of times and then feel free to ask questions.

Printit Industries Model 8.10 fully enclosed CoreXY, Chamber heat
3-SD3's & a Workbench all fully enclosed, RH-Slic3r Win7pro, E3D V6, Volcano & Cyclops Hot End
SSR/500W AC Heated Glass Bed, Linear bearings on SS rods. Direct Drive Y-axis, BulldogXL
Thanks to all for your contributions

8

Re: SD4 Firmware with Solidoodle board

wardjr wrote:
dceworks wrote:

Ward.  Thank you so much for the info!  I will be giving this a shot tonight!

Good Luck.
My advice is read through a couple of times and then feel free to ask questions.

I definitely will.  This isn't my first time updating firmware on something but definitely my first Arduino/3D printer.  Thanks Again!

9

Re: SD4 Firmware with Solidoodle board

Ok guys!  I have successfully updated the firmware of the SD4 to the Marlin firmware.  I am comfortable with this process now.

Now on to my further questions.  Upon looking through the actual firmware arduino file it appears that the "hysteresis_patch" is not active.  What is needed to activate that and where can the values be adjusted once activated?

second question:  I have a bone stock solidoodle hot end.  In that guide it said to change TEMP_SENSOR_0 * to 6.  In the comments above that code line "6" is called out as '100k EPCOS- Not as accurate as table 1 (created using a fluke tc) (4.7k pullup) '.....  Is this the proper temp sensor selection for my SD4?

10

Re: SD4 Firmware with Solidoodle board

Re question 1:

I used lawsy's repo, and hysteresis correction runs well on mine. Pretty sure I didn't have to switch anything on. Not sure whether adrian's is any different in this regard.

The values are adjusted by M99 gcode instruction (I stick it in my start code), and read with M98. See the forum post for instructions.

http://www.soliforum.com/topic/313/hysteresis-fix/

I'd try typing M98 into RH gcode terminal and see if you get a response...

SD3. Mk2b + glass, heated enclosure, GT2 belts, direct drive y shaft, linear bearings, bowden-feed E3D v5 w/ 0.9° stepper
Smoothieboard via Octoprint on RPi

11

Re: SD4 Firmware with Solidoodle board

grob you just beat me to it.  I just finished reading that post.  I have now tried it, updated the hysteresis settings for the Y and i am blown away.  Finally moves correctly.  I cant wait to print something round and see what happens!  THANKS AGAIN TO
ALL WHO HELPED WITH THIS!

12

Re: SD4 Firmware with Solidoodle board

Good work! Glad you're doing well.
I found the hysteresis fix revolutionized the accuracy of my z-axis, and really improved first layer consistency. Get a dial gauge out and smash that 0.01mm barrier. smile

SD3. Mk2b + glass, heated enclosure, GT2 belts, direct drive y shaft, linear bearings, bowden-feed E3D v5 w/ 0.9° stepper
Smoothieboard via Octoprint on RPi

13

Re: SD4 Firmware with Solidoodle board

A follow-up question from a Noob:  after updating the firmware, will the latest Repetier Host recognize the printer?

SD 4 (w/ updated firmware).  RH 1.0.3/CuraEngine.  Windows 7.  Enclosure with heated glass bed.

14

Re: SD4 Firmware with Solidoodle board

wpmarsh wrote:

A follow-up question from a Noob:  after updating the firmware, will the latest Repetier Host recognize the printer?

Should work fine - make sure you've selected the right com port in RH (printer settings), and when you click 'connect' the log window should show the printer responding with it's firmware version etc.

SD3. Mk2b + glass, heated enclosure, GT2 belts, direct drive y shaft, linear bearings, bowden-feed E3D v5 w/ 0.9° stepper
Smoothieboard via Octoprint on RPi

15

Re: SD4 Firmware with Solidoodle board

Thanks grob.  Got the latest RH last nite, liked the layout and options, but it would not recognize my bone-stock SD4...

SD 4 (w/ updated firmware).  RH 1.0.3/CuraEngine.  Windows 7.  Enclosure with heated glass bed.

16

Re: SD4 Firmware with Solidoodle board

Aaaaah.... I had this problem - make sure all your printer communication settings are as per the following wiki page: http://wiki.solidoodle.com/repetier-hos … on-windows
This is for an older version of RH, here are my settings (particularly make sure reset on connect is disabled):

Port: whatever your printer comes up as... Should appear if it's plugged into the computer. Try a few options if unsure! Mine is "COM10"

Baud Rate: 250000

Transfer Protocol: Autodetect

Reset on Connect: Disabled

Reset on Emergency: Send emergency command and reconnect

Receive Cache Size: 63

SD3. Mk2b + glass, heated enclosure, GT2 belts, direct drive y shaft, linear bearings, bowden-feed E3D v5 w/ 0.9° stepper
Smoothieboard via Octoprint on RPi

17

Re: SD4 Firmware with Solidoodle board

Seems that once I manually input the parameters of the printer (per your suggestion), RH 1.0.3 recognized it by type and name.  Got manual control, and have started making test/calibration prints.  Thanks for your help!

SD 4 (w/ updated firmware).  RH 1.0.3/CuraEngine.  Windows 7.  Enclosure with heated glass bed.

18

Re: SD4 Firmware with Solidoodle board

Excellent news! Any time. Happy printing! smile

SD3. Mk2b + glass, heated enclosure, GT2 belts, direct drive y shaft, linear bearings, bowden-feed E3D v5 w/ 0.9° stepper
Smoothieboard via Octoprint on RPi

19

Re: SD4 Firmware with Solidoodle board

Hello, using a mac, solidoodle 4 with their board. went through almost all the steps but am stuck on step 29. I get bash: hid_bootloader_cli: command not found

Any help would be greatly appreciated.

20

Re: SD4 Firmware with Solidoodle board

ecalistro87 wrote:

Hello, using a mac, solidoodle 4 with their board. went through almost all the steps but am stuck on step 29. I get bash: hid_bootloader_cli: command not found

BootloaderHID is build for windows, not osx, so it will not run http://blog.lincomatic.com/?p=548

Unfortunately I don't know the solution though - maybe someone here knows a different tool for osx you can use (printrbot firmware updater maybe?).

(WARDJR! YOU'RE UP! tongue)

SD3. Mk2b + glass, heated enclosure, GT2 belts, direct drive y shaft, linear bearings, bowden-feed E3D v5 w/ 0.9° stepper
Smoothieboard via Octoprint on RPi

21

Re: SD4 Firmware with Solidoodle board

Thanks grob wink
I have not tried but have heard that you can use virtual windows to flash.  My first choice would be borrow a windows machine for flashing.  Flashing is something that you do rarely enough that it wouldn't be a huge inconvenience.

Printit Industries Model 8.10 fully enclosed CoreXY, Chamber heat
3-SD3's & a Workbench all fully enclosed, RH-Slic3r Win7pro, E3D V6, Volcano & Cyclops Hot End
SSR/500W AC Heated Glass Bed, Linear bearings on SS rods. Direct Drive Y-axis, BulldogXL
Thanks to all for your contributions

22

Re: SD4 Firmware with Solidoodle board

thanks, I have a surface pro and completed on that or so I thought. I did all the steps but now when i started the printer and plugged the usb into the surface pro says no printer found. Did I somehow brick my board?

23

Re: SD4 Firmware with Solidoodle board

I doubt it, double check that you have the correct board chosen in Arduino and the correct com port selected.  In your configuration.h ensure you've selected the correct board number.  If it isn't showing up in device manager try re installing the driver. 
If it is showing up double check that you have the correct com port selected in RH.

Printit Industries Model 8.10 fully enclosed CoreXY, Chamber heat
3-SD3's & a Workbench all fully enclosed, RH-Slic3r Win7pro, E3D V6, Volcano & Cyclops Hot End
SSR/500W AC Heated Glass Bed, Linear bearings on SS rods. Direct Drive Y-axis, BulldogXL
Thanks to all for your contributions

24

Re: SD4 Firmware with Solidoodle board

Thanks!

It worked well!

For me i had a Marlin.ino.hex, not the Marlin.cpp.hex

Tthe whole link bootloader is http://blog.lincomatic.com/wp-content/u … derHID.zip