As far as I know A4982 have never been supported in official Marlin. However, previously the default configuration file would simply have all of the drivers commented out (which made them act like A4988s). The good news is that the A4982s and A4988s are so similar that you can simply use the latter setting and everything will work. See for example the configuration for the AlephObjects TAZ4 whichby MMcLure - Firmware - Marlin
The only thing that seems odd to me is that you have the wrong comment on the G90 - that's setting the extruder to absolute mode, not relative mode. But that's what you want if you are going to be using G92 to reset the extruder position between moves. So this is a strange issue.by MMcLure - Firmware - Marlin
Marlin has grown to the point where it is running into the limitations of Arduino. For that reason it is now highly recommended to switch to VSCode with PlatformIO as a build environment as documented at Install with PlatformIO. Note that PlatformIO also produces smaller binaries than Arduino which might help fix Marlin on controller boards with less flash.by MMcLure - Printing
Another option if you want to keep using the RAMPS is to replace the Mega with a Re-ARM. It has a 32 bit processor (LPC1768) that's well supported under Marlin and has a proper switching voltage regulator.by MMcLure - General
Also, I noticed that the guide you linked to is using a NO sensor, while you indicate that your sensor is NC, so you should expect to see the opposite. I.e. when the sensor is triggered (open) you should see the higher voltage, and when the sensors is not triggered (closed) you should see the low voltage.by MMcLure - Controllers
QuoteNateREDIT: Spent the evening reading about this and trying to figure out what's wrong... Even after following this guide word-for-word, setting it up exactly the same, I was getting between 7v and 8v coming back through the diode where he specifies it should be 0.7v (yes, I verified the scale on the multimeter). In the end, I just decided to go the optocoupler route. "coming back through thby MMcLure - Controllers
This is a classic symptom of a twisted X axis which is a very common occurrence in Prusa-style double rod X axis designs. Unless your Y probe offset is 0, any twist in the X axis (i.e. the rods are not exactly parallel) will cause the distance between the nozzle tip and the sensor trigger point to change as you move across X. Imagine the following with the standard 2-rod X axis (this is what myby MMcLure - Firmware - Marlin
The Z endstop connector on the SKR 1.4 has a pull-up resistor that will take the pin to 3.3V if nothing is connected. So the 3.3V is normal and expected. The diode needs to be connected with the cathode (the line) towards the sensor - that way if the sensor puts more than 3.3V on the cathode the pin on the MCU will just see the 3.3V from the pull-up resistor. The NPN sensor will pull the cathodeby MMcLure - Controllers
I use JST SM for all connections at the hot end except for the heater cartridge. I like these because they have a lock so they won't come apart with vibration/hot end movement. For the heater cartridge I use XT30s (XT60s little brother).by MMcLure - General
I've been using PEI for a few months. I have to print PETG at a higher start offset than PLA or else it sticks too well, but otherwise I'm quite happy with it for PLA and PETG as long as I keep it clean and have a good first layer.by MMcLure - Printing
QuoteOhmarinusTrue, so with a board that already has external pull up resistors, does that mean the setting has zero influence? It doesn't have zero influence - if you enable ENDSTOPPULLUPS on a board that already has built in resistors then you get double the pullup strength (both the onboard and on-chip pull ups would be enabled). It's unlikely to cause a problem with switches, but does end upby MMcLure - General
Is it not showing up at all in the M122 output, or is it showing ALL LOW or ALL HIGH? If the former, make sure you have #define Y_DRIVER_TYPE TMC2209 defined in Configuration.h. If the latter, then it could be several things, from a bad driver to incorrect pins set up for controlling the driver. Without more details such as your configuration files it's hard to tell.by MMcLure - Firmware - Marlin
When using Junction Deviation the extruder jerk is automatically calculated based on the JD value and the maximum extruder acceleration. The value set with M205 is ignored.by MMcLure - Firmware - Marlin
M501? You mean M502, right? M501 just loads the values from EEPROM to RAM, M502 is the one that reads the default values from the compiled firmware.by MMcLure - RAMPS Electronics
To enable full output from M122 you need to enable TMC_DEBUG. by the way.by MMcLure - RAMPS Electronics
The slave system will work fine on any pins that will work at all, so you can use them on 63 and/or 64. Sorry about the confusion with 20 and 21 - I've never actually used UART on an ATMega2560, just on Re-ARM which doesn't have the interrupt requirement. I did know that there was such a requirement but I was confused as to exactly which type of interrupt was required hence my incorrect recommendby MMcLure - RAMPS Electronics
Yup, that was my mistake. I think given that list 63 and 64 on the AUX-2 connector would probably be the best option.by MMcLure - RAMPS Electronics
Someone on the Discord mentioned that they saw ALL LOW if they had enabled SOFTWARE_DRIVER_ENABLE. I doubt that's the problem, but it's worth a check.by MMcLure - RAMPS Electronics
One other thing to try is to test just one driver. Remove all jumpers from under X, set the slave address to 0, and see if that makes a difference.by MMcLure - RAMPS Electronics
Everything looks good to my eyes. This may be something that's better handled in the #trinamic channel on the Marlin Discord where other people can take a look as well.by MMcLure - RAMPS Electronics
Your connections and configuration look right to me. Assuming these are the same drivers that worked on the SKR it's unlikely that the PDN pins are not connected correctly, though it wouldn't hurt to examine the bottom of the driver and make sure the PDN jumper (it's hard to see - a tiny black "0 ohm" surface mount resistor) is in the right place. All of the drivers I've received from BTT have hby MMcLure - RAMPS Electronics
The way slave addresses work is that all drivers connected to the same pin need to have different slave addresses, but drivers on different pins can share a slave address. The combination of pin and slave address needs to be unique for each driver. So I can use the same slave address for Y and Z2 because they are on different pins (21 and 22). The default configuration has all drivers sharing addby MMcLure - RAMPS Electronics
To control 2209s with UART on a RAMPS you can use one pin to control up to four drivers. You need to select a pin that is interrupt-capable, for example D21 or D20 on the I2C connector. You'll need to make a "hydra" cable with one input and multiple outputs. On my setup I have one pin controlling X, Y and Z, and another controlling E0 and Z2 (connected to the E1 driver). The driver has a set of tby MMcLure - RAMPS Electronics
Make sure that you set X_MIN_POS to a negative value. If the X home position is 20mm to the left of the bed then X_MIN_POS should be around -20 (you should measure the exact value to make sure). Once you've done this, do a "G28 X Y" (home only X and Y) followed by a "G0 X0 Y0" and ensure that the nozzle ends up just over the front-left corner of the bed. If not, adjust X_MIN_POS and Y_MIN_POS accby MMcLure - Firmware - Marlin
If you have Z_SAFE_HOMING enabled then the behavior you are seeing is correct. Z_SAFE_HOMING is needed if homing Z with a probe to ensure that the probe is over the bed when homing Z. Note that homing is defined as the printer determining where the 0,0 point is. Where the nozzle ends up after this is irrelevant as long as the nozzle position is correctly determined, which in your case seems to beby MMcLure - Firmware - Marlin
First of all, the Arduino in the Windows Store is very buggy and is known to cause issues building Marlin. If you do want to continue using Arduino to compile Marlin (no longer recommended) you should download the standalone Arduino from arduino.cc. A better option is to switch to using VSCode + PlatformIO as described in - Arduino has severe limitations that the Marlin code base is running agaby MMcLure - Firmware - Marlin
It should be sufficient to just delete the .pio folder that PlatformIO creates in the root of your Marlin folder. Then PlatformIO will re-download all of the libraries and modules required for your Marlin build.by MMcLure - Firmware - Marlin
Most boards use low-side switching for PWM (i.e. the positive wire to the fan always has 12 or 24 volts connected and the ground wire is switched by a MOSFET). If the Einsy Rambo works this way then you can use a buck converter connected to the positive wire on the fan and connect the negative wire to fan connector on the Einsy.by MMcLure - Prusa i3 and variants
PRINTER_EVENT_LEDS should work (whether sequential or not) when an M109 or M190 is executed, whether this is through host software such as OctoPrint or from an SD print. It will not trigger when you do an M104 or M140 since there's no wait involved. It's possible that there's a bug in the sequential code but I know it works with sequential disabled. It shouldn't be necessary to set isSequence exby MMcLure - Firmware - Marlin
Assuming you're on Marlin, the PID_FUNCTIONAL_RANGE variable determines how close you need to be to the set temperature for the PID to kick in. It defaults to 10 which means that the bed and hotend should heat at full power until they are within 10C of the set temperature and then the PID should kick in.by MMcLure - Printing