M200Toolchain icon indicating copy to clipboard operation
M200Toolchain copied to clipboard

Couldnt find another way...

Open Injineers opened this issue 6 years ago • 40 comments

Hey sorry to add to your stuff just to ask you a question but didnt know a better way..

I currently run a Marlin board and LCD on my printer. I would like to try to get marlin running on the controller, but have a few questions about what is broken, not working, etc.

I print with my printer alot, so I can provide you some real world feed back.

At the moment, I am running 2 Z motors off the Malyan controller. I belive that they are in parallel but ill double check.

One major issue I have, is I think the default height of the mini / Malyan was set at like 120mm somewhere. My printers Z goes to 350, so when I print a large model (anything over 120) after the print is done, I try to home it, but depending on how far above the 120 I went (lets say I went to 200) it would home z down 120mm leaving the 80 mm gap between the nozzle & the bed...which is a huge pain if I kick off a print & its high & I walk away for a minute, I get air printing.

I dont want to put to much stuff here, until I know you are ok with it & dont mind me asking questions hear & there.

@xC0000005

Injineers avatar Apr 06 '18 18:04 Injineers

Not a problem at all. If you are running a RAMPS setup, the configuration.h has a value called Z_MAX_POS which defaults to something like 150. I'd adjust that first to the actual height and see if it runs better. As for what doesn't work, give me a day or two and I'll fill you in. I should have a PR out with a fix for the LCD (a merge error broke it), and some idea of whether or not the temp timer ISRs were supposed to be changed or not. My config won't exactly match what you need, but the biggest problem you'll likely have is if you don't have the V3 board with the adjustable pots, I'm not sure your steppers will be getting enough current.

xC0000005 avatar Apr 07 '18 02:04 xC0000005

im actually running the first gen v1 m200 board from the mp select. not a ramps i say first gen, as my board doesnt have a provision for the board fan like some of the later v1s

I havent flashed marlin on the controller as I wasnt sure of what bugs were there.

my Z runs fine and has for the last 6 months. no issues what so ever.

Injineers avatar Apr 08 '18 01:04 Injineers

A few of the things I am looking to gain are:

the thermal run away protection . Not sure if the default firmware of the Malyan board has this or not Auto-bed leveling. However with this I wonder how I would actually use any probes as the board doesnt have a spot for it. https://i.imgur.com/1zWCORT.jpg

Injineers avatar Apr 09 '18 16:04 Injineers

I would hold off for now. There's a problem with the newest STM32 HAL updates that I need to run down. It was printing fine on unmerged code, but that's the reality of a moving codebase. Once I know what commit broke USB printing I'll fix it and update this thread.

xC0000005 avatar Apr 11 '18 15:04 xC0000005

I have switched ISR to priority based control to get my printer up and running, and PID loops are stable now that they aren't being starved. Many bed leveling probes replace the Z endstop, but if you wanted something like a BL touch, the Serial2 header on the board is unused - those solder spots go clean through, so you'd attach a post and utilize the TX/RX lines as bl-touch fun pins. On my mini, the sensor is wired to the Z endstop when it's hooked up (I only have three of these, and have to keep them somewhat related to original hardware for testing). I pull power from the 12v, signal out goes to a 3.3v step down, and the endstop is set to not be inverted.

xC0000005 avatar Apr 17 '18 15:04 xC0000005

Ill need to research a bit more on the bed leveling. I wanted to do a non touch probe, but the BL may work as well

are you saying you wired a probe to the Z endstop on the board? does that work like/is it mesh bed leveling?

in regards to the header you mention, I assume that is the 4 pads in the top right of my pic?

In your opinion is the 2.0 on the malyan reliable enough to use?

I do have another printer, so if it goes belly up im not SOL. But I am almost at the point of scrapping the malyan controller in favor for a ramps, or maybe a duet wifi

this is the printer I built that is currently using it https://i.imgur.com/3M2Sp8q.jpg https://i.imgur.com/P5H9aMx.jpg

Injineers avatar Apr 17 '18 17:04 Injineers

