Refurbishing An Old P3Steel

In the aftermath of the London Unconference, after the usual beer drinking networking at the pub, I meet Javier Varela, one of our many readers that were present. It turns out my fellow Iberic friend is involved in some interesting hardware projects, one of them being the OVM20 Lite board. I was looking for an excuse to mess around with my old Prusa and this was the perfect one. The P3Steel 3D printer was just getting dusty on my basement and it printed just fine in the past. Until one day…

Based on Arduino Mega 2560 with the RAMPS 1.4, it was a pretty standard and cheap option to get some years ago (and still is). My additional modifications or upgrades from the standard options was a LCD screen and the DRV8825 stepper drivers.

What happened was that one fine day the prints started to skew. No matter how hard I tried, it skewed. I checked the driver’s potentiometer, I went back to the motor specifications, I swapped drivers around, and I even flashed another firmware. If the print was big enough, it will get messed up. Sometimes even small prints failed. When you are debugging something like this for hours, there comes a point in time that you start to suspect everything. Was it overheating the drivers? If so, why did this never happened before? Maybe the power supply is fluctuating and coming to the end of its life? Some messed up capacitor in the board? Was it RAMPS’ fault or Arduino? A motor starting to fail? A mechanical issue? I had a fine-tuned Marlin firmware that I manually tweaked and slightly changed, which I had no backup off after the flashing. In retrospect, I actually checked for a lot of things that couldn’t really be related to the problem back then but I also learned quite a lot.

Meanwhile life happened, as it does sometimes, and I didn’t have enough time to get it to work again. It got semi-forgotten, in one of those “I’ll fix it later” shelf’s. I have quite a stack of those by the way and the tendency seems to grow only in one direction. But I always wanted to get the printer fixed, mainly because sometimes when I’m tinkering I go “I’ll just have to print this piece and it would look aweso… oh, wait…”. Or when something breaks around the house my wife says “Can’t you just print that honey?”, which I reply “I could but…”. It was just sad.

So I meet Javier Varela and learned about the OVM20 Lite board. Made from quality components, this is a sort of an all-in-one Arduino Mega + RAMPS 1.4, 100% Marlin compatible, board. It’s slicker since all of the components are in one four-layer board and already comes with integrated DRV8825 drivers. The obvious downside is that if a driver burns out, it is not easily replaced. The specifications are pretty much what I have at home and I figured that was worth a shot to just replace the electronics I had on my old Prusa for this new board and give it a go. After all, it could actually solve my printing problems and wouldn’t take a lot of time.

I ordered one, the launching price was 39€ for the board, 4 driver dissipaters included, which I find quite fair. The OVM20 Lite board feels similar to the RAMPS and the replacement process was quite easy. I just carefully disconnected a set of cables from my RAMPS and connected to the OVM20. All in all I reckon it took around 15 minutes.

Next step, driver voltage calibration. The drivers potentiometers are not overly sensitive, so they were easier to calibrate than those I had. My preferred method is to plug the multimeter to ground and  use an alligator clip to connect my steel screwdriver to the positive side while turning the potentiometer. One thing I noticed is that the voltage is different when the bed is heating versus resting. I had this on the old board and also in the new one. Maybe some fellow reader can share why this happens and how should the calibration be done, with the bed heating on or off?

The board comes with Marlin v1.1.1 firmware pre-installed and I saw no need to change it. I had an old laptop that I wanted to put to use exclusively for the 3D printer, so I wiped it out and installed Linux Mint and Repetier. I used to use Slic3r and Printrun to print but since I was changing hardware I also decided to change software as well and see what happens. I never used Repetier before but was not that hard to adapt. I just decided to give it a go without configuring anything just for kicks. Obviously it really wishful thinking to assume it would just print anything that would make sense. It did not. My filament is 3 mm and the default is 1.75 mm, so I ended up with a black plastic blob. What could I expect? It was just a lazy, almost suicidal, move on my part. I changed the filament thickness and give it another go.

It’s alive!

A small 2×2 six-sided die was printed using almost all default settings and turned out pretty good. The nozzle is 0.4 mm and I’m printing in 0.2 mm layers, using PLA filament at 205 ºC and the heatbed at 65 ºC, with cooling. The infill was about 20%, which I find a bit low and sometimes messes up the top layers, as you can see bellow on the HaD logo. It’s really far from perfect and I can finally start my tuning process again but it is printing and it’s not skewing any more. On a side note, some of my PLA filaments are completely brittle and unusable. They weren’t really properly stored. Some of them are ok while others break as soon as I try to put them in the feeder. I’m thinking they have lost too much humidity hence they break easily but I might be wrong. It would be cool to re-moisturize them, but I have no idea if that is possible.

