The E3D is a high-performance hotend that can replace the stock Solidoodle hotend offering higher reliability thanks to a one-piece, actively cooled, all-metal assembly. Not only does this avoid many of the clogging, inconsistent extrusion, and other problems the Solidoodle hotend is prone to, it also enables running the hot end at temperatures as high as 300°C or higher, which can be used to print in materials like polycarbonate.
These instructions do not address any of the other modifications you may need to make for these more advanced applications such as printing in different materials. They are intended for a consumer who is comfortable with basic tools and with their Solidoodle 2 or 3, and fairly patient, but who doesn't know much of the specialized lingo or techniques of tinkering. Read through them all the way and see if every step makes sense; if so, you can do the E3D upgrade. (And if not, you may wish to ask, as the author of this page, HunterGreen, would be glad to improve their clarity.)
 Upgrade the Power Supply
You may already have upgraded the power supply on your Solidoodle. If not, you want to do that before this upgrade, since apparently the E3D draws more power than the stock hotend, and as the stock power supply is barely adequate to the original configuration.
 Gathering Parts And Supplies
Other items you will or may need:
- A UPS to power both the printer and your computer long enough for a firmware update
- hex drivers
- wire strippers, needle-nose pliers, wire cutters
- pliers or spanners
- optional: 7mm socket, with a suitable wrench or screwdriver head
- optional: kapton tape (though the E3D comes with enough, if you don't mess any up)
- optional: red connector 22AWG (or cannibalize the one from your existing extruder; or use some other kind of connector)
- optional: blue connector 26AWG (or cannibalize the one from your existing extruder; or use some other kind of connector)
 Prints To Do Beforehand
- If you haven't already, you will need to print and install the Lawsy MK4 or MK5 extruder assembly, which are superior to the stock acrylic "jigsaw" in a number of ways, including fitting the E3D. If you already have an MK4 on, you're fine, but if you don't have either, go for the MK5. You'll have to do this while your printer is working. To install the MK4 you don't need any additional hardware, though the MK5 appears to need 2 M3x10mm long screws. See these instructions to print, assemble, and install. (Alternately, you can wait until the E3D's ready to go in to switch over to it, though that'll mean you're doing a lot of changes at once.)
- You will also need to print and install an extended Z-stop to accommodate the lower depth the head will hang down. Alternately, using a longer M3 screw, or spacers on it, can get the job done. If you go with the extended stop, you can install it now (this requires redoing your Z calibration), or save it until after the E3D install.
- If using the MK4, you will also need to print an extender support. If you can't print this beforehand because of printer problems, you can get by temporarily, long enough to print this with the E3D, just by using kapton to secure it. The MK5 doesn't need an additional support.
 Preparations Before E3D Assembly
During the assembly of the E3D in the next step, you will need to partially install and connect it up. Prepare your printer for this by:
- Removing the filament.
- Moving the print bed down a good distance to give yourself room to work.
If you wait until the old extruder is removed, these will be much harder to do.
 Decide about connectors
