Page 3 of 6
Re: Interesting new Diamond hotend 3x filament
Posted: Fri Nov 06, 2015 1:14 pm
by skidoosnopro
Does anyone have a set of instruction on the software and changes need to make this work on the MAX V2 ? I would love to go to this but worried about doing it with out someone having done it and able to share what was done . Love this forum everyone is so nice
Re: Interesting new Diamond hotend 3x filament
Posted: Sat Nov 07, 2015 5:50 am
by Renha
Maddog wrote:Does anybody have a working link to these 2 parts?
Oh sorry i've missed your post! for my part you could PM me with your email, i'll send STL to you, if you're talking about my parts
Re: Interesting new Diamond hotend 3x filament
Posted: Tue Nov 10, 2015 11:11 am
by teoman
This randomly popped up while i was shopping for something else
http://www.aliexpress.com/item/Extruder ... eb201560_9
Price is dirt cheap considering the heatsinks are also included.
Re: Interesting new Diamond hotend 3x filament
Posted: Tue Nov 10, 2015 1:28 pm
by skidoosnopro
WOW that is cheap . I may order one . I want to do this but the electronics are out of my range unless someone has a set of instructions on what to do . Still might get one
Re: Interesting new Diamond hotend 3x filament
Posted: Tue Nov 10, 2015 4:54 pm
by JFettig
Don't support the counterfeiters!
Re: Interesting new Diamond hotend 3x filament
Posted: Tue Nov 10, 2015 8:03 pm
by 3D-Print
skidoosnopro wrote:WOW that is cheap . I may order one . I want to do this but the electronics are out of my range unless someone has a set of instructions on what to do . Still might get one
I agree. This smells like none of the knock-off sales.
Re: Interesting new Diamond hotend 3x filament
Posted: Tue Nov 10, 2015 8:13 pm
by Xenocrates
I wouldn't buy it, but surprisingly the guy is upfront and directly says it's "derived" from the diamond. If you do get it, be aware it's using Lite6 style heatsinks, and so is ABS/PLA only.
Re: Interesting new Diamond hotend 3x filament
Posted: Wed Nov 11, 2015 3:39 am
by teoman
There will always be counterfit stuff all over.
But the reason i posted that was that it is specifically for the rostock max.
Re: Interesting new Diamond hotend 3x filament
Posted: Wed Nov 11, 2015 7:13 am
by 3D-Print
True. Will be interesting to see if it prints any different once others get the original set up.
Re: Interesting new Diamond hotend 3x filament
Posted: Wed Nov 11, 2015 9:42 am
by skidoosnopro
YEs and lets hope someone posts a How too on this ( OH PLEASE OH PLEASE

). I may order one just to check it out . For the price It might be worth it ? Gotta think on it
Re: Interesting new Diamond hotend 3x filament
Posted: Wed Nov 11, 2015 11:16 pm
by 626Pilot
I got an email about this from the Diamond guys. They say that knockoffs are showing up on EBay, and they may not perform very well.
Consider that the person selling it, if not a member of the Diamond team, is lying to you by calling it a Diamond. If they lie to you about that, why wouldn't they lie to you about the performance? E3D stuff costs money because it's
good.
Re: Interesting new Diamond hotend 3x filament
Posted: Thu Nov 12, 2015 9:54 am
by skidoosnopro
I was thinking about buying one . But as was said above me this is so true . I am going to save up and get the good stuff on this so I never have to worry about performance . Great posts all
Re: Interesting new Diamond hotend 3x filament
Posted: Thu Nov 12, 2015 3:25 pm
by Renha
It's a Bird...It's a Plane...It's Diamond Hotend for RostockMAX + TrickLaser effector platform!
https://www.thingiverse.com/thing:1128037
Any issues - just tell me, i'll fix.
Re: Interesting new Diamond hotend 3x filament
Posted: Wed Nov 18, 2015 11:51 am
by skidoosnopro
SO Renha . Have you worked out the electronic and such for this set up ? Love your work so far and thank you for posting what you have already done

Re: Interesting new Diamond hotend 3x filament
Posted: Thu Nov 19, 2015 10:32 am
by Renha
Oh, no, i'm waiting for Smoothieboard V2 and am in progress of designing extruders
Re: Interesting new Diamond hotend 3x filament
Posted: Fri Nov 20, 2015 12:08 am
by 626Pilot
You could use this today with a Duet (with the DueX4 expansion board), or if you're adventurous, you could connect a StepStick to a Smoothieboard and set some options in configuration to tell it where the pins are.
Re: Interesting new Diamond hotend 3x filament
Posted: Fri Nov 20, 2015 3:35 am
by Renha
EDIT: oh, you have answered to skidoosnopro

