How to Update Firmware
Update (July 26th 2012): All Solidoodles are shipped with the latest firmware. New users should not have to engage in a firmware update. Also, Solidoodle has upgraded to a new motherboard, rendering these following instructions obsolete. Instructions for the new motherboard shall follow soon. Users seeking to calibrate their Solidoodles via the firmware should be able to use the EEPROM settings in Repetier Host for the time being.
What is firmware?
The firmware is the program that resides on the Solidoodle motherboard. The firmware is responsible for receiving commands from the host computer and controlling the operation of the printer (e.g. running motors, maintaining temperature), which can affect the quality of your prints. We periodically push out firmware updates as a part of our commitment to continuously improve the printing experience. Please note that this tutorial assumes that you’ve already installed the drivers. If you have not, please see our guide on How to Install Software.
Why the update?
We’ve switched over to using Marlin firmware, which is a derivative of Sprinter and Grbl firmwares, written by Camiel Gubbels and Erik Zalm. Marlin has a few nice improvements over Sprinter, which we were using previously. Most notably, Marlin includes a feature called “look-ahead” which buffers the next few G-code commands to prevent a slight pause at the end of each move. You’ll notice that coarse polygons will print smoother without the little bumps you might have seen with Sprinter firmware. Marlin also incorporates a reliable PID temperature control loop which maintains the extruder temperature within a couple of degrees of the target. These extra features are a bit more processor intensive, but the Solidoodles‘ mighty Atmega 644 processor is up to the task.
Step 1: Download the Arduino Environment
Before you can upload the firmware you’ll have to download the Arduino Environment. Arduino is an open source environment that makes it easy to create code for inexpensive 8-bit microcontrollers, such as one that powers the Solidoodle.
- Visit the Arduino Software Page and download Arduino version 0022 for your specific operating system (Mac, Windows & Linux supported).
- Unzip the download file and copy it to your home directory, such as
C:\Documents and Settings\Sam\arduino-0022 on Windows.
- Navigate to the Arduino folder and locate the Arduino executable. For example, on Windows this might be C:\Documents and Settings\Sam\arduino-0022\arduino.exe
- Right click on the Arduino executable and select “Create Shortcut”.
- Drag this shortcut to your desktop.
- Download the latest version of the Marlin Firmware (Lawsy) version 6dc60f1. Solidoodle 3 users will need this this version. If you want to help out with Lawsy’s build please visit his Github: https://github.com/mlaws/solidoodle2-marlin (for reference here is the previous obsolete version that we used to use: The Solidoodle July 31st Marlin Build)
- Unzip the download file and copy it to your home directory,
e.g. C:\Documents and Settings\Sam\Marlin-3814bbb
- Locate the Sanguino directory with the firmware folder,
e.g. C:\Documents and Settings\Sam\Marlin-3814bbb\Marlin\Sanguino
- Copy the Sanguino folder to the Arduino hardware folder,
e.g. C:\Documents and Settings\Sam\arduino-0022\hardware
- If you haven’t already done so, remove your printer’s cover by removing the small screws that hold it to the case.
- Unplug your printer from the power outlet and USB port.
- Plug your printer back into the USB port, but not the power outlet.
- Open the Arduino environment by double-clicking the shortcut you created earlier.
- From the File menu select Open…
- Navigate to the Marlin directory, select the Marlin.pde file and click “OK”.
On a windows machine, this might be located in the folder,
C:\Documents and Settings\Sam\Marlin-3814bbb\Marlin
- From the Tools menu, move your mouse over Board and select Sanguino.If you don’t see Sanguino listed, make sure you have the Sanguino folder copied to the correct location as described previously.
- From the Tools menu, move your mouse over Serial Port and select the serial port of your printer. On a windows machine this might be COM1.
On a Mac or Linux machine this might be /dev/ttyUSB1.If your printer doesn’t show up in the list of serial ports, try unplugging and replugging the printers’ USB cable. If that doesn’t work, try closing and opening Arduino.
If still experiencing difficulty, please contact us.
- Here’s the tricky part. Position your mouse over the Upload button.
- Now, click the Reset button on your machine and then a split second later press the “Upload”button in the Arduino window.
- After a few moments, you will see a Done Uploading message at the very bottom of the Arduino window.If it doesn’t work the first time and you see an error message, don’t worry. Arduino is sometimes finicky. Some users have had more success with this method: try first pressing Upload, wait for “Binary Sketch Size…” to appear in Arduino, and then immediately press the “Reset” button. If it still doesn’t work after a few times unplug & replug the USB cable, select the serial port, and try again. If you can not get it to work after a few attempts, please contact us for support.
- Open Pronterface and change the Baud Rate to 250000.
- Congratulations! Your firmware is now up to date.