The red and blue connectors that Solidoodle uses to hook the extruder heater and thermistor on have some nice benefits: you can easily pop off one extruder and pop on another, since the cables running to the head stay there. However, the particular AWG connectors they chose are not very common and can be hard to crimp. When installing the E3D, you have several options to choose between:
- You can run the wires from your E3D all the way back to the circuit board. This gives up the ease of swapping back to your old extruder, or to a new model down the road, without re-running those wires. But it does simplify a few steps. To use this option, you'll pretty much follow E3D's instructions as written.
- You can affix the E3D wires to some AWG connectors so it replicates the same connection scheme as your Solidoodle extruder. This makes it easy to keep the old extruder around as a backup which can be popped into place in minutes. But you need some AWG connectors. You could buy new ones, but then you need a way to crimp them -- common crimping tools don't work so well -- but if you can get a crimp technique that works, you can crimp them right onto the E3D wires and otherwise follow the E3D directions as written. (You will probably want to cut off a lot of the extra wire from the heating block, though, as there's enough to reach through the printer and quite a ways farther besides.) The red connector is a 22AWG and is used for the heater; the blue connector is a 26AWG and is used for the thermistor.
- You could cannibalize AWG connectors from an old Solidoodle extruder. This isn't a good idea if that extruder is in working condition; it makes it impossible to use it as a backup. But if you have an old failed extruder, cut the wires off from it and use them. The blue (thermistor) connector can just be wired to the thermistor in place of the wire E3D provides (either glass fibre or green); the red (heater) connector will require an extra wire connection (solder, crimp, or what-have-you), or to be crimped as above.
- You could cut off the AWG connectors entirely and replace them with any other connector style you like. If so, it's a good idea to use the male/female connection in opposite directions for the two connections, to prevent yourself later accidentally connecting the heating wire to the thermistor. JST plugs are very popular (these are often used in remote control cars and on computer motherboards).
- You can even try to save a few steps by using an old working Solidoodle thermistor in place of the E3D one, skipping steps 3 to 7 of the E3D installation instructions entirely. Again, taking one from a working extruder is not a good idea as it makes that extruder impossible to use as a backup. The Solidoodle thermistor is not so reliable at high temperatures as the E3D one, though it can be slightly more accurate at lower temperatures. Generally, the only advantage to this approach is that it saves you a few steps, but they're not the harder steps anyway, so this is not generally encouraged.
 E3D Assembly
These instructions are derived from E3D's published assembly directions and the derivation is done with permission from SanjayM. I've simply edited in a few amendments and clarifications for how they apply to the Solidoodle.
 Assemble the heater block
|2. The nozzle is the brass-colored piece that tapers to a point. Screw it into the bottom of the heater block, until it butts up against the heat-break, just finger-tight. The hexagonal flat part should not touch the block; there should be a tiny gap. Adjust the heat break if necessary, so that the constriction is flush with the top, and the hexagonal has a small gap between it and the bottom, as shown. Be careful not to overtighten; this could shear off the heat-break or the nozzle. Finger-tight is plenty tight enough here.|
 Wire and install the thermistor
