Makerbase Robin Nano 3.1 won't flash

Same fix for g28 y, change sign in front of the endstop pin, along with the location because the switch is at the back of the bed.

But…

Despite the machine being specified as a corexy. homing Y also moves X to the middle of the bed or beyond.
And a g28 xy went on to Z moving it down forever.
Fixed that, but I’m now convinced I have a bad board, it homes all 3 axises, but moves Y to the front while homing X, them moves X all the way right while homing Y, then homes Z correctly w/o moving the z2 cable from the 2nd extruder socket. Those 2 motors are belted together in the bottom of the machine, so it is possible the 1st Z motor was doing it all because the extruder 2 wasn’t energized, it not even described in the printer,cfg, which should have locked that motor. To be determined, but since that is about the same as I got from Marlin.

I’m convinced. unless you have a different opinion, that I have a bad MKS_Robin_nano_V3.1 board. It is a cast iron bitch to change, but I’ll do it tomorrow,

Thank you Sineo.

It sounds like the board is fine and you need to edit your config to make it work with your printer. This will require you to spend some time reading the Klipper documentation and go through initial startup and tuning.

https://www.klipper3d.org/Config_checks.html

this .cfg is set for corexy, which I have not mentioned lately.

I get to page 3 and STEPPER_BUZZ, then the results agree with my bad
board or wrong pins conclusion. setting =stepper_x gets a semi random
diagonal motion in a trapezoidal pattern that lack consistency, while
stepper_y gets me mostly x motion. Not pure, and in both cases more than
1mm as that document states, 3mm maybe. stepper_z works but again is
more that the 1mm bounce, 3 or 4 I’d guess.

These motion errors pretty well match the results when Marlin is
installed. That in my mind means the V3.1 pins aren’t the same as V3.0,
or the board is fubar. If anyone can find me a valid pin listing for the
MKS_Robin_nano_v3.1 board, I’ll check them in printer.cfg. The one V3.1
pdf I’ve found that shows the pins by names, shows them in 5 or 6 point
type, in yellow ink on glossy photo paper and they had to know that
would make them impossible to read even with a very strong glass.

What I started with is not a twotrees config because all of those are
for the V1.2 or earlier boards with different pinouts, so I started with
an example nano_V3.1.cfg from two years ago. MKS is, IMO way too close
to their chest with valid info for the whole Robin Nano family of
boards. I am encouraged, and have a second board to swap in, but this is
a lot like what happened to the V1.2 board after I resoldered a broken
wire on the x home switch while fixing a freeze up. The X home switch is
on the carriage, and in the way when working on the hotend.

Thanks Jake, take care & stay warm and well where ever you are on this
ball of rock and water.

Cheers, Gene Heskett.

Assuming:

  • Printer: Sapphire Plus (SP-5)
  • MCU: MKS Robin Nano V3

Try following config:

# This file contains common pin mappings for MKS Robin Nano V3
# boards. To use this config, the firmware should be compiled for the
# stm32f407. When running "make menuconfig", select the 48KiB
# bootloader, and enable "USB for communication".

# The "make flash" command does not work on the MKS Robin. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "Robin_nano_v3.bin" on an SD card and then restart the
# MKS Robin with that SD card.

# See docs/Config_Reference.md for a description of parameters.

[stepper_x]
step_pin: PE3
dir_pin: !PE2
enable_pin: !PE4
microsteps: 16
rotation_distance: 40
endstop_pin: PA15
position_endstop: 0
position_max: 300
homing_speed: 50

[stepper_y]
step_pin: PE0
dir_pin: !PB9
enable_pin: !PE1
microsteps: 16
rotation_distance: 40
endstop_pin: !PD2
position_endstop: 300
position_max: 300
homing_speed: 50

[stepper_z]
step_pin: PB5
dir_pin: PB4
enable_pin: !PB8
microsteps: 32
rotation_distance: 8
endstop_pin: !PC8
position_endstop: -1.0
position_max: 340

[extruder]
step_pin: PD6
dir_pin: !PD3
enable_pin: !PB3
microsteps: 32
gear_ratio: 50:17
rotation_distance: 23.52
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PE5
sensor_type: EPCOS 100K B57560G104F # Stock
sensor_pin: PC1
control: pid
pid_Kp: 14.669
pid_Ki: 0.572
pid_Kd: 94.068
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
control: pid
pid_Kp: 325.10
pid_Ki: 63.35
pid_Kd: 417.10
min_temp: 0
max_temp: 130