I’ve seen your posts on the MP Mini facebook group (where you can find me as “Jason Nelson.". That printer reminds me of an AM8 with a mini’s mainboard/lcd. (Kind of like where I attached a mini’s mainboard to a CR-10 frame for fun, making a CR-10M).

2.0 is relatively stable. I have an open issue regarding the ISR starvation to come up with a “real” fix, but it’s running again right now. It’s a development branch, so it’s always changing, but soon enough it’ll be declared “release” and all us tinkering folks will move off to the new dev banch.

To be honest, the reason why I do this is that I enjoy pushing the hardware. It’s capable of more than Malyan was using it for, but I don’t think if you ditch the mainboard for a smoothie or duet or even a RAMPS stack, you’re going to regret it. I recommend a non-touch probe, preferrably a normally closed one that opens when in proximity for ease of configuration. Good luck getting one that outputs 3.3v without going through a level shifter, though.

On Apr 17, 2018, at 10:03 AM, Eno423 [email protected] wrote:

Ill need to research a bit more on the bed leveling. I wanted to do a non touch probe, but the BL may work as well

are you saying you wired a probe to the Z endstop on the board? does that work like/is it mesh bed leveling?

in regards to the header you mention, I assume that is the 4 pads in the top right of my pic?

In your opinion is the 2.0 on the malyan reliable enough to use?

I do have another printer, so if it goes belly up im not SOL. But I am almost at the point of scrapping the malyan controller in favor for a ramps, or maybe a duet wifi

this is the printer I built that is currently using it https://i.imgur.com/3M2Sp8q.jpg https://i.imgur.com/3M2Sp8q.jpg https://i.imgur.com/P5H9aMx.jpg https://i.imgur.com/P5H9aMx.jpg — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-382068423, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcZF68szyLyBO3a5BJ3dE3zAROzwjks5tpiBQgaJpZM4TKf-a.

xC0000005 avatar Apr 17 '18 19:04 xC0000005

Hello again,

last night I setup my platformio to be able to build this, got everything setup (i think)

I do have the board def, along with the json & stuff setup,. when I go in platformio i can seacrh & find a malyan board ( i assume this is correct? something like malyan 128k or something)

In regards to building, what should I use? I looked into your fork & see a couple extra ones (STM issue fix, the bugfix.2 , etc)

Injineers avatar Apr 18 '18 17:04 Injineers

Try the branch called “ZBasedRecoveryWork” - it’s a working branch but as long as you don’t enable ZBR you’ll be fine. Hell, once I get another hour, ZBR won’t do anything evil. You’ll need to make sure your steps are set right, but once they are, you just type “pio run -e malyanm200” in the enlistment root (same place the platformio.ini is). Copyover.sh is setup to run this for me, you could adapt for your volume names and so on.

On Apr 18, 2018, at 10:26 AM, Eno423 [email protected] wrote:

Hello again,

last night I setup my platformio to be able to build this, got everything setup (i think)

I do have the board def, along with the json & stuff setup,. when I go in platformio i can seacrh & find a malyan board ( i assume this is correct? something like malyan 128k or something)

In regards to building, what should I use? I looked into your fork & see a couple extra ones (STM issue fix, the bugfix.2 , etc)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-382465363, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppccxKmdih6J7GlkXwh6JOIGUDIcDzks5tp3dAgaJpZM4TKf-a.

xC0000005 avatar Apr 18 '18 17:04 xC0000005

Not sure what ZBR is, I searched the marlin git & found nothing at all on ZBR

Injineers avatar Apr 18 '18 19:04 Injineers

Z-Based Recovery. You don’t see it, because it’s not in marlin, it’s something I’m hacking in.If you’ve ever had a print fail where the top half went spaghetti or you lost power and you wanted to print the top half, that’s the idea. You home the axis (in this iteration), adjust the nozzle to touch the print piece, and issue an M24 R1 command. The firmware plays forward all commands, skipping movement commands until it reaches the current Z index.

Once this works, I’ll add the ability to adjust the model to a given Z index and use M24 R1 Z to start a print that prints the portion of the file that’s missing on the bed (acts as a Z offset for commands). From there, it’s another iteration to my end goal, the ability to issue a M24 R1 Z A. That way you can reprint brim/rafts for the failed portions before gluing pieces together. On bigger beds, homing the axis first isn’t a big deal. On smaller beds, it’s a pain to be able to zero out position because the carriage is likely to strike the print on the way down. But one thing at at time. First, be able to kick a print into gear on top of the failed portion. Then be able to print it on the bed clean. Then with adhesion layers.

On Apr 18, 2018, at 12:09 PM, Eno423 [email protected] wrote:

Not sure what ZBR is, I searched the marlin git & found nothing at all on ZBR

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-382496715, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcVzM8j90hzNfdicAyBlAU22b3bakks5tp49lgaJpZM4TKf-a.

xC0000005 avatar Apr 18 '18 19:04 xC0000005

Hi Another user on M200/MP Select mini here. I can confirm that usb does not work correctly in the latest version

Do you know when it was still working so I can build the older code?

zerg32 avatar May 02 '18 05:05 zerg32

“Does not work correctly” means the printer doesn’t show up? Is this a V1 or V2?

On May 1, 2018, at 10:17 PM, zerg32 [email protected] wrote:

Hi Another user on M200/MP Select mini here. I can confirm that usb does not work correctly in the latest version

Do you know when it was still working so I can build the older code?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-385867398, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcXch3bc1YZ8lFf4pQhekMAR3ZIfiks5tuUF5gaJpZM4TKf-a.

xC0000005 avatar May 02 '18 05:05 xC0000005

It boots and and i can set temperature via the lcd but when i connect via prointerface i get the following Connecting... NKKNNOOWWNN CCOOMMMMAANNDD FFOORRMMAATT{RI:192.168.0.106{RI:192.168.0.106 UUNNKKNNOOWWNN CCOOMMMMAANNDD FFOORRMMAATT{RC:C{RC:C Printer is now online. echo:Unknown command: "1515159" echo:Unknown command: "0X00F009"

it is a V1

zerg32 avatar May 02 '18 05:05 zerg32

Ok, that’s not one I’ve seen before. I’m looking at STM32GENERIC right now but when I get a chance I’ll rebuild using stm32duino and see if it repros for me and what I can do about it. If you have a serial terminal, hook up to the mini (it will identify itself as Maple) and see if it’s spewing garbage.

On May 1, 2018, at 10:53 PM, zerg32 [email protected] wrote:

It boots and and i can set temperature via the lcd but when i connect via prointerface i get the following Connecting... NKKNNOOWWNN CCOOMMMMAANNDD FFOORRMMAATT{RI:192.168.0.106{RI:192.168.0.106 UUNNKKNNOOWWNN CCOOMMMMAANNDD FFOORRMMAATT{RC:C{RC:C Printer is now online. echo:Unknown command: "1515159" echo:Unknown command: "0X00F009"

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-385871904, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcbHqum__U5V2fEdewhhfEMMU0jvFks5tuUnWgaJpZM4TKf-a.

xC0000005 avatar May 02 '18 05:05 xC0000005

Thanks for your help the other strange thing is that when I was compiling I had a following compilation error Marlin\src\sd\cardreader.cpp:170:17: error: 'strcasecmp' was not declared in this scope which I fixed by adding #include <strings.h> to the top

I think I'll try to disconnect the lcd and connect to the serial directly and see what happens

Same thing over usb terminal via putty UUNNKKNNOOWWNN CCOOMMMMAANNDD FFOORRMMAATT{RI:192.168.0.106{RI:192.168.0.106

                                                                          UUNNKKNNOOWWNN  CCOOMMMMAANNDD  FFOORRMMAATT{RC:C{RC:C

                                                eecchhoo::eennqquueeuueeiinngg  ""G1 X-20.0G1 X-20.0""

                      eecchhoo::eennqquueeuueeiinngg  ""G91G91""

                                                                eecchhoo::eennqquueeuueeiinngg  ""M18M18""

zerg32 avatar May 02 '18 06:05 zerg32

That’s truly strange. It looks like a baudrate issue more than anything, but USB doesn’t normally use baud.

On May 1, 2018, at 11:10 PM, zerg32 [email protected] wrote:

CCOOMMMMAANNDD

xC0000005 avatar May 02 '18 06:05 xC0000005

Found it and partially fixed. I've remove the second serial port and set the first one to use usb

#define SERIAL_PORT -1 //#define SERIAL_PORT_2 -1

It looks like it decided that both serials are pointing to the same USBSerial. Not sure why, I've got lost in defines

LCD works, Prointerface works.

zerg32 avatar May 02 '18 07:05 zerg32

MultiHost is something I have disabled in my personal config, which explains why I don’t see it.I’m glad it looks like the LCD works - feed rate support is NOT implemented yet, it’s on my todo list. See if it prints!

On May 2, 2018, at 12:09 AM, zerg32 [email protected] wrote:

Found it and partially fixed. I've remove the second serial port and set the first one to use usb

#define SERIAL_PORT -1 //#define SERIAL_PORT_2 -1

It looks like it decided that both serials are pointing to the same USBSerial. Not sure why, I've got lost in defines

LCD works, Prointerface works.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-385884605, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcX0EVTRsCUg4KoOZmsSgUnmBn3juks5tuVu6gaJpZM4TKf-a.

xC0000005 avatar May 02 '18 07:05 xC0000005

Prints! But accelerations are to fast for my extended bed

Do you know if it is safe to enable eeprom support?

If I have a bit of free time I'll check what do I need to change in the lcd code to make this thing work https://github.com/nokemono42/MP-Select-Mini-Web it allows to run any command on the printer in the browser

zerg32 avatar May 02 '18 07:05 zerg32

You need these two options enabled: #if ENABLED(EEPROM_SETTINGS) && ENABLED(FLASH_EEPROM_EMULATION)

On May 2, 2018, at 12:26 AM, zerg32 [email protected] wrote:

Prints! But accelerations are to fast for my extended bed

Do you know if it is safe to enable eeprom support?

If I have a bit of free time I'll check what do I need to change in the lcd code to make this thing work https://github.com/nokemono42/MP-Select-Mini-Web https://github.com/nokemono42/MP-Select-Mini-Web it allows to run any command on the printer in the browser

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-385887922, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcdTwGInR7OqlWNPxAa8cZ_RfoKYRks5tuV-JgaJpZM4TKf-a.

xC0000005 avatar May 02 '18 07:05 xC0000005

Interesting I don't have any issues with usb

One thing I did notice is the LCD never updates to a printing menu like stock did

If the temps are set via a gcode file,, during the preheat the printer doesn't accept any other temp commands...I I had a file set to 230 but had planned I. ..I tired running term commands from octoprint it would send ocotoprint gui would quickly change to the new value then back immediately to 230. It did this until it reached 230 then I was able to drop it to 205

Still a bit of buzzing in my dual z axis..going to look at my speeds and stuff

Injineers avatar May 02 '18 11:05 Injineers

The temperature thing occurs because unlike Malyan’s codebase, I”m not directly manipulating the temperature manager (I believe that the parser reaches out and just sets the hotend target on the native firmware.). What happens is that my LCD code queues up a set temperature command, and it uses the _now variant so you don’t have to wait for a ton of commands to play through, but let’s say the gcode file sends M109 S190 and then you adjust it from the LCD. If you have a terminal queued up, you’ll see it echo and enqueue the set temperature command, but…

the first one is a wait command, and additional commands (even _now ones) don’t get processed until it completes. Malyan’s UI does a nifty trick of saying “Your new temperature is ” while they wait for the motion controller to echo back that it’s changing it, but in Marlin, what happens is that the UI updates, and a moment later the motion controller (correctly) reports the target temperature—which is still whatever the gcode sent, since we’re in a wait to adjust it. If you want, in malyanlcd.cpp, in the temp command, just set the manager’s target hotend temperature directly. I chose to do it via gcode because it involved less direct poking around in the rest of Marlin’s codebase to graft on the malyan LCD.

On May 1, 2018, at 10:32 PM, JC Nelson [email protected] wrote:

“Does not work correctly” means the printer doesn’t show up? Is this a V1 or V2?

On May 1, 2018, at 10:17 PM, zerg32 <[email protected] mailto:[email protected]> wrote:

Hi Another user on M200/MP Select mini here. I can confirm that usb does not work correctly in the latest version

Do you know when it was still working so I can build the older code?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-385867398, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcXch3bc1YZ8lFf4pQhekMAR3ZIfiks5tuUF5gaJpZM4TKf-a.

xC0000005 avatar May 02 '18 18:05 xC0000005

Any idea how to have the printer update/change the LCD UI to show an active print?

I run most/all my prints from Octoprint, on stock FW the LCD would change to an active printing screen, showing temps & percent done, with also a speed option.

I use the speed option alot mostly decreasing the speed when I need to/start hearing slipping on the extruder (i like to print fast...not so much on quality with my initial designs)

however on the Marlin FW, the screen never changes.. anyway we can get the controller to send a msg to the LCD when a print starts?

Injineers avatar May 02 '18 18:05 Injineers

Yes. The problem here is that from the printer’s POV, there’s almost nothing happening, so the firmware never sends a {SYS:BUILD command. There’s a GCODE command that sets an LCD message, and it’s probably possible to implement a handler for that which would make the printer switch screens. The LCD responds to the BUILD command by switching to the print UI, so that’s what needs to happen.

On May 2, 2018, at 11:45 AM, Eno423 [email protected] wrote:

Any idea how to have the printer update/change the LCD UI to show an active print?

I run most/all my prints from Octoprint, on stock FW the LCD would change to an active printing screen, showing temps & percent done, with also a speed option.

I use the speed option alot mostly decreasing the speed when I need to/start hearing slipping on the extruder (i like to print fast...not so much on quality with my initial designs)

however on the Marlin FW, the screen never changes.. anyway we can get the controller to send a msg to the LCD when a print starts?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-386080379, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcbQZgq8m8HxzNDkKb7V2DQ-yU2Rxks5tuf66gaJpZM4TKf-a.

xC0000005 avatar May 02 '18 18:05 xC0000005

Printer is working good with marlin. Do not care about lcd anymore because I've switched to octoprint

Have you been able to enable motherboard cooling fan ? It seems to be enabled in the config but does not work

zerg32 avatar May 19 '18 22:05 zerg32

The Motherboard cooling fan doesn’t work on all systems, since the second iteration of it reversed the transistor that enables it. I’ve heard that flipping the transistor re-enables it. Yes, I’m using Fan1 as my E0_auto fan, and Fan2 (the CPU fan) as the part cooling fan.

On May 19, 2018, at 3:51 PM, zerg32 [email protected] wrote:

Printer is working good with marlin. Do not care about lcd anymore because I've switched to octoprint

Have you been able to enable motherboard cooling fan ? It seems to be enabled in the config but does not work

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-390437776, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcdPxdkaLVapwsiA2YXWACf6F6K1jks5t0KHdgaJpZM4TKf-a.

xC0000005 avatar May 19 '18 23:05 xC0000005

I have my BLtouch on its way & wanted to try to get it working with the mps controller

In regards to using the un-populated header, would these 2 be the pins you were referring to? https://i.imgur.com/1zWCORT.jpg?1

also what would they correspond pin wise as I "try" to reconfigure my configuration

Injineers avatar Jun 02 '18 02:06 Injineers

No, the four I was thinking of are the horizontal line right below the resonator. There’s two pins in the middle that are the RX/TX pins for USART2.

On Jun 1, 2018, at 7:51 PM, Eno423 [email protected] wrote:

I have my BLtouch on its way & wanted to try to get it working with the mps controller

In regards to using the un-populated header, would these 2 be the pins you were referring to? https://i.imgur.com/1zWCORT.jpg?1 https://i.imgur.com/1zWCORT.jpg?1 also what would they correspond pin wise as I "try" to reconfigure my configuration

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-394052374, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcUbJTH8UYakggvXI0uby7bPRrJqXks5t4f2hgaJpZM4TKf-a.

xC0000005 avatar Jun 02 '18 03:06 xC0000005

I have a V1 with the stock board I want to compile for. I don't mean to hijack this thread, but I have some questions about where to start. Which branch of your Marlin repo should I use? I want to use the z-endstop as a bed probe. Does the stock z-axis stepper keep up with the bed leveling okay? If there's a better place to be asking these questions let me know.

numanair avatar Jun 03 '18 01:06 numanair

ok. thanks

looks through the malyan pln file & configuration.h I think this is a bit over my head.

I assume something needs to be configured config.h that says I have a BLtouch, then I assume it looks at the minis Ping file. That I then assume needs some information in regards to the pin assignment

but I dont know what needs to go into the pins file

Injineers avatar Jun 03 '18 02:06 Injineers

One step at a time. I’ve never configured a BL-Touch, so I did some reading, and things aren’t as bad as they seem. Your BL Touch comes with two harnesses - one three pin, one two pin. The two pin you want to eventually hook up to the Z endstop (BUT NOT YET). The Z endstops are JST connectors, the wiki has the size. Before you can hook it, you need to lookup the trace to cut to convert it to 3.3v. Do that. There’s no going back now, is there?

So you have BL Touch that’s safe to plug into the mini now (once you solder on a JST connector). What about that other, 3 pin connector?

One of those pins is ground. That’s easy enough. ONE of those pins is +5v. You’ll need to wire a buck converter (feel free to get a cheap 12v->5v fixed one, not the adjustable kind, unless you want to.
That leaves us one last lead in that cable, and here’s where you are exactly right - you need a pin definition. The pin of choice if your fan 2 header is populated is almost certainly one of the TX2 RX/TX pins. That’s PA3 or PA4, depending on which dot you solder it to. The serial2 line of dots is just below the crystal. The holes go all the way through, so a smart way to do it is to solder from the bottom, heating up a pin and pushing it through.

Now…we have to make a few more changes. in pins.h, you want to #define SERVO0_PIN PA3 (or 4). Recompile. You’re out ahead of me in this regard - I’ve never done this, so there may be issues with servos I don’t know about. BUT…this should get you started.

On Jun 2, 2018, at 7:30 PM, Eno423 [email protected] wrote:

ok. thanks

looks through the malyan pln file & configuration.h I think this is a bit over my head.

I assume something needs to be configured config.h that says I have a BLtouch, then I assume it looks at the minis Ping file. That I then assume needs some information in regards to the pin assignment

but I dont know what needs to go into the pins file

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-394130402, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcZmtiVP-QXdNHCB49MGGWGO_fFO6ks5t40pXgaJpZM4TKf-a.

xC0000005 avatar Jun 03 '18 03:06 xC0000005

You can compile directly from Marlin’s bugfix-2.0.x, there’s no need to use my forks. Copy over the example configs. There is one major problem - pretty much all the branches have SERIAL2 deifined - comment that sucker out and you should be largely in business. You’ll need the board json file from my toolchain repo and the variant definition from the same place, but that should get you running.

On Jun 2, 2018, at 6:22 PM, numanair [email protected] wrote:

I have a V1 with the stock board I want to compile for. I don't mean to hijack this thread, but I have some questions about where to start. Which branch of your Marlin repo should I use? I want to use the z-endstop as a bed probe. Does the stock z-axis stepper keep up with the bed leveling okay? If there's a better place to be asking these questions let me know.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/xC0000005/M200Toolchain/issues/1#issuecomment-394128132, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcVRMOtf73XhMbSOH9kLwS1wppjH7ks5t4zpogaJpZM4TKf-a.

xC0000005 avatar Jun 03 '18 04:06 xC0000005

@xC0000005 since I have a gen 1 board, v1 board i only have 1 (known) fan output. there is an unpopulated header near the display. Is that what you are considering fan2?

Injineers avatar Jun 07 '18 20:06 Injineers

No, the one near the display is SWD. The Com2 headers are immediately beneath the crystl/to the left of the MCU if the board is held so the USB connector is up and the chip side is facing you. I’ll get you a picture when I’m home.

On Jun 7, 2018, at 1:46 PM, Eno423 [email protected] wrote:

display

xC0000005 avatar Jun 07 '18 21:06 xC0000005

That’s Serial 2 right above the crystal. Look at the gidigit page and you can see how there’s a header on this on the newest boards.

On Jun 7, 2018, at 1:46 PM, Eno423 [email protected] wrote:

@xC0000005 since I have a gen 1 board, v1 board i only have 1 (known) fan output. there is an unpopulated header near the display. Is that what you are considering fan2?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

xC0000005 avatar Jun 08 '18 01:06 xC0000005

do you have a link for the gidigit page? I am not sure what that is

Injineers avatar Jun 19 '18 01:06 Injineers

www.gigdigit.com. I ordered the cheapest bl-touch clone I could find and when it arrives I'll see what it takes to make it work with the mini. For sure we'll need the servo lib (which just uses PWM) to work.

xC0000005 avatar Jun 25 '18 19:06 xC0000005

One step at a time. I’ve never configured a BL-Touch, so I did some reading, and things aren’t as bad as they seem. Your BL Touch comes with two harnesses - one three pin, one two pin. The two pin you want to eventually hook up to the Z endstop (BUT NOT YET). The Z endstops are JST connectors, the wiki has the size. Before you can hook it, you need to lookup the trace to cut to convert it to 3.3v. Do that. There’s no going back now, is there? So you have BL Touch that’s safe to plug into the mini now (once you solder on a JST connector). What about that other, 3 pin connector? One of those pins is ground. That’s easy enough. ONE of those pins is +5v. You’ll need to wire a buck converter (feel free to get a cheap 12v->5v fixed one, not the adjustable kind, unless you want to. That leaves us one last lead in that cable, and here’s where you are exactly right - you need a pin definition. The pin of choice if your fan 2 header is populated is almost certainly one of the TX2 RX/TX pins. That’s PA3 or PA4, depending on which dot you solder it to. The serial2 line of dots is just below the crystal. The holes go all the way through, so a smart way to do it is to solder from the bottom, heating up a pin and pushing it through. Now…we have to make a few more changes. in pins.h, you want to #define SERVO0_PIN PA3 (or 4). Recompile. You’re out ahead of me in this regard - I’ve never done this, so there may be issues with servos I don’t know about. BUT…this should get you started. On Jun 2, 2018, at 7:30 PM, Eno423 @.***> wrote: ok. thanks looks through the malyan pln file & configuration.h I think this is a bit over my head. I assume something needs to be configured config.h that says I have a BLtouch, then I assume it looks at the minis Ping file. That I then assume needs some information in regards to the pin assignment but I dont know what needs to go into the pins file — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#1 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AeppcZmtiVP-QXdNHCB49MGGWGO_fFO6ks5t40pXgaJpZM4TKf-a.

Hey @xC0000005, sorry for resurrecting an old topic, but I was hoping that you could help me out with the first part, specifically Before you can hook it, you need to lookup the trace to cut to convert it to 3.3v. Do that..

I have soldered on a JST on the Serial2 (my v2 is probably older, and doesn't have that connector), I have been running Marlin for a while, I've printed a bracket for the BL-Touch, so Z endstop is the only thing that I have to figure out.

I have a buck converter for 12V to 5V for the BL-Touch, also powers a bi-directional logic converter (4 channels) for the servo's logic. Might seem like a stupid question, but can I just pass the Z endstop (2 pins) from my BL-Touch, to the logic converter, to the control board's Z endstop JST?

jValdron avatar Apr 30 '20 15:04 jValdron

I'll have to look into the code further, or at least update my codebase. I'm currently using an older m200fixes branch of yours, which doesn't seem to compile with BLTOUCH enabled:

In file included from /tmp/arduino_build_21859/sketch/src/HAL/shared/servo.cpp:60:
/tmp/arduino_build_21859/sketch/src/HAL/shared/servo_private.h:51:4: error: #error "This library only supports boards with an AVR or SAM3X processor."
   #error "This library only supports boards with an AVR or SAM3X processor."
    ^~~~~

jValdron avatar Apr 30 '20 18:04 jValdron