Raised lips on sharp vertical corners I have an Ender 3 with a lot of mods.  Of note, a cheap direct drive kit, linear rails for the Y axis, an upgraded "silent" mainboard and TH3D's firmware. But this issue goes back a long ways, yet I've not seen any really good examples of this particular issue in various faqs.

All of my vertical edges, especially when they are 90°, have raised lips in a very precise, repeated fashion. It's small, maybe a quarter millimeter in diameter, so it rarely is a problem, but occasionally it messes with the dimensionality of a print with tight tolerances.

I had suspected the problem might have been related to using acceleration/jerk settings, but I disabled them for the print below and got a perfect example case.



Other things I've tried: 


calibrating E-steps (I've done this many, many times, only to find the E-step number changes with speed and temperature anyway).  
Deliberately underextruding.  This actually doesn't help.
Slowing prints way, way down.  Also doesn't seem to have an impact, at least down to 20mm/s.
changing slicers. This problem happens with Cura, Simplify3d and PrusaSlicer.
replacing my nozzle with a fresh one, which should have cleared up any existing clogs or leakages from a worn nozzle.


After a lot of searching on the subject, I found this bug report for Marlin, the first case of over-extruded corners I've found that look at all like mine. What I find especially interesting is that changes to Marlin around version 1.1.8 have introduced the issue for some people who previously didn't have the problem.  This seems to suggest it's not necessarily a hardware issue, but a bug in software.  I'm considering testing out a downgrade to a 3-year-old version just to see if that alone makes a difference.
If the amount of time spent by the head near the corner is significantly longer than what's spent per unit time elsewhere, you will get more extrusion at the corners and thus this effect. High print speed combined with low acceleration/jerk limits give you this effect.

Using a lower print speed should make it go away because it takes very little time to accelerate up to (or decelerate down from) a low nominal print speed from (to) the max cornering speed allowed by acceleration/jerk settings.

Using (much!) higher acceleration/jerk limits can also make it go away, but can cause other print quality problems and even layer shifts.

The Right Fix for this problem is upgrading your firmware to a version of Marlin with the Linear Advance feature and calibrating it. Then the printer automatically compensates for this issue by varying the pressure at the nozzle to get consistent extrusion rate regardless of changes in speed. I've had very good luck with this on my Ender 3, with a calibration constant K=0.6 for PLA and significantly larger ones for flexible filaments (the constant is essentially the spring constant of the filament for the length of filament path between the extruder gear and the nozzle).

If you don't want to replace the firmware, though, increasing acceleration and jerk limits and lowering speed should work ok. Your machine should be able to handle 3000 mm²/s acceleration on X and Y axis, with 10 mm/s "jerk" (the units of jerk are weird because it's not actually jerk; see my question on the topic).