[fan]
pin: PC14   # fan1
#pin: PB1 # fan2

[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_56003F000450465731373320-if00
restart_method: command

[printer]
kinematics: corexy
max_velocity: 250
max_accel: 4500
max_z_velocity: 15
max_z_accel: 100

[bed_screws]
screw1: 35,35
screw2: 275,35
screw3: 275,275
screw4: 35,275

########################################
# EXP1 / EXP2 (display) pins
########################################

[board_pins]
aliases:
    # EXP1 header
    EXP1_1=PC5,  EXP1_3=PD13, EXP1_5=PE14, EXP1_7=PD11, EXP1_9=<GND>,
    EXP1_2=PE13, EXP1_4=PC6,  EXP1_6=PE15, EXP1_8=PD10, EXP1_10=<5V>,
    # EXP2 header
    EXP2_1=PA6, EXP2_3=PE8, EXP2_5=PE11, EXP2_7=PE12,  EXP2_9=<GND>,
    EXP2_2=PA5, EXP2_4=PE10, EXP2_6=PA7, EXP2_8=<RST>, EXP2_10=<3.3v>
    # Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "ssp1"

# See the MKS Lcd Config path file for definitions of common LCD displays.

If it does not work, briefly state what’s not working and attach the klippy.log file

The touch display (MKS TS35 V2.0) is not supported by Klipper directly. With the respective web-interfaces, it should not be needed either.

There is a difference between the V3.0 board this is based on, and the
V3.1 boards I have. MKS says so on their web pages But they don’t say
what the diffs are. Helpful? not!

[bed_screws] screw1: 35,35 screw2: 275,35 screw3: 275,275 screw4: 35,275 |

That’s the only thing I was missing in my printer.cfg

The STEPPER_BUZZ STEPPER=stepper_x still moves in about a 1x3 trapezoid
at a 45 degree angle

The STEPPER_BUZZ STEPPER=stepper_y moves x mostly and only about 1 mm.

The STEPPER_BUZZ STEPPER=stepper_z moves up and down about 4 mm with
the motor plugged into the 6th motor socket or the 4th motor socket
which seems to be paralleled with the 3rd motor socket on this v3.1
board. The 6th socket is labeled for a second extruder which this
printer does not have.

And what do I turn on to generate a klippy.log?

A “sudo updatedb && locate klippy.log” on the bpi5 running klipper finds
nothing.

Tank you Sineos.

Cheers, Gene Heskett.

The file is /tmp/klippy.log
Please just attach the whole unmodified file

Its nearly 400k and I had to cp it to /home/me/src/klipper to get it
someplace my security minded sshfs setup could see. Is updatedb somehow
enjoined from seeing it?

Cheers, Gene Heskett.

klippy.log (299 KB)

Edit: Again removed the unneeded full quotes and email crap. Please refrain from doing so.

Looks quite good now. The config blocks for your TMC2209 are missing. Add:

[tmc2209 stepper_x]
uart_pin: PD5
interpolate: false
sense_resistor: 0.110
run_current: .8

[tmc2209 stepper_y]
uart_pin: PD7
interpolate: false
sense_resistor: 0.110
run_current: .8

[tmc2209 stepper_z]
uart_pin: PD4
interpolate: false
sense_resistor: 0.110
run_current: .8

[tmc2209 extruder]
uart_pin: PD8
interpolate: false
sense_resistor: 0.110
run_current: .8

Note the run_current. This needs to be set according to the stepper motors you are using. Refer to Hold_current and run_current -- TMC2209 - #5 by Sineos for some additional information

From your current config:

[stepper_x]
step_pin = PE3
dir_pin = !PE2
enable_pin = !PE4

I’d be surprised if the enable_pin required to be inverted (!).

Inverting dir_pin is possible depending on your stepper wiring. Use this to make sure the steppers turn the right direction

[Sineos] Sineos https://klipper.discourse.group/u/sineos
January 7

Looks quite good now. The config blocks for your TMC2209 are missing. Add:

[tmc2209 stepper_x] uart_pin: PD5 interpolate: false sense_resistor:
0.110 run_current: .8 [tmc2209 stepper_y] uart_pin: PD7 interpolate:
false sense_resistor: 0.110 run_current: .8 [tmc2209 stepper_z]
uart_pin: PD4 interpolate: false sense_resistor: 0.110 run_current: .8
[tmc2209 extruder] uart_pin: PD8 interpolate: false sense_resistor:
0.110 run_current: .8 |

did that by copy/paste, then activate the enable pins after it would do
anything, made no difference nothing works now, mcu problems.
cleared the log, new one attached.

Note the |run_current|. This needs to be set according to the stepper
motors you are using. Refer to Hold_current and run_current – TMC2209 -
#5 by Sineos
https://klipper.discourse.group/t/hold-current-and-run-current-tmc2209/1171/5 for some additional information

From your current config:

[stepper_x] step_pin = PE3 dir_pin = !PE2 enable_pin = !PE4 |

I’d be surprised if the |enable_pin| required to be inverted (!).

The drivers used for linuxcnc all default to enabled if that pin is
disconnected, not driven by anything. I’m not sure about the TMC2209’s
so I tried both ways, but cannot now talk to the mcu ack the octoprint
terminal, It did report with the ! sign there, that it couldn’t read the
x uart IFCNT. now with the !sign remove, the printer is reported to be
shut down but the motors for the 3 axis are enabled, so I’ll change that
back.

Inverting |dir_pin| is possible depending on your stepper wiring. Use
this to make sure the steppers turn the right direction


Visit Topic
https://klipper.discourse.group/t/makerbase-robin-nano-3-1-wont-flash/5579/28 or reply to this email to respond.

To unsubscribe from these emails, click here
https://klipper.discourse.group/email/unsubscribe/c00dc5b451d1ccf2bbfe29e8119e2175b92277731f15b086c9c911caae22f9b2.

Cheers, Gene Heskett.

klippy.log (230 KB)

[Sineos] Sineos https://klipper.discourse.group/u/sineos
January 7

Looks quite good now. The config blocks for your TMC2209 are missing. Add:

[tmc2209 stepper_x] uart_pin: PD5 interpolate: false sense_resistor:
0.110 run_current: .8 [tmc2209 stepper_y] uart_pin: PD7 interpolate:
false sense_resistor: 0.110 run_current: .8 [tmc2209 stepper_z]
uart_pin: PD4 interpolate: false sense_resistor: 0.110 run_current: .8
[tmc2209 extruder] uart_pin: PD8 interpolate: false sense_resistor:
0.110 run_current: .8 |

Note the |run_current|. This needs to be set according to the stepper
motors you are using. Refer to Hold_current and run_current – TMC2209 -
#5 by Sineos
https://klipper.discourse.group/t/hold-current-and-run-current-tmc2209/1171/5 for some additional information

From your current config:

[stepper_x] step_pin = PE3 dir_pin = !PE2 enable_pin = !PE4 |

I’d be surprised if the |enable_pin| required to be inverted (!).

Inverting |dir_pin| is possible depending on your stepper wiring. Use
this to make sure the steppers turn the right direction

With enables back to where they were, inverted, the motor are now semi
free, acting like the coils are shorted, moving freely with a viscous
feeling. Temps both to 40C works, no motor response now.


Visit Topic
https://klipper.discourse.group/t/makerbase-robin-nano-3-1-wont-flash/5579/28 or reply to this email to respond.

To unsubscribe from these emails, click here
https://klipper.discourse.group/email/unsubscribe/c00dc5b451d1ccf2bbfe29e8119e2175b92277731f15b086c9c911caae22f9b2.

Cheers, Gene Heskett.

For god’s sake, STOP this full quoting and email crap! Really, last warning.

TMC stepper_x failed to init: Unable to read tmc uart 'stepper_x' register IFCNT
TMC stepper_y failed to init: Unable to read tmc uart 'stepper_y' register IFCNT
TMC stepper_z failed to init: Unable to read tmc uart 'stepper_z' register IFCNT
TMC extruder failed to init: Unable to read tmc uart 'extruder' register IFCNT

This means that Klipper was unable to communicate with a tmc2209 stepper motor driver. This often happens when power is applied to the micro-controller, but not to the stepper motors.

  • Make sure power is fully up
  • Double check the wiring.
  • Double check that your board is really jumpered to UART

What driver modules do you use? And in my original config there was a typo: Extruder pin for E0 needs to be PD9 not PD8

If you want the email to stop show me how to attach a file to a reply done in fire fox. This is the first time I’ve tangled with a discord server and that function seems to be missing, I do note an upload button above now, but in normal browsing of discord messages, I do NOT see my own posts, and that upload button does not then exist if I’m reading someone elses msg.

Take care, stay warm and well, Sineos

image

Or simply drag and drop the file to your post

Sorry for interrupting here but I have a question.

When you put in the '2209 blocks like:

[tmc2209 stepper_z]
uart_pin: PD4
interpolate: false
sense_resistor: 0.110
run_current: .8

You include the internal sense_resistor parameter. I don’t use it/comment out the line because the documentation says that “0.110” is the default.

Should it be included in the definition?

IDK Myke. What I do note is that no motor has moved since I put that in for each axis,
printer.cfg (2.8 KB)

Maybe you can see why?

Cheers, Gene

Did you read Makerbase Robin Nano 3.1 won't flash - #32 by Sineos?
What are your driver modules? And I still believe that the enable_pin shall not be inverted.

Basically you are correct. My personal choice is to include some default settings in the cfg nevertheless. Makes it easier not to forget something when playing around and then wondering why things stopped working.

1 Like

I took that out with # in front of it, restarted everything except the bpi5 itself and octoprint. it acts ok on the restart, but any attempt to move a motor is dead, octoprint terminal says:
octoterm.txt (347 Bytes)
no motor has moved since I put the tmc2209 stuff in printer,cfg

Cheers, Gene

wiith /tmp/klippy.log rm’d and /etc/init.d/klipper restarted, this upload in the first 240 lines of the log, with the last 6 lines being repeated at 1 second inteerval per line since. I have now stopped klipper because the log is over 2 megabytes already. Perhaps this head of that file will show the cause of the failure:

but discord won’t let me upload it, name extension error, picky picky

klippy.log (8.6 KB)

had to rename it to a .log, it is the head 240 lines. the next 2 megabytes is 2 line repeats at 1 second intervals.

And I repeat, this is based on the generic V3.0 version of this card, but the cards are v3.1’s not 3.0’s.
pin usage has changed according to the makebase site. Somebody with the chops to get a reply should be asking them, I did not get a reply when I did. I am being abused by their server though.

Cheers Gene

mcu 'mcu': got {'#receive_time': 157205.152362085, u'next_clock': 872145152, u'oid': 14, u'value': 31110, '#name': u'analog_in_state', '#sent_time': 157205.113017294}
mcu 'mcu': got {'#receive_time': 157205.212336627, u'next_clock': 882225152, u'oid': 20, u'value': 31097, '#name': u'analog_in_state', '#sent_time': 157205.113017294}
mcu 'mcu': got {'#receive_time': 157205.452405627, u'next_clock': 922545152, u'oid': 14, u'value': 31105, '#name': u'analog_in_state', '#sent_time': 157205.113017294}
mcu 'mcu': got {'#receive_time': 157205.512412627, u'next_clock': 932625152, u'oid': 20, u'value': 31098, '#name': u'analog_in_state', '#sent_time': 157205.113017294}
mcu 'mcu': got {'#receive_time': 157205.752354211, u'next_clock': 972945152, u'oid': 14, u'value': 31104, '#name': u'analog_in_state', '#sent_time': 157205.113017294}
mcu 'mcu': got {'#receive_time': 157205.812337127, u'next_clock': 983025152, u'oid': 20, u'value': 31097, '#name': u'analog_in_state', '#sent_time': 157205.113017294}

These are regular status messages.
Try to move some steppers and if there is an error post the log.

I already posted here the Makerbase official pinout: Makerbase Robin Nano 3.1 won't flash - #12 by Sineos
If the pins in your config match with this then everything is fine.

And if you do not care to follow the directions or answer to my questions, e.g. Makerbase Robin Nano 3.1 won't flash - #37 by Sineos or Makerbase Robin Nano 3.1 won't flash - #32 by Sineos, then I’m out of the game now. I do not need to waste my time with someone who thinks he knows better.

Good luck.