But anyway, i think my answer have useful info for skidoosnopro too.
626Pilot wrote:You could use this today with a Duet (with the DueX4 expansion board)
If so i'll need to buy Duet, DueX4, and little later Smoothie v2 Pro - expensive solution pack
626Pilot wrote:you could connect a StepStick to a Smoothieboard
I haven't original Smoothieboard either, so same story here
I wouldn't happy with v1 because it have so low memory, I have heard that some guy's called "626Pilot" calibration procedure could easily use it all
And, I really want super-wonderful Intel Edison power here. I am already using it with my Azteeq X3 Pro and am very happy - so having it on the board is killer-feature of SmoBoV2Pro!
Re: Interesting new Diamond hotend 3x filament
Posted: Sun Dec 20, 2015 4:06 am
by JJPowelly
If anyone is still wondering, or hasn't figured it out yet, I figured out how to add extra extruders to the Rambo board... It's going to take a little more configuration, but I got a 3rd extruder spinning right now for the diamond hotend, and with a little bit more firmware configuring, I could probably squeeze in a 4th, however, I would need to limit micro stepping due to lack of extension pins on the MX ports - but for the diamond, you only need 1 extra motor, so it's fine... I rewrote the stock Rostock firmare and everything still works fine, but now it has three extruders and runs.
Re: Interesting new Diamond hotend 3x filament
Posted: Sun Dec 20, 2015 6:27 am
by 626Pilot
JJPowelly wrote:If anyone is still wondering, or hasn't figured it out yet, I figured out how to add extra extruders to the Rambo board... It's going to take a little more configuration, but I got a 3rd extruder spinning right now for the diamond hotend, and with a little bit more firmware configuring, I could probably squeeze in a 4th, however, I would need to limit micro stepping due to lack of extension pins on the MX ports - but for the diamond, you only need 1 extra motor, so it's fine... I rewrote the stock Rostock firmare and everything still works fine, but now it has three extruders and runs.
That's good! Can you describe what stepper driver you used, and what pins you connected it to?
Re: Interesting new Diamond hotend 3x filament
Posted: Sun Dec 20, 2015 9:39 am
by JJPowelly
Here's a quick video I made explaining everything that I did...
https://www.youtube.com/watch?v=E6QRihC ... e=youtu.be
Re: Interesting new Diamond hotend 3x filament
Posted: Sun Dec 20, 2015 5:30 pm
by Eaglezsoar
Thanks for posting the video, I am sure it will be a help for anyone looking to do the same as you did.
Re: Interesting new Diamond hotend 3x filament
Posted: Mon Dec 21, 2015 8:52 pm
by 626Pilot
I have been thinking about doing something like this for the Smoothieboard, to add more axes. Maybe even a full-on "shield" that would replace the 16x microstepping drivers with 256x, and add a couple more for people who want to drive four hot ends. I have noticed I got better probe repeatability on the Duet, which has 32x. Dunno how much of a market that would have, since the SB2 is due out in 2016.
Re: Interesting new Diamond hotend 3x filament
Posted: Mon Dec 21, 2015 11:17 pm
by JJPowelly
I wouldn't go anything smaller than 1/32nd MS - especially for an extruder motor, which really doesn't need it... 1/16th is good but 1/32nd is kind of pushing it - 1/128 and 1/256 are insane in my opinion... It can be done with certain drivers, but the lower you go, the more magnetic backlash you get... Also, due to the exponential nature of reciprocated base two recursion (1/2, 1/4, 1/8, 1/16, 1/32,...) the difference between 1/32nd MS and, say, 1/128th MS will result in a very dramatic loss in the incremental torque per step... At 1/128th microstepping on a nema 17 motor, you're at about 1% the total potential torque of the motor per step when compared to the torque of the same motor at a full step - even 1/8th stepping drops it down to about 20%...
As for my video... I completely changed my setup since making it yesterday, lol... I'm no longer using an A4988 (I don't want to use all 3 ms pins for 1/16th ms)... Instead I'm going to use the same A4982 drivers that are controlled by the digipot on the rambo (just on a breakout board instead)... The A4982 only needs 2 MS pins to do 1/16 micro stepping... I'm also going to try the drv8825 which only needs 1 ms pin for 1/16th... This will leave me enough auxiliary break out pins to add 2 extra motors in total... The changes in the firmware needed to drive the extra 2 break out motors is pretty easy, all you need to do is declare new variables and assign pins for the motors and then go into "commands.cpp" and add those extra variables to be called and assigned in the stepper instantiation methods/functions/constructors (whatever it's called in C)... I'm also going to upgrade the fuse on the board from a 5amp to a 7 amp... SInce I now have 6 motors drawing current at {175, 175, 175, 175, 160, 160, 160} Sum = 1005... where: ~185 = 1amp... So at peek, I have the potential of drawing 1005/185 = 5.4 amps... So to be on the safe side, I'm going to throw a larger amp fuse in there...
But my main goal from the beginning was to keep the rambo and figure out how to make it work... The diamond only really uses Marlin firmware and the Rumba (and ramps, kinda)... I have a Rumba, but I don't want to rewrite the original repetier code for the Rostock... It would be a huge pain in the ass to reconfigure the SeeMeCNC specific LCD and UI library to work after changing boards/firmware and I would like to keep that functionality if at all possible.
I'm going to figure out how to add two motors in total to the Rambo so the guys that want to add the kraken can do it too.
Re: Interesting new Diamond hotend 3x filament
Posted: Tue Dec 22, 2015 1:11 am
by 626Pilot
If you can figure out the electricals, to the point where a hobbyist with a soldering iron can reproduce it, I'll build one too and figure out how to get the Smoothie firmware to work with it. Bonus if you can wire it up to use a digipot.
Since what I said before about microstepping, I made a tweak to the Smoothie code and now I'm getting repeatability within 1 step over 30 probes, and that's with the effector being moved around between each probe to try to aggravate any backlash. I might have to use a shift register, depending on how many free GPIO pins are broken out on the board.
Re: Interesting new Diamond hotend 3x filament
Posted: Tue Dec 22, 2015 2:42 am
by JJPowelly
It sucks the rambo doesn't have very much in terms of technical documentation (especially v1.3, pretty much nothing)... To find the best pins and voltages, I literally had to unravel the schematic because the only schematic that gives (accurate) digital pin outs was for the v1.1... So I literally had to solve a riddle to figure out which pins (that weren't already used) go where... That's what took the longest for me... I'm a computer science guy by trade, coding is one of my strengths... So I had the firmware good before I even started with the electrical... However, The digipot is still a riddle to me right now...
I found the nomenclature for the digipot and looked up the manufactures specifications and data sheets. It's a 6 channel digipot, but only 5 of those channels are declared in the code... The main channel line is declared in pins.h
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1
To me, this is a very odd array of channels, especially when you look at the board - it makes no sense why the would number it that way... clearly there are 6 overall channels and channel 2 (or 3 if you're starting with 1) is not used...So there is an open channel on the digipot, it's just a matter of finding where it leads to... I would imagine, since the digipot's primary concern is current control and micro stepping, that the vmot aux that I showed in the video (the one seeme uses as a board fan) is actually that 6th channels voltage out, or can at least be mapped to it... Even more proof is that, the 12v (vmot) out is also under the same fuse as the rest of the motors... and then the microstepping pins (MS1 and MS2 for 4982) route out to the analog auxiliary due to the fact that the majority of the MS pins are in the pin 60-69 range - which is also the auxiliary out ports' range... But like I said, the documentation to verify all this is nonexistent, so I'm literally solving this problem like a detective...
I would love to have at least one accurate pinout/schematic... Their github doesn't even have anything of great use... Even an eagle file would be great... I mean, the board exists, it had to be made somehow, this shit does exist somewhere.
The objects for the digipot channels are constructed in commands.cpp here...
#if STEPPER_CURRENT_CONTROL==CURRENT_CONTROL_DIGIPOT
// Digipot methods for controling current and microstepping
#if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
int digitalPotWrite(int address, unsigned int value) // From Arduino DigitalPotControl example
{
WRITE(DIGIPOTSS_PIN,LOW); // take the SS pin low to select the chip
HAL::spiSend(address); // send in the address and value via SPI:
HAL::spiSend(value);
WRITE(DIGIPOTSS_PIN,HIGH); // take the SS pin high to de-select the chip:
//delay(10);
}
void setMotorCurrent(uint8_t driver, unsigned int current)
{
const uint8_t digipot_ch[] = DIGIPOT_CHANNELS;
digitalPotWrite(digipot_ch[driver], current);
}
#endif
void motorCurrentControlInit() //Initialize Digipot Motor Current
{
#if DIGIPOTSS_PIN && DIGIPOTSS_PIN > -1
const uint8_t digipot_motor_current[] = MOTOR_CURRENT;
HAL::spiInit(0); //SPI.begin();
SET_OUTPUT(DIGIPOTSS_PIN);
for(int i=0; i<=4; i++)
//digitalPotWrite(digipot_ch, digipot_motor_current);
setMotorCurrent(i,digipot_motor_current);
#endif
In the same file "commands.cpp" I added my Extruder2 (3) variables and identities, only a few lines... but it all compiled and didn't throw back any pointers, throw exceptions, errors or whatnot... So the digipot must be using those added pins and controlling them because the motor is spinning afterall... So I'm not sure if it's magic, or if I actually figured it out...
There are only a few lines of REAL source code I changed outside of the basic macro declaration header files - pins.h and configuration.h - that most people like to call "the code", but they've never touched any other file and would be completely lost 5 lines into any of the cpp files... But Repetier is good code, and a good sign of good code is scalability and object orientedness, so I didn't have to do much and had very little trouble throwing those lines in there and getting it to compile without issue.
#if defined(X_MS1_PIN) && X_MS1_PIN > -1
void microstepMS(uint8_t driver, int8_t ms1, int8_t ms2)
{
if(ms1 > -1) switch(driver)
{
case 0:
WRITE( X_MS1_PIN,ms1);
break;
case 1:
WRITE( Y_MS1_PIN,ms1);
break;
case 2:
WRITE( Z_MS1_PIN,ms1);
break;
case 3:
WRITE(E0_MS1_PIN,ms1);
break;
case 4:
WRITE(E1_MS1_PIN,ms1);
break;
case 5:
WRITE(E2_MS1_PIN,ms1);
break;
}
if(ms2 > -1) switch(driver)
{
case 0:
WRITE( X_MS2_PIN,ms2);
break;
case 1:
WRITE( Y_MS2_PIN,ms2);
break;
case 2:
WRITE( Z_MS2_PIN,ms2);
break;
case 3:
WRITE(E0_MS2_PIN,ms2);
break;
case 4:
WRITE(E1_MS2_PIN,ms2);
break;
case 5:
WRITE(E2_MS2_PIN,ms2);
break;
}
}
void microstepMode(uint8_t driver, uint8_t stepping_mode)
{
switch(stepping_mode)
{
case 1:
microstepMS(driver,MICROSTEP1);
break;
case 2:
microstepMS(driver,MICROSTEP2);
break;
case 4:
microstepMS(driver,MICROSTEP4);
break;
case 8:
microstepMS(driver,MICROSTEP8);
break;
case 16:
microstepMS(driver,MICROSTEP16);
break;
}
}
void microstepReadings()
{
Com::printFLN(Com::tMS1MS2Pins);
Com::printF(Com::tXColon,READ(X_MS1_PIN));
Com::printFLN(Com::tComma,READ(X_MS2_PIN));
Com::printF(Com::tYColon,READ(Y_MS1_PIN));
Com::printFLN(Com::tComma,READ(Y_MS2_PIN));
Com::printF(Com::tZColon,READ(Z_MS1_PIN));
Com::printFLN(Com::tComma,READ(Z_MS2_PIN));
Com::printF(Com::tE0Colon,READ(E0_MS1_PIN));
Com::printFLN(Com::tComma,READ(E0_MS2_PIN));
Com::printF(Com::tE1Colon,READ(E1_MS1_PIN));
Com::printFLN(Com::tComma,READ(E1_MS2_PIN));
Com::printF(Com::tE2Colon,READ(E2_MS1_PIN));
Com::printFLN(Com::tComma,READ(E2_MS2_PIN));
}
#endif
void microstepInit()
{
#if defined(X_MS1_PIN) && X_MS1_PIN > -1
const uint8_t microstep_modes[] = MICROSTEP_MODES;
SET_OUTPUT(X_MS2_PIN);
SET_OUTPUT(Y_MS2_PIN);
SET_OUTPUT(Z_MS2_PIN);
SET_OUTPUT(E0_MS2_PIN);
SET_OUTPUT(E1_MS2_PIN);
SET_OUTPUT(E2_MS1_PIN);
SET_OUTPUT(E2_MS2_PIN);
SET_OUTPUT(E2_MS3_PIN);
for(int i=0; i<=4; i++) microstepMode(i,microstep_modes);
#endif
I'm not too far away though, I have the stepper motor spinning as third extruder through repetier, so the hard part is done... now I just need to fine tune everything and get all my steps, current, heat, etc all together... It should be about another week and I'll be done...