1 (edited by Anthem 2016-08-07 06:04:54)

Topic: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Last updated: Aug 7th 2016

Hey guys. I just completed a Da Vinci Jr to RAMPS 1.4 conversion, and I've had a lot of success (and learned a lot from it) and wanted to share my story. I hope this helps some of you who may be struggling with, and/or considering a conversion, and maybe it'll inspire a few tinkerers to follow a similar path.

I'm going to post this in segments because it would take too long to write it all up at once. I'll try to keep it organized though, and eventually compile it into one big how-to if I can.

Everything I'll post here is something I actually did or tested myself. I won't make any untested speculations or link to any products that I didn't actually use without making that clear.

This first part will focus on the the reasons to upgrade and what you'll need. Next I'll talk about getting your Da Vinci Jr ready for conversion, constructing the needed items, plugging it all together, and finally configuration and calibration.

Part 1: What will I need and why do it?

First off, what are some reasons to consider an upgrade?

  • You can stop messing with the stupid NFC chips. What's better than being able to reset the chips? Not needing a chip to start with

  • Your machine doesn't work right (assuming it's a software problem instead of a true hardware problem)

  • You're dissatisfied with the quality of your prints (again assuming it's really a software problem and not hardware)

  • You want more control over your printer, like the ability to inject arbitrary gcodes, change firmware, adjust your stepper power or values, etc., etc.

  • You don't care about, or have, your warranties

  • You, like me, broke your firmware and need to unbrick your machine somehow (and you agree with all of the above)

What are some good reasons not to upgrade?
There are quite a few good reasons to not bother upgrading:

  • You're happy with the performance of your Jr

  • You're not bothered buying XYZprinting's chipped filament, and either accept the fact that you're locked into it, or you are happy using a workaround to use other filaments.

  • You have a printing workflow you like and don't need (or want) any more control over your printer than you have (And no, I'm not being sarcastic. Having an easy-to-use consumer-level machine that "just works", assuming yours works, is perfect for some people.)

  • You have no knowledge of electricity or electronics, are afraid of them, or otherwise are unable or unwilling to learn about them. I doubt this applies to many of the people reading this.

  • You don't have the cash to upgrade (But think hard about whether you have the cash to keep buying XYZprinting's expensive filament? An upgrade of this type realistically shouldn't cost much more than a couple spools of filament.)

What should I expect? How long will it take?
This totally depends on your goals and the time you have to devote to it. I upgraded my machine over about a three-week period, working about 30-60 minutes a day on it. I also ran into several problems along the way (OK, I broke stuff that I had to fix). With full, proper guidance and not a small amount of care you can probably upgrade your machine with about 10-12 hours work.

My goal in my conversion was to keep it as clean as possible and avoid being destructive. That means that even though my original board no longer worked (I accidentally bricked the firmware, not fried the electronics), I wanted to avoid any cutting, desoldering or drilling of the original equipment.

If you don't care about destroying original equipment or leaving things a little disorganized, then you might be able to achieve the conversion a little faster. About half the time I spent on mine was spent "cleaning up" and finding neater ways to do things.


What do I need?
Absolutely essential equipment for a successful conversion includes the following:

