<p>I've been having trouble uploading the TH3DUF_R2 firmware to my CR-10.  I've already successfully flashed the bootloader using my Arduino,  but when I try to upload the bootloader I get this error:</p>

<p><code>avrdude: ser_open(): can't set com-state for "\\.\COM4"</code></p>

<p>Things I've tried:</p>

<ul>
<li>Changing the usb drivers</li>
<li>Changing the baud rate</li>
<li>Using a different computers without any other usb devices</li>
</ul>

<p>My printer is not functional right now with just a bootloader and no firmware, so I'm not really sure where to go from here.</p>

[{'answer_id': 8606, 'author': '0scar', 'author_id': 5740, 'author_profile': 'https://3dprinting.stackexchange.com/users/5740', 'pm_score': 2, 'selected': False, 'text': '<p>You should not look at the relative dimensional differences, you should be looking at the absolute differences. Multiplying the undersized dimensions in percentage with the cylinder diameter gives you a value of 0.4 &nbsp;mm for each cylinder give or take a few hundreds. So, basically your printer works very consistent it is just suffering from a systematic offset.</p>\n\n<p>Basically, the printing process needs to\nadjust the X-Y dimensions to compensate for plastic flow effects. An option or setting in Ultimaker Cura to counteract this is called <code>Horizontal\ufeff \ufeffExpansio\ufeffn</code>. Slic3r and Simplify3d have similar settings. In Slic3r it is called <code>XY size compensation</code>. </p>\n'}, {'answer_id': 8607, 'author': 'Trish', 'author_id': 8884, 'author_profile': 'https://3dprinting.stackexchange.com/users/8884', 'pm_score': 2, 'selected': False, 'text': '<p>The increase of the <em>relative error</em> is not an anomaly, it is a direct result of what is the actual error: There is a systematic, <strong>absolute error</strong>, which is almost the same for all the cylinders and all the cubes. +0.2\xa0mm or +0.4\xa0mm on progressively smaller items gets a progressively bigger relative error. But the source of the absolute error is what you need to compensate for.</p>\n<h2>Fighting bulging for 0.2\xa0mm accuracy</h2>\n<p>As you figured out that 110% extrusion did halve the absolute error of the cylindrical test, in conjunction with layer deformation, I suggest to try this:</p>\n<ul>\n<li>Extrusion/Flow Multiplier 100\xa0%</li>\n<li>Linewidth 0.44 to 0.45\xa0mm</li>\n</ul>\n<p>This fights the die swell but also spaces the walls and roofing lines, allowing them to take the extra material. 0.2\xa0mm accuracy is pretty good for a start, you get into the specs of many parts with that, but we want more!</p>\n<p>For a slight increase, measure your filament in a couple of spots and do the average, then use that as filament diameter.</p>\n<h2>Increasing Accuracy further</h2>\n<p>If you want to <a href="https://all3dp.com/2/3d-printer-tolerance-test-and-improve-your-3d-printer-s-tolerances/" rel="nofollow noreferrer">go further</a>, proper calibration of the <a href="https://all3dp.com/2/how-to-calibrate-a-3d-printer-simply-explained/" rel="nofollow noreferrer">motion system</a> and the <a href="https://all3dp.com/2/extruder-calibration-6-easy-steps-2/" rel="nofollow noreferrer">extruder</a> are the next steps.</p>\n<h3>Short Calibration Rundown</h3>\n<p>The rundown is extruder first, then possibly the axis.</p>\n<ul>\n<li>Connect your printer to the PC with an interface such as Pronterface or Repetier Host.</li>\n<li>Place a mark 150\xa0mm from the intake of the printer</li>\n<li>Extrude 100\xa0mm via <code>G1 E100 F100</code></li>\n<li>Measure from the intake to the mark.</li>\n<li>Get the current steps per mm via <code>M503</code> - it is the E-entry that follows <code>M92</code></li>\n<li>Calculate <span class="math-container">$\\frac {\\text{current steps per mm }\\times 100}{150 - \\text {remaining length}}=\\text {new steps per mm}$</span></li>\n<li>Set the new steps per mm via <code>M92 E###.#</code> and save with <code>M500</code>, verify with <code>M503</code>.</li>\n</ul>\n<p>The process for the XYZ axis is pretty much the same, but you don\'t need to mark filament. Instead, print a known size cube, best with a side length that is a multiple of 10\xa0mm.</p>\n<ul>\n<li>Calculate <span class="math-container">$\\frac {\\text{current steps per mm }\\times \\text{ designed length}}{\\text {actual length}}=\\text {new steps per mm}$</span></li>\n</ul>\n'}, {'answer_id': 10210, 'author': 'R.. GitHub STOP HELPING ICE', 'author_id': 11157, 'author_profile': 'https://3dprinting.stackexchange.com/users/11157', 'pm_score': 0, 'selected': False, 'text': '<p>This problem seems to have mostly gone away - at least any remaining error is within a margin explainable by my cheap/low-quality digital caliper. Since asking the question, I\'ve made a lot of changes that could contribute, but the biggest factor was probably the loose X-axis timing belt and <a href="https://3dprinting.stackexchange.com/a/10137/11157">misaligned X-axis</a>.</p>\n\n<p>Slicer options may also have been involved. For example, Cura\'s Ender 3 profile attempts to set limits on acceleration speeds, but does so in a way that requires the GUI to compute derived accelerations; if you\'re using the command line CuraEngine (which I am), all the derived settings are left at the very high defaults.</p>\n'}, {'answer_id': 19013, 'author': 'R.. GitHub STOP HELPING ICE', 'author_id': 11157, 'author_profile': 'https://3dprinting.stackexchange.com/users/11157', 'pm_score': 2, 'selected': True, 'text': "<p>I've had this problem recurringly after marking this solved before, so I'm writing a new answer to revisit it.</p>\n<p>Based on the magnitude of the error being absolute rather than relative, and not being direction-dependent (i.e. not backlash), it can't be caused by the motion system. I further ruled out inward warping of the material by running tests with 100% infill. When, even at 100% infill, the diameter (thus volume of material) was too low, the only remaining explanation was underextrusion.</p>\n<p>Measuring the theoretical rotation distance of my extruder hob (now a different extruder from the original Ender 3 one), accounting for approximate tooth depth along with a precise hob diameter measurement, I got a value 15% lower than my configured value (E-steps 15% higher). I was already aware there was a discrepency here, just not the magnitude, and had purposefully kept it lower because of concerns that the full value would lead to parts that don't fit, due to imperfections in the walls, and especially that it might make the undersized holes problem worse.</p>\n<p>In reality, it's done the opposite. The best explanation I can come up with for fixing holes is that, for extrusion widths narrower than the nozzle (which a 15% under-extruded 0.4 mm line is, since it's only about 0.34 mm), the line does not stay centered well, but gets dragged with the direction of curvature. I think I still have some problems with holes being slightly undersized, but they're at least no worse, and seem slightly better.</p>\n<p>As for positive cylinders, at 5 mm, printed diameter is nearly perfect, only under by about 40-50 µm, which is very acceptable and better than being over. Getting this result does depend on having a 100% solid part, though; as soon as infill comes into play, the cylinder is undersized again. Setting Cura's &quot;Minimum Infill Area&quot; high enough, or using enough walls to ensure the cylinder will be solid, can ensure 100% fill without printing the whole part at 100% infill.</p>\n<p>So, I think I can conclusively say the main likely cause for this problem is underextrusion due to inaccurate E-steps.</p>\n"}]
['https://3dprinting.stackexchange.com/questions/8615', 'https://3dprinting.stackexchange.com', 'https://3dprinting.stackexchange.com/users/15043/']