I did a quick sketch on a support for the board, you can find it here. The first version I printed makes the board hang a bit low, the second version, which is online, is a 1 cm higher. It’s slightly better for the USB connector and the cables of my LCD. Then, I printed some more stuff. I haven’t done so for a long time, and it was very rewarding to have my old 3D printer back!

Here’s some of the stuff I printed while writing the article:

The overhang at the bottom left is upside down to show the calibration that is still needed. The wrenches of the Jolly Wrencher clearly shows that 20% infill is not enough. The first die is there, next to a 40 mm fan protector. Top right is a whistle that looks good but does not work very well.

It’s far from perfection, and I definitely need to tune it better but, hey, it’s a start! What about you? Have you got an old 3D printer in need of some tender loving care?

15 thoughts on “Refurbishing An Old P3Steel

    1. Well yah, since PLA is biodegradable and de-polymerises with a hydrolysis reaction, that’s probably what happened, the polymerisation is what makes it flexible and “plastic” so with that reduced it’s going to be all brittle and breaky… it’s just by false analogy to dry twigs I guess.

        1. Yes, drying PLA in an oven is the solution…*HOWEVER* you must make absolutely sure your oven temperature doesn’t exceed like 100F. If it goes beyond that, bad things start to happen, like PLA starting to melt down and stick together. I ruined an old roll of black PLA trying this and found out the oven thermostat was bad, it was off by like 40 degrees! Didn’t really matter too much because it would have been a trash roll. Definitely get yourself a good meat thermometer and just wedge it into the plastic to check it.

          1. In my experience, kitchen appliances tend to be pretty bad at regulating a constant temperature. Not too surprising when they tend to be built for lowest cost and cooking does not normally require precision. PID controllers are cheap nowadays and are a good add on accessory for an oven.

          2. It used to be that kitchen ovens would overshoot the target temperature, shut off the heating element and let the temperature undershoot the target temperature and start over. Hysteresis. So instead of being a flat temperature profile, it was more like a sine wave or sawtooth with +/- 25 degree swings.

          1. Missing a food dehydrator, the printer has a nice heating pad with precision temperature controller right at the bottom of the build volume. Just build the cardboard equivalent of a tea cozy for the roll and you are set.

  1. that overhang test part (with the numbers 15/20/25… on it) looks pretty good imo, i’m curious what could be done to improve it. i mean, it’s obviously flawed but i mostly design mechanical parts and have learned to accept overhangs that look like that, you just have to be aware of it and it’s usually possible to design around it.

    i have had PLA go brittle. but for what it’s worth, i have not had any problems since switching to “formfutura easyfil PLA”. i don’t know if there’s anything special about it, mostly i think it’s just not “assertively bad” like my previous filament was. of course, i’ve never tried letting it sit more than a year either.

  2. I’m still a bit confused about the usage of DRV8825 stepper drivers for applications like this. Every time I go to read up on the current community opinions for controllers/drivers I see numerous complaints[1-4 for a small sampling from reddit] about DRV8825 drivers skipping steps and just generally causing print quality degradation. It’s such an endemic issue that people actually sell daughter boards[5] to mitigate some of the faults.

    So my question is, are DRV8825 a poor choice for this application (especially as slow movement speeds) or is there a core implementation issue at the hardware/software level that needs fixing? If the latter is true, has the required change been applied to the OVM20 Lite?


  3. Hi !
    I have a prusa I3 with a GT2560 board. One day it stopped working … I was thinking changing the whole GT2560 board (after checcking PSU, drivers, LCD)… in fact it was just a dead crystal ! Ordered 10 for $1 and replace it, now it works like a charm !
    By the way I also replaced the two mosfets that became very hot such as suggested by:
    This was a successful repair, because this printer is designed to be repaired !
    On the opposite I bought, years before my prusa, a M3D printer (in fact I kickstart’ed it). Before printing 1 kg of PLA one of the X rod was so used (flat on the upper side) that the printer head moved by itself from up and down: every print was bad / failed … in fact this printer was so bad, so slow that I put it in some corner for another use where Z position does not fluctuate (a small laser engraver). This printer is made in a way that it is not reparable: those product must be avoided (moreover there should be forbidden to be sold IMO). Each part is “specific” / patented / cheap plastic so tear down / rebuild is really painful.

    1. Call me when you spent too much for a Robo 3D from a certain online electronics store so you wouldn’t have to shell out a big chunk of cash at the time. (Yes, stupid, I know, and I’m paying the karma for that poor choice.)

      It’s currently, predictably, sitting with a head that needs cleaning out and re-tightening when heated. After that _everything_ on it will need to be re-calibrated. On the plus side I now have a contained space for it that I can temperature regulate which means ABS will be easier to print with as well as other filaments.

      That said, I’d love a good delta but the money just isn’t there…

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.