A lot of people have asked me recently how I make extremely high-detail prints, such as this little gnome house:
Using a better firmware (Marlin) and a gcode generator that creates more sensible paths (Slic3r) are the first two things you absolutely must do. Without using both Slic3r and Marlin, you’ll struggle to print your perimeters at more than about 25 mm/sec without seeing severe blobbing on corners and arcs. Let’s assume you’ve followed my advice in Getting all the pieces to fit together and you’re using Marlin and Slic3r. Excellent! Let’s get started.
Low layer height
Layer height is the primary setting that determines the surface detail of your print. The lower the layer height, the greater the “resolution” of the print. A 0.3 mm layer height will display visible layers, while at 0.2 mm layer height, the layers will begin to appear smooth with certain filament colors. The gnome house above was printed at 0.2 mm layer height in silver PLA, which is very forgiving of surface blemishes. Black PLA is similar, and translucent blue PLA is even more forgiving, but white PLA needs lower layers and perfect layer alignment before they need to disappear; 0.15 mm layer heights and below, usually.
As for your nozzle diameter, the truth is, the relationship between your nozzle diameter and your layer height is a very loose one. A bigger nozzle lets you print with a slightly higher layer height, but doesn’t really constrain you that much when you want to decrease it. This is because the nozzle diameter merely determines the width of the extrusion that comes out of it. Even a fairly wide extrusion should react fine to being smooshed down on top of the previous layer. To sum up:
Larger nozzle (0.5 and above):
Taller (and more visible) layers possible
Greater maximum speed is possible
Smaller nozzle (0.35 to 0.4)
Shorter layers (< 0.1 mm ) possible
More contour on extremely short layers possible
One thing I’ll mention is that I do not recommend a 0.25 mm nozzle. That small of an opening makes it a real challenge to print quickly, and can lead to jams. I really like a 0.35 mm nozzle. I can get great high-detail prints, but I’m also able to print infill at 120 mm/sec without the extrusion getting too sparse. If I go much faster than that, though, I can see it start to string out. A 0.4 or even 0.5 mm nozzle would be better for higher speeds than that, but my focus is maximizing speed given a certain quality I want to achieve, so I’m more than happy to sacrifice a bit of potential infill speed so I can get the benefits of a lower potential layer height. Perimeters, of course, are printed much slower than 120 mm/sec to ensure good surface detail and layer alignment. Which leads me to…
Only maximize speed for the desired quality
In the beginning, I was so excited about pushing my printer faster than I sacrificed quality to ramp up the speed, going as fast as 65 mm/sec for the perimeters on this building. Now I know better. It’s far more sensible to pick a desired quality level and then maximize the speed without diminishing the quality.
Once you have a desired quality (say, 0.15 mm layers), you can set about increasing the speed until you start to see diminished surface quality. The exact speed you can achieve for your target quality will vary from machine to machine, so you’ll need to do some experimentation. Here are some tips:
Print hollow if you can. This really saves time and filament, and more models than you think can be printed without any infill at all. The real challenge is for models with flat tops; those flats need good bridges. But that’s not too hard if you make sure to keep your number of solid layers at 3 or more.
Print infill faster than perimeters. After all, nobody sees the infill! If you can’t print hollow, you can increase the infill speed all the way until the extrusion get stringy and begins to lose its structural integrity. For me, with PLA and a 0.35 mm nozzle, this is about 120 mm/sec.
Don’t print infill for every layer. Again, if you can’t print hollow, this is another good alternative. Skeinforge calls this “Skin”, but Slic3r uses the “Print infill every n layers” setting. Make this 2 or even 3 if your layer height is really low or you have a big nozzle.
For PLA, use a fan. PLA needs more time to cool than ABS, so the faster you go and the hotter your nozzle, the more imperative it is that you use a fan to cool the extrusion after it hits the previous layer.
Increase your first layer speed by moving the nozzle closer to the build platform. The only reason you need to go slow for the first layer is to ensure good adhesion. You can also get this by moving the nozzle closer to the platform, ensuring that the extrusion is really smooshed down. But don’t go too close or it can be tough to get the print off the platform!
Once you’ve got good prints with all that, there’s an additional piece of the puzzle that lets you increase the speed even more: a rigid frame. No matter how you slice it, the Prusa Mendel isn’t an especially rigid machine along its X axis. The faster I go, the more I can see the frame triangles wobbling back and forth. That won’t do! There are band-aids such as this brace but a better design is really needed. That design is the MendelMax. I’ve finished my MendelMax’s frame and axes, and the thing is rock solid. Even at very high speeds, I just don’t see it bending or wobbling at all. So get yourself a MendelMax!
I titled the last post in the build guide “MendelMax Build: frame part 1” because I anticipated there’d be a part 2; turns out the build was faster than I thought. Let’s move on to the X and Z axes.
First, assemble your X-carriage. This should be a matter of attaching whatever manner of bushing or bearing will make contact with the X smooth rods. I’m using a variant of Josef Prusa’s X-carriage I made that better supports the Igus bushings I sell:
Next, stick two of your smooth rods into one of the X-ends, either the idler holder or the motor holder, it doesn’t really matter which one. You want to be careful when inserting the rods if you’re using push-fit X-ends, as you can easily crack the whole thing if you jam the rods in too hard. You may have to ream the channel a bit or support the top and bottom when you insert the rods. Easy does it.
Put the X-carriage onto the rods before you cap them off with the other X-end. Make sure the carriage’s two rounded protrusions are on the same side as the motor mount and the hole for the idler.
It should all look like this:
Now you need to attach to the MendelMax frame the smooth rods that these X-ends will ride on. First, attach one of the rods to the motor mount so it hangs down to the bottom:
Note: those Z-rod clamps are the versions that are on the Thingiverse page; you may have newer ones that look more like this:
Now attach the lower holder and align it with the rod that’s hanging down:
Not quite there yet! You can screw the clamp right into the holes on the lower holder; no M5 nut is necessary, since this isn’t a high-stress part.
Once you’ve got the lower rod holder aligned, move the rod up a bit. Then put the completed X-gantry you assembled earlier on the frame beneath the bottom end of the rod, and line up one of the X-end’s bearing column with the rods:
Lower the rod down into the X-end’s bearing columns and tighten the clamp on the lower holder. Then do the same thing on the other side. You should have an attached X-gantry that look like this:
Make sure the gantry slides up and down smoothly, but be very careful when lifting it, as you can easily crack the X-ends’ bearing tubes at their bases. This is even more true if you happen to be using Prusa 2 LM8UU X-ends, but it’s a risk for any printed X-end. The safest way to lift the gantry is using one hand under the X rods, as close as possible to the centerline of the machine. Go slowly and if you feel resistance, let it return to the bottom while you make adjustments.
The gantry should be able to return to the bottom by gravity alone when you raise and lower it with your hand under the center of the X rods. If it binds at all, you may need to slightly adjust the position of the X-ends on their rods or move the lower Z rod holders a few millimeters to the left or right to straighten out the Z rods.
Once the gantry slides up and down smoothly, it’s time to insert the leadscrews! First thread a leadscrew into the X-ends. Make sure the top end is a little beneath the hole in the motor mount.
Attach one of your aluminum couplers to a motor. Tighten the lower set screws to join it to the motor shaft, but make sure that the upper set screws are loosened enough not to obstruct the leadscrew when you insert it.
…and then put the motor onto the mount, letting the leadscrew enter the coupler’s larger hole:
Tighten the remaining set screws to attach the leadscrew to the coupler. Keep in mind here that doing so will slightly deform the metal of the leadscrews where the set screws dig in. DO NOT attach a leadscrew to the clamp at one end, and then change your mind and clamp it at the other end instead, because the first end will have deformed threads and it won’t go through its nut. You don’t want that.
Finally, screw the motor to its mount. Even though there are four holes, you really only need to attach the motor with two screws.
Now do all the same things for the other leadscrew and motor. Once the leadscrews are attached and the motors fastened to their holders, rotate both leadscrew shafts to bring the X-gantry up towards the top of the frame. This will take it up out of the way so you can later assemble the Y axis easily. You should wind up with this:
I bought two precision leadscrews for my MendelMax build, but recently noticed that none of the X-ends out there will fit the leadscrew nuts. Another minor point of contention concerns the holders for the Igus bushings I sell; these bushings were designed to fit into a hole under radial pressure, and the existing holders can break really easily.
So I took Josef Prusa’s X-ends as a base and designed a new set that addresses these two issues:
I replaced the threaded rod nut trap with a circular hole for the leadscrew nut (Misumi part number MTSKR8) and added a hole for an M3 anti-rotation screw to prevent the cylindrical nut from turning. And I simplified the bearing column, replacing it with a simple hollow tube that you cap with Igus bushings at each end. I also included a copy that use the more standard bearing column for folks who prefer LM8UUs.
You can grab it from Thingiverse. I plan to use these X-ends in my MendelMax, and they’ll make an appearance in the next segment of the build guide.
My MendelMax parts arrived! Here’s my beautiful pile-o-stuff from Misumi:
Time to get cracking! I immediately tore into it.
Step one is to tap the extrusions that need tapping. That means the two top extrusions (420 mm), the four diagonal extrusions which will attach directly to the lower vertices (340 mm, which only need one side tapped), and all four of the front and back extrusions on the bottom part (300 mm).
MaxBots was right, the recommended tap really did help things along. It slices into the extrusions like a hot knife through butter. I got all 16 holes tapped in about 45 minutes.
To save yourself some aggravation, for every hole you tap, screw one of your M5 screws into it and make sure that it can go in almost all the way. You want it to be able to thread in so that it’s about three or four millimeters from the aluminum. If you can’t screw it in to that point without encountering resistance, tap some more.
Now you need to drill into the two 420 mm extrusions that you tapped, using the printed jig to guide you. Make sure to wear goggles for this part, because, uh, having aluminum shards penetrate your eyeball is an experience most people want to avoid. My father still has a little piece of metal somewhere in his eye from a decades-ago mishap involving drills, metal, and unprotected eyes. Just do it. If you don’t have goggles, then stop and go get some, even though it’ll kill your buzz and interrupt the build. Srsly.
Next, it’s time to tap the untapped ends of the diagonal extrusions using the self-tapping screws. I bought an appropriate Torx screwdriver but found a ratcheting socket wrench with a Torx bit to be much more efficient, especially towards the end.
After that, you attach the first printed pieces—the lower frame vertices. The tapped end of the extrusions each get an M5 screw to connect it to the vertex. I found it fastest to first stick the screw into the hidden hole in bottom of the vertex, then attach the vertex to the extrusion with its other connection point to prevent it from rotating around, and then finally fasten the screw in the hidden hole. Do all of this four times, one for each extrusion with a self-tapping screw in one end. Don’t forget to use washers! Voila:
Now connect two of the vertices with two 300 mm extrusions, one on the top, and one on the bottom. Make sure to trap a nut in between each of them first.
Do the same for the other pair of vertices. If you’re going to support the Y axis idler on both sides rather than just one, trap two nuts in between each extrusion on this side.
Now you want to connect these two assemblies you just made together with untapped and undrilled 420 mm extrusions, like so:
Make sure to trap two nuts in each side extrusion! At this point, it’s starting to appear more like the frame of a 3D printer. It should look like this:
Next, you need to stick two nuts in each of the shorter 300 mm extrusions that make up the front and back. The nuts should be positioned in the interior slots so that they face one another inside the frame. These are for the interior Y rod holders.
Take one of the two remaining untapped and undrilled 420 mm extrusions and stick four nuts in one side, and then position it underneath one of the already-attached 420mm extrusions with the nuts facing outwards. Do the same for the other remaining 420 mm extrusion. Now you want to attach the printed flats that connect the corner together. Use the nuts you’ve trapped in the 420 mm extrusions. For the holes that line up with the diagonal extrusion, drop two nuts down and fasten those, too. You should wind up with a corner that looks like this:
Now do the same for the other three bottom corners. Lookin’ sharp!
Now for the top. Before you attach the two remaining extrusions, drop two nuts in the each of the diagonal extrusions. They should be in the channels facing the front or back. These are for the printed diagonal stiffeners.
Slide the top 420 mm extrusions onto the diagonal ones and stick your screwdriver through the holes you drilled earlier to tighten the blind joint screws sticking out of the diagonal extrusions. Easy as pie. While you’re up there, insert four nuts into each of these top extrusions, into the front and back, respectively.
If you’re planning on using the attached spool holder, stick two nuts in the top of each of these extrusions for the spools before you attach the motor mounts. Now attach said motor mounts. They go on pretty much like you’d imagine.
The diagonal braces also go on like you’d expect, each using four nuts you’ve trapped in the extrusions.
Almost done! Just a few more bits. First the bottom mounts for the Z smooth rods:
Then the interior holders for the Y rods:
Then the holders for the Y idler. I’m using two of them here since it seems more stable that way, but it shouldn’t be a problem if you only use one.
Then the Y motor holder:
And that’s a wrap. The frame is done. Total build time: 6 hours, 20 minutes. And that’s including the time it took me to write this post, which I was doing throughout the build! If I had been concentrating entire on building, it would have been closer to 3 hours.
At this point I’ll mention that I scaled up my MendelMax a tad—just a tad. Instead of 300 mm long, I made the bottom extrusions 340 mm long for a little bit of extra space in the X dimension (the top ones are 460 mm). Here’s the MendelMax frame, side-by-side with my Prusa:
What’s also amazing is how my larger-than-normal MendelMax is actually barely bigger than my Prusa! It looks and feels larger due to the solid square aluminum extrusions and the greater volume, but objectively, The footprints are very similar. And while the Prusa looks spindly and waif-like, this thing oozes a certain tough seriousness. I’m a fan. A big fan.
I’m building a MendelMax. Here’s a really cool one made by __red__. Tell me you can look at that and not want one!
My Prusa has been a wonderful printer, but time marches on, and progress comes with it. The MendelMax is an excellent improvement on the Prusa in the areas of build area, rigidity, and ease of assembly. That larger build area—especially vertical build area—is quite nice. I’ve been rather disappointed that my Prusa can barely print objects taller than my Makerbot could, but the Prusa design doesn’t really lend itself to being scaled up without becoming very wobbly. Speaking of wobble, my Prusa already exhibits it when I print at high speed. It’s not terrible, but I can see the top moving a few millimeters left and right when the ext ruer zips around. And it took days to assemble. Definitely not an experience I want to repeat soon.
I learned many lessons from my Prusa build, and the MendelMax is similar enough that most of the parts besides the frame are identical. Here’s what I changed for my MendelMax build:
Motors from Ultimachine
My Prusa uses motors from Thingfarm. For the MendelMax, I decided to go with Ultimachine instead. There are a few reasons for this. First of all, Ultimachine’s motors are stronger and draw less power, a clear win. In addition, you can buy them with the connectors already assembled. After spending hours and hours crimping endless wires for my Prusa, I was willing to spend the extra $2.50 per motor. The Thingfarm motors also came with wires that were only 12″ long, so I had to lengthen each of them… ugh! Ultimachine’s motors have 24″ wires. Finally, Ultimachine’s shipping was $10, rather than the $40 I paid Thingfarm, so the total price ended up actually being cheaper. Clear win.
Pre-assembled RAMPS from Ultimachine
I decided on going with RAMPS for a few reasons. My prusa uses a Sanguinololu that I soldered myself. The main problem is that its hardware is slow and limited in memory. As a result, it’s too wimpy to support PID temperature control in Marlin, my favorite firmware. That’s bad, since PID is a big deal. Sanguinololu also doesn’t have enough MOSFETs for a heated bed and a gcode-controllable fan. I bought my RAMPS pre-assembled because SMD soldering scares me and like the motors, a pre-assembled solution appeals more now that I’ve done it manually once before. The total cost is higher, but I think it’ll be worth it. It comes with endstops, which is a nice touch and lowers the price difference a bit.
I really wish there were a good pre-assembled electronics package that had everything on one board but didn’t use underpowered hardware. Melzi comes close, but it still uses that lame ATMEGA644p chip.
GT2 belts and manufactured pulleys
One of the first things I replaced on my Prusa were the crappy printed pulleys. For something that needs to be so precise as a timing pulley, it’s really madness that we’re printing these ourselves. In addition, the T series of belts and pulleys were designed for synchronizing axles—rotational motion, not linear motion. As a result, the belt’s trapezoidal tooth profile isn’t optimized for reversal; it can slip a few fractions of a millimeter when the pulley reverses direction. The GT2 belts are better, since their rounded tooth profile can’t slip in the pulleys’ round grooves. Of course, you can’t print these precise pulleys, but we really shouldn’t be doing that anyway. I got my belts and pulleys from Misumi. The belts were a steal; the pulleys weren’t. So it goes.
Real leadscrews
I was sick of using threaded rods for positioning because frankly, it’s a big hack. The rods aren’t necessarily straight, so we go crazy with couplers and rubber sleeves trying to work around this flaw. And since the rods aren’t designed for our application, they can have little burrs like (say) mine do. Not all rods suffer from these problems; some people get threaded rods that are perfectly fine, but that’s just the thing—it’s a crapshoot. Maybe you’ll get good rods. Maybe you’ll get one good one and one bad one, like I did. I ate the cost and bought real leadscrews from Misumi, and some nice aluminum 5mm-to-8mm couplers to attach them to the Z motors.
Igus plastic bushings
Why abandon LM8UU bearings? A couple reasons. First of all, my cheap Chinese LM8UUs have started to rust:
Wuh-oh. I’ve had that one for about three months. Needless to say, this bodes ill for their longevity. Another reason is cost. The LM8UUs are cheap, but the plastic Igus bushings are cheaper. They’re also smaller, so you don’t have to design such large and elaborate mounts for them. Smaller + longer life + cheaper == win.
Real 8mm chrome-plated smooth rod
It’s always tempting to cheap out when you’re on a budget, and that’s exactly what I did with my Prusa, settling for cheaper 5/16″ zinc-plated smooth rod from Thingfarm. This turned out to be a minor mistake: the rods require constant lubrication and are ever so slightly too small to fit perfectly with my LM8UU bearings. This time around I got my precision chrome-plated rods from vxb.com and spent way too much for them due to the nonstandard sizes that the MendelMax uses. Because I don’t have a chop saw or anything, I couldn’t simply get a few feet of drill rod on the cheap and cut it to size, which is what I suspect most of the kit vendors do. Definitely something to consider for the future.
This whole DIY 3D printing thing is pretty awesome, but I’m convinced that it can be even more awesome. Today, we generate gcode with generators that are kinda slow and clunky, and we use firmwares that are good enough but limit your speed. The reason for my relative blogging absence over the last two weeks has been due to some hardcore en-awesome-ification; I’ve been seeing if I can do better. It’s taken two weeks of learning and tweaking, but I’ve gotten pretty far.
Marlin
The most important piece of my puzzle is the firmware, which interprets the gcode into movements on the printer. Even if you sent the printer awesome gcode, if your firmware can’t handle it or does odd things with it, the results will be less than satisfying. I believe this picture will illustrate the differences between the Sprinter (the most common firmware) and Marlin. I’ve written about Marlin before, but here are two Yoda heads (both printed with identical gcode), the one on the left printed with Sprinter, and the one on the right printed with Marlin:
Observe the Sprinter print’s rough, frosty appearance. That frosted appearance is caused by the constant fast-slow-fast-slow sequence it follows due to the curves (which are really just a series of short lines after all) and lack of movement planning. The constant, minute motion also causes the extruder to vibrate quite terribly, even at fairly slow speeds (? 30 mm/sec). This not only slows it down, but reduces precision since the nozzle may be a few fractions of a millimeter off from where it’s supposed to be at any particular time. Marlin, by contrast, can plan its moves so it doesn’t have to slow down to draw each individual line segment, resulting in a smoother surface sheen and more consistent layers. Also notice how the Marlin print is unfinished, because a communication error killed the print mid-way through. This error, which I’ve reported, was totally preventing me from completing large prints with Marlin. Over the last few days, I’ve been working with the developer Erik Zalm to feed him information so he can fix it. It turns out that my Sanguinololu electronics are just too limited and were hitting a number of edge cases. Erik’s made some affordances for us Sanguinololu users, but PID temperature control has to remain disabled due to lack of memory.
I now recommend RAMPS rather than Sanguinololu due to the better system specs. It’s really only gonna be about $40 or $50 more expensive, but it’s totally worth it. Firmwares aren’t getting any smaller or less-full-featured.
…But at least Marlin is working again with my Sanguinololu thanks to Erik’s labors! Here are the final results; again, Sprinter on the left and Marlin on the right:
Slic3r
Next up, once you have a good firmware with movement planning, you need to send it better gcode. And one of the best gcode generator out there is Slic3r. Despite its extreme newness, Slic3r is quickly gaining acceptance in the RepRap community. When you compare it to our old standbys Skeinforge and SFACT, Slicer operates much faster, requires far, far less calibration and experimentation to get your settings right, and generates nice clean gcode even at very low layer heights, which I’ve found that Skeinforge struggles with.
It’s also full of bugs that make it not quite ready for prime time. But I can see the writing on the wall; Slic3r is destined to be our gcode generator, and I can’t wait for that day to arrive. To that effect, I’ve been doing a lot of work to test Slic3r with hard prints to find bugs. You can see a number of them on my desk here:
I’ve found the Vanderbilt Mansion (which you can see a several of above) to be a great print quality torture test, especially at very low layer heights. It’s got lots of details, straight walls, curved walls, slopes, domes, and subtle bridges. It will really show you what your printer has trouble with. I still don’t have a copy of it I’m sufficiently happy with that I’m willing to put online, but I’m getting there. It’s a tough print. Here are all the bugs ones I found trying to print that object and others:
Many are already fixed! Alex has released a new version of Slic3r that’s most excellent, and it includes lots of neat features, such as new infill patterns and a more tolerant parser. And my previous post about how cool Slic3r is has been featured on the homepage!
Nothing super fancy, just a standard 0.3mm layer print, but Slic3r generated its gcode in about 45 seconds, and I think it came out great.
And here’s a print that I’m very, very proud of:
It’s one of Whyst’s adorable little gnome houses, and I printed it with exactly the same settings as the capitol building except for changing two things: I reduced the layer height from 0.3 mm to 0.15 mm, and I told it to only draw infill every other layer. That’s it. If you still need any more proof that Slic3r is awesome, I don’t know what to tell you!
triffid_hunter’s bearing guides didn’t actually work for me because, but due to an imperfectly calibrated printer and the vagaries of FDM printing, they didn’t wind up quite circular. In particular, there was a bump on the edge where the perimeter loops met. I tried to dremel it off, but that’s not exactly a precise operation, is it? The result was that this non-circular pulley was throwing off my layer alignment. Eventually I took them off and replaced them with two bearings rather than one—as suggested by nophead—and it worked great!
The larger contact area obviously means a wandering belt isn’t as inclined to reach the washers. In addition, pushing two 608 bearings up next to each other eliminates the slight side-to-size rotation you see on a single bearing which has a tendency to let the belt wander off to the side and keep it from getting back to the middle. It requires another bearing, but they’re cheap enough in bulk and you never know what you might need a ton of 608 bearings for.
After beating my head against Skeinforge trying to dial down my layer height below 0.15 mm/layer for weeks, and even buying and trying Netfabb with poor results (story to come later), I finally cracked the barrier. My friend Sean found a new slicing program, Slic3r, and I just tried it last night.
Holy balls.
With barely any configuration at all, I printed a cube with 0.2 mm layers:
Then one with 0.1 mm layers:
It’s getting hard to see the individual layers. I went down to 0.09 mm layers and had to adjust the nozzle to be five one hundredths of a millimeter closer to the build surface, and then it came out perfectly. Feeling ambitious, I printed a Magic Fish with 0.08 mm layers and had to adjust the nozzle down an additional four one hundredths of a millimeter and it came out nearly perfectly:
It makes a great fridge magnet!
This print only took 40 minutes, too. I’m floored. I really had no idea my machine was capable of prints like these. Another thing about Slic3r is that it generates gcode more than 100 times faster than Skeinforge. Just for fun (/aggravation), I tried slicing the Magic Fish into 0.08mm layers with Skeinforge; it took an hour and 12 minutes. Slic3r did it in 36 seconds. Ridiculous! Finally, Slic3r seems to generate better gcode than Skeinforge does. There are far fewer unnecessary filament retractions; almost none, in fact. And the gcode it generates makes the nozzle move noticeably faster with fewer acceleration-related blobs.
So… yeah, I’m happy. To recap:
Generates gcode more than 100 times faster
Produces cleaner gcode that drives the machine better and more efficiently
Requires nearly no calibration to get beautiful, high-resolution prints
It doesn’t yet do support material or hexagonal infill, nor does its GUI support custom start.gcode or end.gcode files, but I can wait. I’ve fallen in love with my printer all over again.
Here’s another time lapse movie for your viewing pleasure, depicting my Prusa constructing a part I designed for a future project. 30x speed for this one:
Another thing: man, does this app ever drain my phone’s battery! Starting from a full charge, I was down to less than 20% after an hour and 17 minutes of recording.