<p>I've just installed two TMC2208 drivers on my RAMPS board. I followed a very good step by step tutorial and after some issues, I got it nearly to work.</p>
<p>One problem I still have is that when I tell the printer to lift the Z axis by 5 mm, it lifts it by 10 cm.</p>
<p>I haven't changed anything regarding the steps/mm. Previously I had the Pololus, with 1/16 microstepping and now I also have 1/16 on configuration_adv.h file on Marlin 1.1.8</p>
<p>However what I noticed when doing a <code>M122</code> is a line which reads:</p>
<pre><code>msteps 256
</code></pre>
<p>which sounds like the microstepping was set at 1/256 instead.</p>
<p>Maybe somebody could tell me if I missed something?</p>
<p><strong>UPDATE:</strong></p>
<p>After some more digging into it, here is what I've done so far:</p>
<ul>
<li>Solder the pins on the driver. Original from Watterrot</li>
<li>Solder the bridge pads for enabling UART communication</li>
<li>Solder the pin for the communication heading upwards</li>
<li>Change the <code>configuration_adv.h</code> on Marlin (1.1.8) and enable all that is to enable: USE_TMC2208, Enable debugging, selecting the Z axis, etc</li>
<li>Check the pins on <code>pins_RAMPS.h</code> and make sure they are available in my setting</li>
<li>Make a Y cable with the 1 kOhm resistor for the TX pin</li>
<li>Hook everything up</li>
</ul>
<p>No matter what I did, the motor moves twice as much as requested. Although I set up 1/16 microstepping, the same I had with my Pololus, I performed the reverse calculation to find out that the actual microstepping on the driver is 1/8.</p>
<p>After more investigation, the issue seems to be that the driver is not recognized at all by the Marlin/Board. Thinking that it was a problem with the TX/RX communication, I dug into the available info out there and I found this, <a href="https://github.com/MarlinFirmware/Marlin/issues/9396" rel="nofollow noreferrer">Bug: TMC2208 UART Communication uses wrong pins for SoftwareSerial #9396</a>.</p>
<p>I proceeded to change the assigned pins for serial RX/TX, but everything is exactly the same.</p>
<p>I tried a different Arduino (original), another RAMPS board and even the 1.1.x and 2.0 bugfix branches from Marlin.</p>
<p>It seems that the driver is on &quot;legacy&quot; mode and software manipulation is not possible. Although I went through the steps to enable it.</p>

[{'answer_id': 5990, 'author': '0scar', 'author_id': 5740, 'author_profile': 'https://3dprinting.stackexchange.com/users/5740', 'pm_score': 1, 'selected': False, 'text': "<p>I don't have these controllers, but I read that with default settings the TMC2208 will interpolate the microsteps set by the I/O configuration pins to\n256 microsteps. Please look into how you set up the dip switches / jumper caps on your board, it seems that only 2 are used (MS1 and MS2). Furthermore, can't you just decrease the count of the array  <code>DEFAULT_AXIS_STEPS_PER_UNIT</code> for the Z entry in your configuration file?</p>\n"}, {'answer_id': 12082, 'author': 'Grigor Tonikyan', 'author_id': 20220, 'author_profile': 'https://3dprinting.stackexchange.com/users/20220', 'pm_score': 0, 'selected': False, 'text': '<p>Most likely your issue is related to the PDN_UART pin on TCM2208 Driver board, on some manufacturers boards the jumper is not set to UART mode by default, so most likely u need to solder jumper to right configuration. Look at datasheet of your driver board.\n for example \n<a href="https://github.com/bigtreetech/BIGTREETECH-TMC2208-V3.0/blob/master/TMC2208-V3.0%20manual.pdf" rel="nofollow noreferrer">https://github.com/bigtreetech/BIGTREETECH-TMC2208-V3.0/blob/master/TMC2208-V3.0%20manual.pdf</a> </p>\n'}]
['https://3dprinting.stackexchange.com/questions/5988', 'https://3dprinting.stackexchange.com', 'https://3dprinting.stackexchange.com/users/8274/']