Depending on what connectors you chose earlier, you may be skipping some of these steps. If you're hooking the E3D thermistor to a Solidoodle (or any other) connector that already has wires, skip step 3. If you're just using a Solidoodle thermistor, skip steps 3 to 7.
|3. Strip the wire that was included with the E3D. You may have a white-insulated glass fibre wire, or a green wire (both are shown in the picture but you will have only one). In either case, there will be an outer insulation (strip about 15-20mm off of it at either end), inside which are two core wires (strip about 10mm off each of these -- be sure to grip the inner wire when doing so, so you don't pull the wire within the outer insulation until the other end disappears inside it).|
|4. Remove the thermistor from its protective package, then spread the legs just enough that they aren't touching. Be gentle, the thermistor is fragile. Find the bootlace ferrules; they look like little metal tubes with a trumpet-like funnel at one end. Slide them onto the two legs, with the funnelled mouth away from the thermistor's glass bead, and just leave them lying loose on the wires.|
|5. Form the ends of the legs of the thermistor into small hooks; do the same for the stripped ends of the wire (either the one from step 3, or the one you're using from a Solidoodle or other connector). Loop the hooks over each other and tighten them a bit, then slide the ferrules over the join.|
|6. Using pliers, or a proper crimping tool if you have one, crush the ferrule tube tightly around the wire hooks to form a strong joint that is also heat-proof.|
| 7. Kapton tape is a transparent yellow tape that is highly heat-resistant. Note, however, that its glue is not very resilient, so be careful when applying it -- touching the sticky side much at all will ruin the stickiness, and you get only one chance to make it stick.
First, wrap a small amount of kapton tape around the crimped ferrules, to ensure they don't short against one another.
Insulate the thermistor legs with more kapton tape. Ensure you insulate right up to the base of the glass bead by sliding a strip up between the legs, then sticking the leg to it, then matching it on the other side of the leg with another piece of the same size. Do this on both legs to fully insulate them, so there is no bare wire.
Make sure you don't use up all the kapton tape, as you will need more later.
Trim the kapton near the thermistor to a point, as in the image.
Optionally, for better heat conduction, you might want to consider using fire cement to fix the thermistor in place. Another alternative is a little patch or two of aluminum foil placed over the hole before pushing the thermistor in place; this can secure things nicely and provide good heat conduction, but be careful the foil doesn't touch the legs of the thermistor, causing an electrical short.
 Install the heater
|9. Find the small black M3 "grub screw", a small screw with no head. There's also a hex key which should fit the hole in one end of it. Use the hex key to insert it just a couple of turns in the small hole in the bottom of the heating block (the only one it fits). Then find the heating cartridge; it's a metal cylinder on the end of a long red pair of wires. Slide it into the smooth hole going through the heater block; it should be centered with a small amount poking out each end. Now use the hex key to tighten the grub screw just enough for it to hold the heating cartridge in place -- no tighter, you don't want to crush the heater, just hold it securely.|
 Assemble the extruder and fan mount
|10. The heat-sink is the large metal piece with many wide flanges. Contrary to the picture here, it might already be inserted inside a red or blue plastic fan-mount. Either way, screw it onto the long end of the heat-break, firmly finger-tight -- don't over-tighten it with a spanner, you could easily break the heat break at the constriction.|
|11. Your heat-sink may have come already inserted into the plastic fan-mount. If not, as in the picture, slide the heat-sink up into the printed fan-mount; the smooth portion goes nearest to the nozzle, and the ridged portion goes closest to the top. It's a tight fit, so be careful not to break the printed part; you may need to slightly bend the sides out while pushing the sink up into the fan-mount.|
 Test the fit
At this point, make sure the assembled E3D fits physically, before you start doing any wiring. If it doesn't sit as far back as your old extruder, that may be okay, as alignment isn't as critical as with the old PEEK barrel. Then remove it from the MK4/MK5 and hook up the wires, leaving it hanging free so you can complete the tightening in step 14. (You may want to set a box or something on your print bed for it to rest on, to avoid putting strain on the wires.)
 Hook up the wiring for testing
13. Connect the wires for the thermistor and heating block to the Solidoodle. If you installed the thermistor wires to a connector, you can just snap it in (blue goes to white). You may also have to connect the red wires from the heating block to a connector at this point (temporarily or permanently as you see fit), or wire it up directly if you prefer.
You will also need to connect the fan wires to a 12V power supply. You can splice into the power supply for the fan on the back of the extruder, or run wires back to outside the case to tie into the 12V power screw terminals there (but don't tie them to the heater power supply -- the fan needs to be on all the time the printer is on). Note that there is a polarity to the wires from the fan, but depending on the model of fan you got, there may be no indication of which wire is which, so connect them temporarily, and if the fan doesn't come on, reverse them; only finalize the connection once you're sure it works.
Note that this wiring is all temporary, so don't feel a need to make anything fit snugly or be tidy yet. There's still some more installation to do, but first you have to do firmware updates.
 Firmware Updates
You will need to update the Solidoodle's firmware to adjust a few key things about the configuration, notably the type of thermistor being used, and the maximum allowable temperature. You need to do this before you complete the last steps of assembly, since they involve running the temperature to much higher than the firmware currently allows.
Before you begin this part, make sure both your PC and Solidoodle are plugged into an uninterruptible power supply (UPS). A power outage while flashing firmware can brick (render irrecoverably brain-dead) your Solidoodle's circuits.
 Identify processor
Figure out what kind of processor is on your Solidoodle. You may have to look at the integrated circuit on the circuit board on the back of your Solidoodle and look for text printed directly on the tall vertical chip that reads something starting "ATmega". Note, Solidoodle sometimes slaps their own label on top of this, making it hard or impossible to read, so you may have to remove the cover and peel back the label. Solidoodles shipped before June 2013 typically have an ATMega 644P in a Sanguinololu board; some may have an ATMega 1284P. Those shipped after June 2013 have a Solidoodle-manufactured proprietary Printrboard and use an ATMega 1286-AU.
 Printrboard firmware update process
If you have one of the more recent Solidoodles with the Printrboard, follow the instructions  for updating the firmware. Ignore the rest of this section except for the table of changes to the Configuration.h file below.
 Install Arduino USB drivers
The rest of this section applies only to the original Sanguinololu board's firmware.
Make sure you have FT232R USB UART USB driver properly installed, particularly the Arduino drivers. You probably installed this during initial installation of Solidoodle software, but if not, make sure you have now. You'll need to know what COM port you're using, which you can find from your Repetier-Host printer settings, or in your Device Manager or other operating system informational software.
 Install Arduino Tools
Download the version 0022 of the Arduino compiler and utilities. Note that later versions will not work with the Solidoodle, and if you have a later version installed, or allow Arduino to update itself, you'll have to uninstall and then install this older version. Select the right version depending on your computer OS:
- Windows: http://arduino.googlecode.com/files/arduino-0022.zip
- MAC OS X: http://arduino.googlecode.com/files/arduino-0022.dmg
- Linux 32-bit: http://arduino.googlecode.com/files/arduino-0022.tgz
- Linux 64-bit: http://arduino.googlecode.com/files/arduino-0022-64-2.tgz
Unarchive this into any convenient location on your computer.
 Install Sanguinololu repository
Download and unarchive this repository:
The download link is a button on the lower right with a cloud icon and the word "zip" on it.
Unarchive this to any convenient location as well. Then copy the Sanguinololu folder inside it, into the hardware directory wherever you installed the Arduino Tools in the previous step. (For instance, arduino-0022\hardware on Windows, or ~/Documents/Arduino/hardware on a Mac.)
 Download firmware source code
Download and unarchive this code:
Again, the download link is a button on the lower right with a cloud icon and the word "zip" on it.
 Set up Arduino software
- Run the arduino.exe program you unarchived earlier. It will open up a window.
- This is a good time to go into File > Preferences and turn off the option to check for updates on startup, since later versions to Arduino.exe won't work with your Solidoodle.
- On the menus, choose Tools > Board and select the type of processor you identified earlier.
- On the menus, choose Tools > Serial Port and select the COM port you identified earlier. If it's not listed, it's possible you don't have the Arduino drivers installed. (Or if they are installed, Windows may just need a reboot. If Repetier-Host can connect to your printer, Arduino should be able to as well.)
 Test firmware compilation
- Go to File > Open, then browse to wherever you unarchived the firmware source code earlier and find the file Marlin.pde, and select it.
- Go to Sketch > Verify to test compilation. This will take a few moments and either show a success or an error message in the black window at the bottom.
In some installations you may get this error:
/usr/lib/gcc/avr/4.6.3/../../../../avr/include/math.h:426:15: error: expected identifier or '(' before 'double'
In this case you need to modify the file hardware/Sanguino/cores/arduino/wiring.h (using your favorite text editor) and delete (or comment out) the line:
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
Then repeat the compilation test.
 Edit the Configuration.h file
Use your favorite text editor to edit the Configuration.h file which is located in the solidoodle2-marlin-Marlin_v1/Marlin folder wherever you unarchived the source files earlier.
You'll have to make the following changes (note line numbers may not be exact if changes have already been made):
|Line||Change From||Change To||Notes|
|line 15||#define SOLIDOODLE_VERSION 2||#define SOLIDOODLE_VERSION 3||only if you have an SD3|
|line 91||#define TEMP_SENSOR_0 1||#define TEMP_SENSOR_0 5||since the E3D uses a different thermistor|
|line 112||#define HEATER_0_MAXTEMP 225||#define HEATER_0_MAXTEMP 310||since you can get to higher temperatures|
Those who plan to crank the E3D to even higher than 310°C can set a higher temperature here, but 310 is more than high enough for the installation and all printing in ABS and PLA.
 Compile your changes
- Go to Sketch > Verify to test compilation. This will take a few moments and either show a success or an error message in the black window at the bottom.
- If there's an error, you may have made a mistake in changing one of those lines. Double-check your work.
 Upload the changed firmware
This process is very finicky and may take multiple attempts. Different people have had success with different techniques. Start at the top and work your way down until one of them works. Be careful during these steps; this is a bad time to improvise if you're not sure what you're doing, because a mistake can brick your printer.
- Click the Upload icon (directly below the Help menu -- see the picture). It will take 1-2 minutes; don't interrupt it. It's possible your printer will turn the filament wheel while this is happening. If it works, you're done; if not continue.
- If you get a Java.lang.NullPointerException error, it may help to recompile and try again. If it works, you're done; if not continue.
- Click the Upload icon and wait for "Binary sketch size" to display, then press the reset button on the Sanguinololu board. This may make a successful upload, or give an error message. If it works, you're done; if not continue.
- Press and hold the reset button (try different lengths of time anywhere up to 10 seconds), then click the Upload button (directly below the Help menu) while holding the reset button.
 Final Assembly And Mounting
| 14. Restart Repetier-Host and reconnect to the printer as usual, even though the E3D assembly is still hanging loose (but still wired up). You should now be able to set the extruder temperature to 300 and start it heating up. Do this, then wait for it to reach this temperature. Why so high? This is a necessary step in getting everything to a tight fit -- the expansion and contraction is part of the process.
Once the temperature is to 300, do a final tightening of the nozzle against the heater block. Hold the heater block with pliers or a spanner -- carefully, as it's very, very hot -- and then use either a 7mm socket, or another pair of pliers or spanner, to tighten the nozzle against it. You will only need a small amount of force here; too much could easily break the nozzle. Just a little bit of tightening is enough; the contraction will do most of the work, preventing plastic leaking inside the extruder.
| 15. Turn the extruder heater off in Repetier-Host, then wait for it to cool off all the way. (All the way. Go get something to drink. You don't want to burn your fingers.) Then, slide the E3D into the MK4 or MK5 and affix the support bracket in front of it (for an MK4, the one you printed earlier). The E3D should simply slide into place the same way the Solidoodle extruder does. If it doesn't go as far back, don't worry too much -- the filament will still likely line up and get into place.
Replace any temporary wire connections with permanent ones (this is when you may wish to cut off excess red wire from the heating core, though I didn't, and instead coiled it up and tightly bound it with cable tie wraps, so I could change my mind about how to wire it later). Secure all the wires tidily, ensuring there is some strain relief on them, particularly the thermistor wires. The fan and mount should ideally be oriented so the mount is opposite to the heater block to reduce radiated heat, but this is not strictly essential.
16. You will need to install the extended Z-stop bracket printed earlier, then redo your Z-axis calibration; it will have shifted significantly, since the E3D hangs down about 16mm lower than the Solidoodle extruder did (this is why you needed that lowered Z-stop bracket earlier). Do this before attempting to print, or the extruder head is going to mash against your bed pretty hard. Start with the set screw pretty low (lots of clockwise turns), then gradually back it out to move the print bed's home location up (counterclockwise turns) little by little, to avoid mashing the extruder into the bed.
 Configuration Changes
Alter all your Slic3r and Repetier-Host configurations to change the extruder temperatures at which you print, increasing them by about 30C (so you're printing at 230-250 for ABS). This is because the stock Solidoodle thermistor readings were off by about that much, so when the Solidoodle said it was at 200C, the inner core was really at around 230C, and the E3D will be reporting 230C in this case. The temperature is changed in four places:
- RH's Printer Settings sets a default temperature.
- Slic3r's Filament Settings files (be sure to change all of them) on the Filament screen set an extruder temperature for first and other layers.
- Slic3r's Printer Settings, Custom G-code promptly overrides the setting you just did in Filament settings, so change the temperature there in the lines starting M104 and M109. Again, be sure to do this for all your printer settings files.
 Nozzle Size
You will also need to change Slic3r configuration to reflect the nozzle size changing from 0.35mm to 0.4mm. This is changed in the Printer Settings tab on the Extruder 1 screen; be sure to change it in all your printer settings files.
Once you've confirmed it works, you may want to do, or re-do, various calibrations:
I'd like to thank everyone who blazed the trail that I am merely trying to map here. The above is really their work more than mine, and they've been very patient with me. Notable (nick)names here are adrian, IanJohnson, 2n2r5, nlancaster, SanjayM, wardjr, and Heartlander.