* A RAMPS 1.4 board. I bought mine from Amazon (https://amzn.com/B0111ZSS2O). Mine has a RepRap Full Graphic LCD. There are other options out there, but any RAMPS 1.4 should work with my procedure. You'll just change your Marlin configuration toward the end.

* Some kind of power supply for the RAMPS board. You have a few options here: you can buy a new one just for the RAMPS, or you can hook up the stock Da Vinci Jr power supply by either cutting the connector off the end, or do what I did and solder up a compatible power connector to tie into the board. Either way it needs to supply at least 5A at 12V (60W total) to match the stock equipment.

* At least 3 each 220 ohm and 12k ohm resistors (the 12k is a little bit flexible; I only had 10k on hand and they work fine, but you don't want to lower this value too much. Better to use slightly larger values for safety if you have some lying around but don't have 12k.) You'll want another 12k (or similar-valued) resistor for the light bar if you're hooking that up.

* Some kind of wire (at least 26 awg solid wire, but 24 awg or larger stranded wire is used in a few places). Make sure it's of sufficient gauge to carry the current load, which is particularly important for the nozzle heater and the RAMPS 1.4 power supply screw terminal.

* Wire cutters and/or strippers

* A digital multimeter, or at least an ohmmeter and voltmeter

* Torx driver (not sure of the size, will update this later). All the Torx bolts are the same size; check the ones that hold down your LCD panel if you're not sure.

* Hex driver (3mm?). The two bolts that hold the filament holder to the frame are hex slots.

I happened to have most of the basic equipment (including resistors and the power jack connector) on hand already, but those items can be picked up cheap at a local electronics/hobby store.

Helpful, but not strictly necessary items you might want:
* A breadboard and flexible jumper kit. Something like these:  https://amzn.com/B01BV2A54G and https://amzn.com/B0040Z1ERO.

These are very useful for prototyping your connections to make sure things work before finalizing anything. Smaller jumpers than these can be used to break out of the stock 2.0mm JST connectors (something like these, though please note I didn't actually buy this item and can't vouch for it: https://amzn.com/B005TZJ0AM I used similar jumpers, and another breadboard, that came with a Raspberry Pi breakout kit: https://amzn.com/B01CZDKFLS). Be aware that some jumpers have pins that are slightly too large to fit well into the 2.0mm JST connectors.

These items are definitely optional, but I used them to achieve a non-destructive, "clean" conversion:
* 2.0mm JST connector kit: https://amzn.com/B00B6WBHGC These are for making connectors that can mate with the stock 2.0mm connectors (note that I couldn't locate a kit that included true "male" connector housings and pins, so I actually used the headers included in this kit that are meant for PCB mounting to jump between the two female connectors -- not the strongest connection but it does the trick with a little electrical tape around it to prevent it pulling out).

Without these you'll either have to cut and strip the stock connectors, or use jumpers to break out into a breadboard or custom PCB.

* 2.54mm Dupont connector kit: https://amzn.com/B012EOO9Q0 These are used to mate your custom-made cables to the RAMPS board. If you're using jumpers for your final conversion you can just use those instead.

* If you're using either of the above, you'll need some kind of connector crimper: https://amzn.com/B00OMM4YUY Or you could just use needle-nose pliers if you feel like doing it the hard way. This crimper I used is chunky and sometimes a little awkward to use on the 2.0mm pins, but it didn't produce a single bad connection.

* Ribbon cable for the connector wire: https://amzn.com/B007R9SQQM. There are other options here (including using individual wires), but this produces nice and neat (not to mention colorful) cables. This one spool contained more than enough for the job, even with me screwing up and having to re-make a few cables.

I believe this is 28 awg, so using it for the heater at 2.0A is pushing the spec (1.4A) a bit, but I haven't had any problems with resistive heating and my hot end is working fine. If you're concerned about the gauge you can look for a 26 awg option or double up on those conductors.

How well will it work?
Post-conversion, your printer should work at least as well as the stock Da Vinci Jr. If like me the Jr is your first printer, then there will be a small learning curve to get used to RAMPS, adjust the gcodes to your needs and get things working just right, but less than 48 hours after completing the conversion I'm achieving results comparable to what I got with stock firmware using the same slicing software (Slic3r is my choice currently). If you've been using XYZware for slicing up until now you should expect some additional learning curve to learn Slic3r or Cura or something else. XYZware naturally won't work with your printer post-conversion.

Update: A week post-upgrade, my printer's working perfectly. I'm very happy with the results!

What won't work?

  • XYZware, as mentioned above. While you could still use it for slicing and then convert your .3w files back to .gcode, I don't see any reason to do that except maybe as a transitional step while learning another slicing package.

  • The NFC reader. I know, what a shame. The only downside (if you see it as such) is that you'll have to manually set the temperature for your filament in your slicing software from now on.

  • The Jr includes some kind of 4-pin filament detector that I haven't bothered to hook up yet. RAMPS 1.4 seems to support a filament run-out sensor so it may be possible to get this working, but honestly it's an optional component that I just haven't been motivated to mess with.

  • That's all. I'll even explain how to hook up the internal light bar and control it with gcode so you can switch it on/off during your print

How will it look?
Pretty good I'd say. I have yet to print a case of any sort for my RAMPS board, so it's just sticking bare out of the side of the Jr's case with a bunch of wires, but the way I hooked it up you can have all the original parts of the case reattached and enclosed (all my cables come through the rectangular hole where the original power on/off switch was). Having the full case intact and enclosed is important to me for noise reduction purposes. I did not drill or cut any part of the case. I simply removed the stock controller board.

http://soliforum.com/i/?eDQKAS3.jpg

Part 2: Demolition

But you said...
Yes, I'm kidding. You won't be destroying anything in this part (not intentionally at least). But you will be taking some things apart, removing some items, and changing a little bit about how the Jr is built.

Unplugging
First off, unplug your machine. While it's true there's no high voltage or anything running through it, it's safer for you (and the electronics) to unplug and ground yourself before opening anything up or touching any contacts or wires.

Uncasing
You want to get as much access to the inside of your system as possible. To do this you'll want to remove the top and sides and some other things that'll get in the way:

  • Look at the back of the machine. Remove the two screws at the top, which hold the top panel in place.

  • Slide the top panel toward the back of the machine. After a few inches the ears will be clear and you can simply lift it off.

  • At the top of the frame, find the two sets of two bolts holding the top of the sides in place. They are each spanned by a plastic strap with rubber and metal washers. Remove these four bolts and the straps.

  • Flip the machine on its back (or upside down). The sides are held at the bottom with two clips each, one near the front and one near the back of the unit. Use a flathead screwdriver or other levering tool to push the two clips down and outward slightly (as soon as the ridge of the clip clears the slot, you're good).

  • Gently pry the bottom edge of the side panels away from the frame. I found that prying from the top of the panel as well helps angle the clips away from their catch so they can pop out. A little bit of gentle force may be required here. Mine tended to pop out suddenly after prying from the top, but no harm was done to the clips.

  • Optionally (I did not do this), flip the unit upright again, open the front cover, and find the screws that hold the front hinges to the frame. Unscrew these and remove the front panel. This can make it easier to move and handle the box, but again, it's optional.

Now that the case is mostly off, there are some other items you'll want to remove to access the parts you need:

  • Unscrew the two torx screws holding the front LCD panel on. Once loose, flip it forward and pull the two ribbon cables from their sockets. There are no clips, they just pull out. Set the LCD panel aside (you will no longer need it).

  • On the left side of the system, you'll see the NFC reader at the back of the filament holder. Two screws hold this in. Unscrew them, disconnect the 6-pin JST connector, and then remove the NFC reader. Its antenna card is slid inside the filament holder; remove this as well. (I have not confirmed this, but it may be possible to use a Raspberry Pi or Arduino to interface with this NFC reader for other projects. I'd like to hear about it if anyone has tried.)

  • Use your hex driver (or Allen wrench) to unscrew the two bolts that hold the filament holder to the frame. Make sure you recover the two nuts that will now be loose inside the V-slot frame. You can either set this holder aside, or reinstall it later at your option. It won't fit most spools other than XYZ branded filament anyway. I reinstalled mine post-conversion since I still have quite a lot of XYZ filament.

Decabling
Now that those are out of the way, we'll be dealing with the cables and controller board.

  • With the unit still upright, go ahead and disconnect the flex cable that plugs into the extruder (unclip the extruder unit if needed). There are two latches on either side of the cable. Pinch them and pull the cable out. We will not be reusing this flex cable.

  • Go ahead and pull the extruder flex cable out of the unit, making sure to unclip it from the right side of the X gantry. Some force may be required to get it unstuck as the adhesive used here is quite strong, so (if you care) be careful not to damage it, particularly where it's folded into the 90-degree bend. Loosen it up to the point where the flex cable dives into the floor of the unit

  • Flip the unit on its back again. There are two panels we need to remove

  • On the floor of the unit where the filament holder used to be, there's a small hatch that lets you access the internal cabling. Find the two clips on the bottom of the unit and push them in and up to remove this hatch from the inside.

  • Remove the two screws that hold the bottom panel on. Remove the bottom panel to expose the controller board.

All Aboard
OK, now that we have access to the board, let's talk a little bit about what we see here, and what we'll be doing.

Image courtesy of graepfruit4 (OK, I lifted it) via http://www.soliforum.com/post/108847/#p108847:
http://i.imgur.com/ym8bOOP.jpg

What you're looking at is the Atmel ATSAM48E8-based microcontroller board that runs the Da Vinci Jr firmware, and a bunch of connectors. The system here is virtually equivalent to what your RAMPS or equivalent microcontroller board provides, just repackaged as a single proprietary PCB with unknown pins operating the various components.

If you're so inclined, it's possible to wipe your firmware by jumping the solder pads labeled "SW2" just to the left of the microcontroller chip (jump it, power on for 30 seconds, power off, remove the jumper, power on again). The system will enter "Bootloader" mode, and at this point you can connect to it via USB to reprogram it yourself (maybe someone wants to figure out how to make Repetier work, eh?) wink

The colors of the various connectors may vary depending on the specific hardware revision and/or place of manufacture, but the positions should be the same on the board.

Starting from the top left and going right and down, the various connections are:

  • Ground wire (red wire bolted to board)

  • Big, wide flex cable: Hot end heater, thermistor, heatbreak fan

  • SD Card flex cable

  • LCD flex cable

  • Ground wire (green wire bolted to board)

  • 80mm case fan (Labeled "Reflow fan", 2 pins)

  • NFC reader (6 pins)

  • LED light bar (labeled "TopLamp", 3 pins)

  • Extruder stepper ("Motor-E1")

  • Optical endstops (2x6 pin connector, 3 pins per endstop). As shown in this photo (looking from the back of the connector), the three X axis wires are on the top left, Y is on the bottom left, and Z is on the bottom right. The other three pins are unused. For each set of three pins (again, as shown in this image from the back of the connector), left-to-right they are: 5v+, Ground, Signal. USE CAUTION as the endstops in the Jr do not have internal resistors. YOU MUST add power and pull-up resistors before connecting them to the RAMPS board (thanks for this information go to grimjack via http://www.soliforum.com/topic/13074/te … avicni-jr/)

  • Z-axis extruder stepper ("Motor-Z")

  • Y-axis extruder stepper ("Motor-Y")

  • X-axis extruder stepper ("Motor-X")

  • Filament sensor ("Pull Filament"). As noted before, I haven't attempted to hook this up or figure out the pinout for this connector.

OK, now that we've gone through that, rip'em all out! Disconnect the ground wires, the steppers, the endstops, everything. Pinch the clip on the extruder flex cable and remove that. The LCD and SD cables just pull straight out again. Fish the extruder flex cable through the unit and remove it entirely (it's really very long and will get in the way). Remove the SD and LCD flex cables if you wish, but I've left mine in for now since they're adhered to the chassis a long way under the Y carriage, and they don't really get in the way of anything.

Now remove the six screws that hold the board in and set the board aside. We won't be needing it anymore. This opens up the holes on the side of the unit where the power jack, USB cable and on/off switch used to be. We'll be using these holes later.

Rerouting
Flip the unit upright again now that you have access to the routing of the cables through the chassis.

  • Use a screwdriver or other levering tool to unclip the two wire harnesses under the hatch in the floor of the unit

  • Remove the 6-pin NFC cable entirely

  • Reroute the other cables as necessary to get as much length out through the bottom of the unit into the controller board compartment.

  • You can optionally replace the cable hatch now, or do it later when re-assembling.


Part 3: Connecting Up

Now you're going to make good use of that ribbon cable, the connector kits and crimper that I listed in the parts list above. But first, you'll want to set up your RAMPS firmware so that you have a platform to test with.

Powering-on and Flashing
Before connecting anything electrically to your Jr, I recommend setting up and flashing Marlin on your RAMPS 1.4 board. This is to ensure that you have a method of testing the operability of the various components you're hooking up one-by-one. Your RAMPS vendor probably gave you instructions to follow, as certain settings vary between different LCD boards and rotary encoder (or other input methods). Follow those instructions first, using the information here for reference. You can find the official RAMPS 1.4 discussion of the Marlin firmware here: http://reprap.org/wiki/Marlin.

In my case, I had a female power jack lying around that happened to be compatible with the stock Jr power adapter. I soldered some wire onto this and used this for my 12V+ power supply. If you purchased an external power supply, hook it up per the standard instructions. If you need to wait on the 12V power supply for some reason, you can still flash your board using power over USB.

I have customized my Marlin firmware for the Da Vinci Jr and my RepRap Full Graphic 12864 LCD with rotary encoder, and set it up to work with stock hardware. You can get my settings from my fork of the Marlin repository, here:

https://gitlab.com/anthem/Marlin

This includes my determined values for the stepper values, my fine-tuned value (88 steps) for extrusion, which may or may not be best for your hardware, and updated values for my particular rotary encoder. These settings also assume that you want AUTO_FAN handling, turning on both the heatbreak and case fans using pin D9 when the hot end is over 50 degrees Celsius.

In my case, I set up the Arduino SDK per vendor instructions on a Raspberry Pi that is connected to the RAMPS board full-time. That part is totally optional.

Making Cables
We're going to need to make quite a few cables. It can be a good idea to use jumpers and a breadboard to prototype and test the connections before committing the effort and resources into making the cables. You can run the RAMPS system using only suitable jumpers if you wish, but it will be a messier and likely more error-prone setup.

To make a cable, tear away pieces of the ribbon cable to get the number of conductors you need for each, then cut them to length (think ahead to make good use of the cable -- there should be plenty, but I'd hate for someone to make too many cuts and run out prematurely). I find that the wire cutters on standard needlenose pliers work well for stripping several wires on the ribbon cable at once, but if you have a dedicated stripper or another preferred method, of course use what you prefer.

Measure each length of cable based on how far you want the cable to extend out the bottom of the unit. Make sure to leave enough slack to maneuver your RAMPS board (and maybe mount it in a case to the side of the unit -- up to you).

Precautions
I recommend that you skip back and forth through these instructions as necessary, testing only one component at a time. Use a multi-meter to check any assumptions about voltages or resistances before committing to anything.

ALWAYS turn off power before changing any connections! It's too easy to make mistakes or slip-ups which can end up destroying components. Electricity is instant and unforgiving.

Make sure that you never attempt to turn on a stepper without the stepper actually connected, as it can destroy the stepper driver (best to remove them from the RAMPS board until you're ready to hook them up in fact).

Also do not attempt to hook up the optical endstops until you have read the section below concerning those. You need to add resistors or you will blow up the IR LED, the detector, or both.

Otherwise, follow good electrical common sense.

Hot end, thermistor and heatbreak fan
We'll start with the big one. Tear off a good length (I recommend about 3 feet) of ribbon cable with either 6 or 8 conductors (I used 6, but if you're concerned about resistive heating or are using a custom higher-wattage hot end, use 8 conductors, doubling-up the wires for the hotend).

Make this cable as follows:

  • Split the ribbon cable into three sets of two wires (or two sets of two plus one set of four if you're doubling up for the hot end)

  • Crimp one 2.0mm JST female connector to the set of wires for the thermistor

  • Crimp another 2.0mm JST female connector to the set of wires for the fan. Pay attention to polarity here (at least make note of what color you're using; I ended up using red and brown, matching red to positive). This is VERY important. If you destroy this fan, it'll be difficult to find a similar replacement.

  • Crimp a 2.54 *male* dupont connector to the wires for the hotend. Polarity doesn't matter here.

  • Now for the other end. Crimp a 2.54mm Dupont female connector on the other end of the thermistor wires. The other pairs for the fan and the hot end will be left bare (stripped).

Connect it up (see photo below):

  • Remove the extruder from the X gantry

  • Grab both sides of the extruder cover (at around fan level), pinch hard and pull to remove the cover

  • Remove the four screws holding the fan on

  • Remove the two screws holding on the fan shroud (may not be necessary, depends on how easily you're able to get to the connectors)

  • Disconnect the stock JST connectors for both the fan and the thermistor. You'll probably need to use needlenose pliers to remove the thermistor connector without damaging it.

  • Insert each of the JST connectors into a male JST housing from the kit. This is not an ideal (as in secure) connection, but I was unable to find male 2.0mm JST crimp connectors, so this is the best I could do. You might want to wrap a piece of electrical tape around the connection once it's been tested to keep it from pulling out accidentally.

  • Insert the pins of the male housings into the fan and thermistor connectors. Make sure you get the fan polarity right.

  • The connector for the hot end is soldered into the extruder board. Use the male dupont connector and insert the pins into the back of the connector on the board, shoving them up next to the wires inside the connector. Use an ohmmeter between your connector pins and the solder points on the board to ensure you have a good connection here. There are solder points at both the side and bottom of the hotend mount. One wire goes to the side points, the other wire goes to the bottom points.

  • Once inserted, bend the connector downward so that there's clearance for the cover can go back on

  • Tie a loose overhand knot in the ribbon cable inside the extruder housing for strain relief

  • Insert the RAMPS end of the cable through the long slot in the extruder housing at the right (the Dupont connector should fit through)

  • Route the ribbon cable to the right of the machine, hook it into the clip in the X gantry and down the side of the machine. Slip it through the hole the old flex cable used to go through, then fish it out the bottom and out through the hole where the power switch was. Make sure you leave enough slack inside the machine for when the extruder is X home and Z maximum.

  • Insert the hot end wires into the D10 screw terminals. Polarity doesn't matter.

  • Insert the fan connectors into the D9 screw terminals. Make sure you get the polarity right (if you're unsure, put an ohmmeter on it at the highest resistance -- if you read anything other than a closed loop, then the wire you have your positive lead on should go into the positive power terminal).

  • Plug the thermistor Dupont connector into the thermistor pins on the RAMPS board (refer to RAMPS documentation for this).

  • Reassemble in reverse order: fan shroud, fan, extruder cover (though you might want to jump ahead and test the components first -- just make sure not to run the nozzle for long without the fan present and working or you'll get a clogged extruder). Note that the stock fan is oriented to blow outward, sucking air from the back of the unit across the heatbreak and out toward the front (thanks kr15_uk for making a note of that).

http://soliforum.com/i/?wLchwBq.jpg

Test it:

  • Double-check that you have all the connections right as above

  • Plug in your RAMPS board to the 12V source.

  • You should see a non-zero nozzle temperature reading. If it errors out with MINTEMP that means you have an open circuit on your thermistor, so unplug the board and check those connections.

  • Test the fan. Use the input on your board to go to Control > Temperature > Fan and set it to 255 (full blast -- there's no PWM here, just on/off; if you select something less the fan may not spin). The fan should spin. If it doesn't, check your fan connection. If it bursts into smoke like mine did, unplug the board and go find yourself a replacement 40x40x10mm fan wink The stock fan is 11.4cfm, but you'll probably have a hard time finding that through any consumer source. I'm making do with a 6.3cfm with a 9 cfm on order. That does the job but it isn't ideal.

  • Turn off the fan

  • On the RAMPS board, go to Control > Temperature > Nozzle and set the nozzle to some low-ish temperature, say 100 Celsius. Exit back to the main screen and make sure the temperature climbs reasonably well. If you haven't reinstalled your fan at this point, turn the temperature back down before it gets too high to avoid damaging your hot end. If you're using the configuration I provided, the fan should automatically kick on when the nozzle hits 50 Celsius.

Case Fan
This is an easy one.

  • Make a 2-wire cable using a 2.0mm JST on one end, and bare wire on the other end.

  • Plug the JST into the 2-pin fan connector under the machine using a male JST housing (and optionally tape it)

  • Route it through the power switch hole and to the RAMPS board

  • Remove the heatbreak fan wires from the screw terminal, twist those wires together (and optionally solder or crimp them with a pin) and insert them back into D9. Make sure you get bothpolarities correct. Check before twisting the wires with an ohmmeter if necessary.

  • Test using the fan procedure above (Control > Temperature > Fan: 255). Both fans should start up and run. Then turn the fans off.

A note on fans
Some of you might have extra part cooling fans installed. If that's the case, you'll need to do some configuration in the Marlin files to reassign some pins so that you have D9 set aside for the stock fans, and D8 for your part fans (or some other reasonable configuration -- this gets trickier if you have installed a heated bed for which D8 is the default). I'm not an expert on this, so refer to the RAMPS/Marlin documentation for this kind of configuration.

Steppers
All the steppers are treated the same way and are easy to connect using a straight cable. I found that adjacent pairs of wires on the Jr's connectors make the stepper pairs. An easy way to check this is to insert a wire or jumper into the connector to short the pair, then try to manually move the stepper -- if it becomes hard to move and "clunky", you've found a pair.

For each stepper (there are four: X, Y, Z and extruder):

  • Tear off a 4-wire strip from the ribbon cable. The stock cables for each stepper are different lengths because they're made to just reach the connector on the board. Measure each individually or just leave a lot of slack.

  • Strip and crimp a 4-pin JST female connector on one end

  • Strip and crimp a 4-pin Dupont female connector on the other end

  • Plug the cable to the stepper connector using JST male housing (and optionally tape it). If you accidentally reverse the connector, the stepper will run backward, so just reverse the Dupont connector on the RAMPS board.

Test the steppers. For each stepper (X, Y, Z and Extruder):

  • Manually move the stepper to a middle position (so that you don't "crash" if you move in the wrong direction)

  • On your RAMPS, go to Prepare > Move Axis > 1 mm > X/Y/Z/Extruder. If you don't see the extruder as an option here, you need to unset Marlin's PREVENT_DANGEROUS_EXTRUDE setting temporarily.

  • Move the motor in the positive direction. For X, it should move right. For Y, it should move forward, and for Z it should move up. The extruder stepper should extrude (push filament toward the hot end) for positive, and retract for negative.

  • Since you don't have the optical sensors hooked up, the RAMPS board will prevent moving a stepper in a negative direction at this point (to avoid a crash). This is normal. But if you see an axis actually move in a negative direction, then this means you need to reverse your connector for that axis.

Optical Sensors
These are the most complicated cables to make. I opted to crimp the needed resistors inline with the connectors (on the RAMPS side of the cable). You can do it a different way if you'd like, including jumping the connector out to a breadboard, or even making your own PCB. If you have your own way to do this, please share.

Also, I was unable to source a 2x6 (12 pin) connector housing to use. If you have access to one, please use it. My solution described below will work, but it's a pain to make correctly.

First, get your parts together:

  • 3x 12 KOhm resistors (you can resort to 10k if it's what you have on hand)

  • 3x 220 Ohm resistors

  • 3x 2.0mm JST connectors (with pins)

  • 3x 2.54mm 3-pin Dupont connectors (with pins)

  • 3x 2.54mm 1-pin Dupont connectors (with pins)

  • 3x 2.0mm JST male housings (you are going to modify these later)

  • Tear off three lengths of ribbon cable. They should be about the same length since all the endstops share one stock connector.

When looking at the 12-pin endstop connector from the front (I mean the side with the holes, rather than the back where the wires enter the connector), position the unused pins at the bottom right. Then the X endstop is on the bottom left, Y is on the top left, and Z is on the top right. [TODO: Diagram]

In each of these three sets of three pins, the rightmost pin is 5V+, center is Ground, and the leftmost pin is Signal. We are going to need to put a 220 Ohm resistor on the 5V+ connector, and the 12k resistor between 5V+ and Signal as a pull-up resistor.

Make the cables as follows. You are going to crimp both resistors and wires into some of the pins. DO NOT crimp the JST connectors just yet (we'll do that later).

  • Strip all your cables as normal

  • If your resistors have long leads, trim them to be a bit shorter (just long enough to fit through your crimper and securely into a Dupont pin without crushing the resistor with the crimper)

  • Prepare a Dupont pin in your crimper, and insert one end of both the 220 Ohm and the 12K resistors into the pin, then crimp them together

  • Prepare another Dupont pin, and insert the Signal wire and the other end of the 12K resistor into this one. Crimp.

  • Prepare another Dupont pin, and insert only the Ground wire into this one. Crimp.

  • At this stage, you have your three pins to insert into the 3-pin Dupont connector, with your 5V+ wire hanging free. Insert the three pins into the 3-pin housing. Make sure you get the order right: 5V+ (two resistors), Ground, Signal.

  • Trim the 5V+ wire that's still hanging free a bit and strip it again. You want to shorten it just enough that it can still be crimped into a pin that will go into a single-pin housing which will plug into the free end of the 220Ohm resistor.

  • Crimp the 5V+ wire into a Dupont pin. Insert it into the single-pin housing.

  • Plug the free end of the 220 Ohm resistor into the single-pin housing.

Repeat the above process for all three endstop cables. Make sure you never apply full current across the endstop, as the stock endstops DO NOT have on-board resistors and you will definitely blow either the LED or the detector. I accidentally blew one of these while prototyping (I got complacent and didn't double-check my wiring). I'll tell my story of how I repaired it in another post. Don't do that.

Now that you have your cables, plug them into the X-min, Y-min and Z-min endstop slots on the RAMPS board. Make sure that the Signal wire is at the top of the board (closest to the edge) and 5V+ is at the bottom (closest to the middle). Ground is the center pin. If you accidentally get this wrong, it shouldn't blow your endstop, but you'll see some weird results.

Now the weird part -- plugging it into the 12-pin connector. You can either use jumpers to break out the connector into the individual endstop cables, or do like I did and modify some JST male housings:

  • Set a male housing with the "slot" side down on a working surface and use a hobby knife to cut off the rightmost wall of the connector, plus a little extra. You want the edge of the housing that's left to be as close to 1mm as possible (half the distance between two 2.0mm pins). This will be for your Y endstop.

  • Rotate the same housing and cut off the wall that has the "slot" in it, again aiming for 1mm remaining material.

  • Insert this housing into the top left (Y) pins with the cut sides at the right and bottom.

  • On another male housing, cut off just the slotted side. This will be for your X endstop.

  • Insert it into the bottom left set of pins with the cut side up

  • Take your third housing and cut off just the left side, with the slot facing down. This is for Z endstop.

  • Insert the housing into the Z pins (top right) with the cut side facing left.

[TODO: Photo of 12-pin hack job]

Finally, you can crimp the three JST connectors on the other end of your cables. For each of the three cables:

  • Match up the wire role/polarity with the pin on the 12-pin connector, and figure out which way to orient the connector to match the modified housings. Per the directions above, with the "slot/nub" side of the connector facing down and holes facing you, 5V+ will be on the left of the Y-axis and Z-axis connectors, but on the right of the X-axis connector.

  • Crimp the JST connector for the three wires and insert the pins to match the orientation you worked out above.

  • Insert the connectors into the modified housings, respecting the orientation (per the directions above, this means that the "nub" will always be facing the center of the connector).


Testing (repeat for each axis):

  • Move the extruder/Y carriage/Z axis to a position other than home so that the endstop is open.

  • Use your voltmeter to check the voltage across the 5V+ and Ground wires. This should be a low voltage (~1V) indicating the voltage across the LED.

  • Check the voltage across Ground and Signal. This should be a very low (almost zero) voltage with the endstop open.

  • Close the endstop, either by moving the axis or physically blocking the path between the emitter and detector (for the Z axis, setting an an SD card in the endstop slot is easier than twisting the threaded rod). You should now read 5V across Ground and Signal.

  • If you don't get 5V with the endstop closed, check your connections. Make sure you haven't inserted the connector backward. Make sure you didn't mix up your endstop axes.

Light Bar
The light bar is a 3-connector 12V switched LED circuit. One wire is 12V+, one Ground, and the other is a 5V signal that controls the brightness of the lights. When looking at the stock connector, holes facing you and "nub" down, 12V+ is on the right, Ground in the center and Signal on the left.

To make the cable and connect up:

  • Crimp a 3-pin JST on the one end and connect it with a male housing and tape.

  • On the other end, crimp a single (1-pin) Dupont connector on the switch wire, leaving the other two wires bare.

  • Connect the 12V+ wire to a 12V pole of the screw terminal power connector of the RAMPS board (you could also attach this to one of your positive terminals of D8/9/10)

  • Connect the Ground wire to a ground pole of the screw terminal power connector.

  • Crimp a 10 or 12K resistor into a Dupont pin and insert it into another single-pin connector.

  • Plug the single-pin connector with resistor into the D4 pin of the RAMPS board, then plug the single-pin connector of the signal wire into the other resistor lead.

Testing:

  • With your RAMPS board fired up, issue the gcode "M42 P4 S255", which means "Turn on pin 4 full". Let there be light!

  • If it doesn't light, check that you haven't reversed a connection. The light bar seems to have basic polarity protection so it shouldn't be too easy to destroy if you're basically careful.

  • If it lights, but only dimly, make sure you haven't reversed your signal and 12V connections (turn the connector around)

Part 4: Configuration and Calibration

If you used the Marlin configs I provided, and the same RAMPS board as me, your Da Vinci Jr should already be somewhat dialed-in. I've set the stepper values already, and assuming your machine is similar enough to mine, I've also set up the default HOME_POS and MAX_POS values so that your extruder knows how far it can go.

The one most important setting that you must check yourself is your Z-offset. In Marlin this is determined by the HOME_POS settings, and can be fine-tuned in EEPROM settings using the M206 command.

So other than possibly fine-tuning your extrusion steps you should be set to go.

I followed Triffid Hunter's Calibration Guide to set my initial values: http://reprap.org/wiki/Triffid_Hunter&# … tion_Guide

To set your Z-offset, I recommend the following reading: http://airtripper.com/1799/marlin-firmw … code-m206/

[TODO: Talk about the specific values I set in the Marlin configs and how I arrived at them]

Part 5: Cleaning up

At this point, congratulations! You have successfully completed converting your printer to RAMPS 1.4. Enjoy the new-found freedom.

You'll probably want to put things back together now and take care of some final touches:

  • It's probably a good idea to connect a wire from the Ground terminal of your RAMPS board and screw it to the shielding plate in the controller compartment, then re-connect the stock ground wires.

  • Replace the controller compartment cover.

  • If you didn't in a previous step, replace the clip-in cover inside the unit that hides the cable routing

  • Use a piece of tape or some other adhesive to keep the extruder ribbon cable in place, both where it clips to the X gantry at the far right, and where it goes through the bottom of the unit to keep it from slipping and losing slack.

  • (Optional) Replace the filament holder. Probably only useful if you still use XYZ filament, otherwise go print yourself a new one!

  • (Optional) Replace the front and side covers. If you care about it, having the covers on definitely reduces the noise from the fans.

  • (Optional) Replace the LCD screen. Only desirable if you want to plug the front hole for noise purposes, otherwise just leave it off since it won't function anyway.

  • (Optional) Figure out how to wire up and configure the filament sensor, and post your instructions here!

Part 6: The Many Ways I Screwed Up and Broke Stuff but Made it Work Anyways

To do. smile

To be continued...

2

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Well done Anthem, I'm actually considering just convertingto RAMPS i'm tired of fighting with this NFC thing. I'm really excited to see your next post great job!

3

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Here you go, guys. It's not done yet, but it's a major update and nearing completion. I think all of the build instructions are here now (Parts 1-3), there's just software and settings stuff to cover now in Part 4.

Enjoy! Please give me your feedback and comments. I apologize if the writeup is still a bit disorganized, but I wanted to get the information written down, even if at the cost of clarity. I also still need to post a lot of photos and diagrams.

BTW, I'm 12 hours into a 20-hour print at 205 degrees. Surprisingly my weedy replacement 6.3cfm heatbreak fan is still doing fine!

4

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

e13jimenez wrote:

Well done Anthem, I'm actually considering just convertingto RAMPS i'm tired of fighting with this NFC thing. I'm really excited to see your next post great job!

Thanks for the kind words. While I converted mainly out of necessity (I blew up my firmware), I'm loving the power that I have over the machine with open source firmware, not to mention not being locked into using XYZ's filament and chips.

The work to convert is not for the faint at heart, but there's not anything that's actually very difficult about it. It can be scary to see your expensive 3d printer all in pieces, but don't lose your head. I screwed up plenty of stuff in the process but managed to make it work anyway (that'll be the topic of Part 6 smile ).

5

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Anthem, thanks for your hard work posting your conversion.  At least it means those with the Da Vinci Jr have hope if they finally get fed up with XYZ's software and control board.  With your instructions I am confident I could do this conversion if it came down to it.  I'm not at that place yet, but it is now percolating in my brain haha!

6

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Awesome tutorial Anthem. Will I be able to flash Repetier on this?

7

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

I don't have any experience with repetier, so I can't say specifically, but you should be able to use any firmware that you otherwise could flash onto a RAMPS 1.4/Atmega 2650 board.

8

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

@anthem - Quick one. Are you using A4988 or DRV8825 stepper drivers? Last night I've hacked in RAMPS board with DRV8825 drivers and couldn't bare that annoying 13Hz high pitched sound. Lowering current of the driver reduces that pitch to bearable noise level but it doesn't have enough grant to drive steppers correctly. It's fine with A4988 though. Don't know if problem is with Jr steppers or controllers, I'll try to pull some DRV's out of one of my printers to test later on just need to finish printing one order which will take 2x more days.

9

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

kr15_uk wrote:

@anthem - Quick one. Are you using A4988 or DRV8825 stepper drivers? Last night I've hacked in RAMPS board with DRV8825 drivers and couldn't bare that annoying 13Hz high pitched sound. Lowering current of the driver reduces that pitch to bearable noise level but it doesn't have enough grant to drive steppers correctly. It's fine with A4988 though. Don't know if problem is with Jr steppers or controllers, I'll try to pull some DRV's out of one of my printers to test later on just need to finish printing one order which will take 2x more days.


My kit came with A4988s. I had some annoying whistling/humming noises in the beginning, but I was able to nearly knock that out by carefully adjusting the driver power. There's still a little whine in the background but it's not enough to annoy me.

More annoying to me is the horrible grinding sound that the DVJr's X-axis gantry makes when it's vibrating... ugh.

10

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Why is it vibrating? Unless you have a bad bearing/bushing there should not be any vibration under any print condition. I don't have JR, but I did have a 1.0 and it like my current CT'c where very well tuned and did not make a sound from 10 feet away.

Printing since 2009 and still love it!
Anycubic 4MAX best $225 ever invested.
Voxelabs Proxima SLA. 6 inch 2k Mono LCD.
Anycubic Predator, massive Delta machine. 450 x 370 print envelope.

11

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

The DVJR x-axis is just crap. It uses a carriage that runs on one 8mm rail on the bottom and just slides against the sheet metal bracket at the top.

12

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

@annthem - btw I've printed lm8uu bushings out of PLA and it's much quieter now (still annoying but let's say less annoying). Yes of course I'll need to change them now and then and you need to grease them more often but I think it's worth it.
To test them I've set up little rig in my garage, 2x PLA lm8uu + stepper pulley belt + arduino CNC shield setup, it was running back and forth at 200mm/s for whole 8x days - no issues what so ever, then I did extra 10x days or so - all good, minimal wear.
If you want to give it a go you can find very good STL on thingiverse which has 14x different types of lm8uu so you can test them out and choose the best for you.

13

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Awesome torture testing. It's always nice to hear when a printed parts are able to withstand some wear and tear and perform well. So much lighter, too.

14

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

If I'm going to do this with a new E3d v6 will that mean I can get rid of the stock extruder, circuit board etc?

15

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

If I'm going to do this with a new E3d v6 will that mean I can get rid of the stock extruder, circuit board etc?

Doing such a mod you are basically replacing the electronics control system so yes the old board goes away.
You should be able to get rid of the stock extruder but it must be replaced with something . If you ar going with an ed3 hot end a titan would be an obvious choice. . IIRC there are post her showing how to mount the titan to a davinci.
Also IIRC you will need to replace the end stops as the davinci ones are not compatible with the ramps.


Your mod you can replace as much as you like but IMHO look before you leap . At what point is it cheaper in time and money to buy a kit and start from scratch.  Your time your dime it is a hobby so have fun.

IN your case where you have damaged a driver  the ramps conversion probably makes sense. You can use OS firmware ,software and hardware and will not be limited with material.
Good luck

Soliddoodle 4 stock w glass bed------Folger Tech Prusa 2020 upgraded to and titan /aero extruder mirror bed
FT5 with titan/ E3D Aero------MP mini select w glass bed
MP Utimate maker pro-W bondtech extruder
Marlin/Repetier Host/ Slic3r and Cura

16

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

@Tin Falcon. Thank you for your response. I've sussed it now. Sometimes I ask before I think. Lol. I see now where I'm heading with this. I'm managing to source more affordable parts. Ramps, Dupont connectors etc. I hear what you're saying about considering my options with regards buying a kit and starting from scratch. The way I'm looking at this, my first 3d printer, is as a good, affordable, confidence building exercise. Upon successful completion I can then get my teeth into Marlin and getting comfortable with using an "open" fw. Best of all is I'm having fun. :-) I love the challenge. No doubt in maybe 6 months I'll be looking towards building a kit from scratch.

17

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

@Anthem. You say you're using https://www.amazon.co.uk/dp/B0111ZSS2O? … m1x158384-. Given the fact that is only £29.99, I'm just wondering if you've had any issues with it? Is the quality OK etc. ?

18 (edited by Tin Falcon 2016-10-03 23:08:22)

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

HMMM that does seem cheap or a good deal?  less than $40 .
Gravy Are you in the UK ? that link states does not ship to United states.

If in the USA  you may want to look at

https://folgertech.com/products/ramps-1 … -printer-1

https://folgertech.com/products/lcd-dis … r-mendel-1


About $43

Seems like the controllers have come down in price. IIRC  FT wanted about $50  for just the raps package about 6-8 months ago. And the LCD was closer to $20

IMHO if in the UK go for it if in USA FT should work for you. And yes i am a FT customer .

FYI FT also has end stps that will plug right in  @ $1.49 ea.
Tin

Soliddoodle 4 stock w glass bed------Folger Tech Prusa 2020 upgraded to and titan /aero extruder mirror bed
FT5 with titan/ E3D Aero------MP mini select w glass bed
MP Utimate maker pro-W bondtech extruder
Marlin/Repetier Host/ Slic3r and Cura

19

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

gravy wrote:

@Anthem. You say you're using https://www.amazon.co.uk/dp/B0111ZSS2O? … m1x158384-. Given the fact that is only £29.99, I'm just wondering if you've had any issues with it? Is the quality OK etc. ?

That appears to be the same one I'm using. But since it's a different Amazon product id there's no telling whether it'll be identical.

And that's correct, I've had no issues with the quality of my hardware. Some of the pins were a little bent, but that's easily correctable.

I have modified it slightly however. If you're following the manufacturers instructions and powering the RAMPS and Arduino together from the 12V line, the 5v voltage regulator gets really, really hot. Since I always have mine plugged into a Raspberry Pi running octoprint, I desoldered diode D1 and am letting the Arduino run over the USB 5v.

20

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

@gravy - Your link gives me an option "Buy again" so seems to be I've bought one of those in the past. And I haven't had any issues with RAMPS kits hardware.
If you are under the Prime it's very reasonable price for the next day delivery product.
If you are willing to wait a bit more (under a week) you can score those kits for as low as £25 of eBay.
And there's always AliExpress... I've ordered Arduino knock-off + RAMPS (no LCD or stepper drivers) for £7 delivered (display is around £6-7, A4988 stepper drivers were less than £1 a pop)
Yeah, 30+ days though...

Last thing... All those kits comes with Arduino knock-off's (performance wise no problems what so ever) so just be aware that port locations isn't always precise. If you design enclosure or download a ready one off thingiverse be prepared that port holes can be slightly off.

21

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Cheers for that guys. I decided to go with the Ramps in the link I posted. Got it today. Seems a good kit considering how cheap it was. Flashed Anthem's fork of Marlin. All seems to be good so far. Tomorrow I start connecting everything. Can't believe how straightforward this upgrade is. Made so much easier with Anthem's tutorial and the advice you guys have given me. Much appreciated.

22

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Glad to hear it's going well! I'm certainly getting far more enjoyment out of my printer since upgrading to RAMPS.

I've since added a Fan Extender board so that I can add a true cooling fan (just haven't printed a bracket for it), and I've switched to using two printed Mk8-based extruders. Can't do that with a Jr smile

I'm also getting close to completing my Y-axis extension that should get me close to a 500mm Y-axis, and I have the parts in hand for my Z-axis extension as well.

23 (edited by xfrNzyx 2016-10-09 10:14:50)

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

http://soliforum.com/i/?RU6Fwab.jpg

So here's my conversion using a printrboard from an old printrbot simple. Needs some cable management but otherwise working perfect.
List of changes-
Ripped everything out except x y and z steppers.
Rewired with mechanical end stops
Replaced extruder stepper with a bigger nema17 stepper
Replaced hot end with ubis hot end
Custom firmware i put on the printrboard ages ago was fine as was but modified steps per mm in the eeprom for steppers.
Acrylic build plate (which I had already made for the jr before the convertion )

24 (edited by Anthem 2016-10-09 12:05:40)

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

Awesome! That's about how mine looks, all scraggly and rough smile

By the way, I very much recommend the 3dator Mk8 printed extruder here: http://www.thingiverse.com/thing:1679553 It has very tight tolerances that are a must for printing anything softer like PVA or flex.

How do you like your acrylic build plate? I've been considering acrylic to replace mine after I extend the Y axis simply because it's lighter and easier to cut at home. (BTW, my Y extension is complete and installed, but I still haven't found time to level it for a test print).

My only concern is whether acrylic will be stiff enough not to sag. I want to use only as much support as necessary to keep the carriage's weight down, but I'm unsure about sagging being a problem.

25 (edited by xfrNzyx 2016-10-09 12:28:14)

Re: [HOWTO] Convert Da Vinci Jr to RAMPS 1.4

I used 6mm acrylic on this and my kossel with no problems so far. I used 10mm on my printrbot which was to heavy really. One thing to bear in mind is not to leave the hot end sat on the bed stationary as it will melt a hole in it. I put a bit of tape in the home corner for starting the print to stop this happening. Otherwise it's amazing, adhesion to the bed is great and if you can remove the bed you just flex it and the print pops off!

That extruder does look cool. I also considered using a Wade's style one as I've used them before and they work well with Bowden set ups. That said simply sticking a bigger stepper on the current extruder has helped no end.