HEAVY DUTY 3D Printer Driver

pluggable module with DRV8818 and protection circuitry

Similar projects worth following
The goal of this project is to fit the DRV8818 driver circuit onto the standard 0.8" X 0.6" PCB size used in RAMPS 3D printers. DRV8825 drivers are a popular choice for desktop 3D printers, because they can provide up to 2.5 amps full-scale current. The DRV8818 is a similar IC capable of driving up to 3.5 amps, but the circuit is too large to fit on PCB using regular methods. Also, without a propper heatsink it will overheat.

I managed to fit DRV8818 circuitry, a PowerPeg heatsink, TVS protection, and DIP headers onto this tiny PCB. This driver can operate steady at 3.4 amps peak without overheating! With a larger driver new printer styles are possible using NEMA 23 and 34 motors.

Adobe Portable Document Format - 2.12 MB - 11/23/2017 at 09:11


  • Successful Experiment

    Dean Gouramanis01/25/2018 at 19:02 0 comments

    I swapped out the ceramic capacitors, and soldered an additional 100uF cap to th header pins. Then I repeated the experiment. Flawless! This small PCB driving such a large motor is an impressive sight. The device was perfectly stable throughout the current range. The motor was quiet turning at 10 RPM, with Vdecay set to 2.1 volts.

    With no fan attached the maximum current was 2.5 amps full scale. With a (very) small fan blowing on the heatsink I was able to take it up to 3.4 Amps.

    In most desktop 3D printers you are likely to run a NEMA17 motor between 1.0 and 1.5 Amps. The data shows you will have no problem doing this. No fan required.

    The device can accomidate larger motors if used with a fan. In this experiment I used a very small fan. The temperature was safe, but ideally could be lower. Next time I will get some data using a blower fan to show ideal conditions.

  • cause of failure identified

    Dean Gouramanis12/31/2017 at 00:48 0 comments

    After the first prototype failed, I repeated the experiment. The second device failed in the exact same way. I measured a short across VM/GND and 30 ohms across VDD/GND.

    I felt discouraged, but the identical symptoms indicated a trend. After reading, thinking, and getting some help from the TI E2E forum, I believe the problem was identified. The device failed because of inadequate bulk capacitance on VM. (You can read up on bulk capicitance in section 9.1 of datasheet.) When capicitance on VM is too low, motor inductance can cause voltage spikes which damage the device.

    This is my best guess, because aside from this capicitor, most of the schematic matches the example provided by manufacturer.

    The reason I did not add more capicitance in the first place was because the PCB is so small. I looked carefully at the layout... I think one more capicitor can be squeezed. Also I can use different capicitors to bring the total capicitance from 20uf up to 66uf. This will increase the cost of the device a little, but It's worth it.

    My previous experience tells me 66uf will be enough. StepperStack had only 37uf on-board, and I have never seen one of those fail in the same way. Plus 3D printers usually have additional capicitance on the motherboard.

    Before spending more time and money on a new PCB prototype, I modified one of the V2 models with three 22uf ceramic caps. If this one survives stress testing, then we're in business.

    Although it was a discouraging and costly setback, I feel like real progress was made. There was really no way to learn the limits, without trying and failing first.

  • Testing begins + KABLOOEY!

    Dean Gouramanis12/14/2017 at 04:13 0 comments

    Yesterday I started collecting thermal data. I was unable to complete testing after 6 hours. I let the temperature go too high (151°C) and the chip was damaged. Now I'm waiting for new parts in the mail. In the meantime here is a sample.

    Note how small the fan is.

    The sensor was fixed to the IC.

    And here is the one that killed it.

  • New prototype tested

    Dean Gouramanis12/11/2017 at 06:24 0 comments

    The new prototype is working. I adjusted the current to 1 Amp and did a quick check with an IR thermometer. Temperature is around 35 C.

  • New Prototype Ready

    Dean Gouramanis11/29/2017 at 20:29 0 comments

    I assembeled the new prototype and made a neat video showing the details. Next I can run some tests to see:
    1) What is the temperature at maximum power?

    2) Is it immune to power surges?

    Can anyone think of another interesting test? Please, share your thoughts and ideas.

    Note: Some parts of assembly were left out of the video, such as reflow and soldering the headers.

  • reference schematic published

    Dean Gouramanis11/23/2017 at 10:05 0 comments

    I like Sparkfun's schematics so much, I used it as a template. Except TEM schematics are blue. Man that looks good! #CreativeCommons

    It was time to decide on a name. I thought about calling them "Ice Cube" drivers, because of the square shiny heatsink. For now I'm going with simply "TEM 8818 Driver".

    A couple of notes:

    1) The schematic specifies a 1.5K high-side resistor for Vref trimmer. That means the current can only be adjusted up to 2.6 amps. My prototype has an 866 ohm resistor, allowing for full-range adjustment.

    2) While the DRV8818 can opperate from 8-35 VDC, the TVS circuit is rated for 30 volts. So the TEM 8818 Driver can operate from 8-30 volt power supply.

    This is a good thing because we know the IC will be safe behind the TVS (in theory). Im looking foward to capturing some surge waveforms with the oscilloscope.

  • heatsink prototype

    Dean Gouramanis11/18/2017 at 03:39 0 comments

    Yea this heatsink design is simple and fits nicely. Should be the coolest driver on the market. Literally.

    To make these heatsinks I started with an extruded aluminum heatsink profile. Heatsink USA has a great selection of sizes and affordable prices.

    I diced the 4 foot bars into 0.8" pieces outside in the garage. Then I was able to machine the smaller pieces indoors without making too much mess. In this video I add the PowerPeg receptacle, and some recessions that fit the PCB.

    If youre wondering what machine is in the video, check it out here.

  • Vref and Vdecay adjustment

    Dean Gouramanis11/15/2017 at 16:50 0 comments

    This video shows the trim pot configuration. The components are mounted on the underside of PCB, and are adjusted through a hole. Test pads on the top side alow for quick measurement of Vref and Vdecay for tuning.

    A unique problem with this driver is the wide range of adjustability. The trimmers rotate 270 degrees, and the current range is 0-3500mA. That means 1 degree of rotation equals 13mA. Dialing in the correct current requires a steady hand.

    To help I added resistors in series with the trimmers to narrow the range. (schematic) So this prototype is adjustable from 800mA - 3400mA, and the resolution was improved to 9.5mA/degree.

  • ESD protection

    Dean Gouramanis11/13/2017 at 23:23 0 comments

    There will be a substancial ammount of precious metal on this board, between the thermal connector, heatsink, high-current headers, and PCB traces. That's the first thing I thought once I finished the CAD model. These drivers last a long time under normal circumstances, but they are notorious for EXPLODING if the cables come loose. Its not right to use such expensive parts unless it is built to last. Call me a hippie, but the idea of PowerPegs thrown in the trash made me cringe... I digress.

    Back EMF from the motor can cause permanent damage if the wires are accidently disconnected while the motor is powered. This happens sometimes with loose connectors on shaky 3D printers. So in the first prototype I experimented with a 30 volt TVS installed at the output. In theory this will prevent this sort of damage.

    The first prototype functioned normally. I did try yanking the cable on a NEMA17 motor, and no damage! Eventually I will do extensive testing , and capture some waveforms with the oscilloscpe. Stay tuned for that...

    After the first prototype success I thought the entire device should have ESD protection. The problem was: not enough space. Here is an image of the first prototype layout.

    As you can see not much room for five more diodes. Luckly there were three header pins not being used. So I decided to omit them from the layout to make room for more diodes.

    So now every pin on the device is protected from voltage surges. This includes step, direction, reset, enable, V+, A, -A, B and -B.

View all 9 project logs

Enjoy this project?



Przemek wrote 02/15/2019 at 11:04 point

Why do you limit yourself on a single "board design"? With the recent popularity of raiser "solution" the bottom surface is also avaibale for either heatsink mounting or electrolitic capacitor mount. So why don't you explore a low footprint but "multi level stack" type driver?

  Are you sure? yes | no

timschefter wrote 01/29/2018 at 22:32 point

I see you dropped a new board design to Oshpark.  Does this board have the layout for the more caps that were needed?

  Are you sure? yes | no

reindeerflotilla wrote 11/21/2017 at 11:12 point

ESD protection, convenient Vref setting, good thermal design and layout are all good features missing from most such boards.
But the DRV8818 has a RMS output current of 1.75A and a peak output current of 2.5A. So what, if anything, is going to make the DRV8818 intrinsically better than the DRV8825, which has a 1.8A RMS output current and 2.5A peak output current?
Your claimed 3.5A output just doesn't match TI's specs for this device.

  Are you sure? yes | no

Dean Gouramanis wrote 11/22/2017 at 08:22 point

Good question! Using the compare tool from I generated (this) chart:

The first obvious thing to note is DRV8818 has the lowest Rds-on. That means higher energy efficiency, and more stable at higher currents.


The website , and front page of datasheet (DRV8818) advertise "Up to 2.5-A Current Per Winding", but if you check section 6.1 Absolute Maximum Ratings, there is more to the story... There is no actual specification for "Peak motor drive current". It only says "Internally limited". Directly below, the number for "Continuous total power dissipation" is also not specified, but there is a link to section 6.4.

So, What's going on here? The answer is found in section 10.3.1

"The maximum amount of power that can be dissipated in the DRV8818 is dependent on ambient temperature and heatsinking. ... R DS(ON) increases with temperature, so as the device heats, the power dissipation increases. This must be taken into consideration when sizing the heatsink."

In section 6.5 you will find "Overcurrent protection level" is indeed 3.5 Amps. That means the device can be set up to 3500 mA before the internal protection circuitry kicks in. The challenge is keeping it cool.

Since the TSSOP-28 package is designed to transfer heat into a PCB, typical assemblies will not support running at 3.5 Amps. Realistically most applications are limited by heat build up in the PCB. I guess that's why advertised maximum is only 2.5 Amps...

This is no average PCB! PowerPeg thermal connector solders directly to the underside of the chip through a hole in the PCB. The solid copper peg transfers heat to the heatsink.

This is not the first DRV8818 driver I designed. I have been using the DRV8818 this way since 2014 in my other driver StepperStack. They are very stable with PowerPeg. (My CNC Mill uses three DRV8818 drivers at 3.4 amps, driving NEMA34 motors.)

Here is a link to the fantastic write-up and bench test by Jose Quinones. His tests compare the DRV8818 with and without a PowerPeg.

  Are you sure? yes | no

Jose I Quinones wrote 11/22/2017 at 10:24 point

Dean's response should already be good enough, but just thought of adding a few other "cents". My main beef with, DRV8825 is it is super noisy because the switching frequency falls under the hearable range. Good luck trying to remove this! DRV8818 has configurable switching frequency so tuning this out is much easier.

Now its been too long since I worked with these devices (over 5 years now), so I am super rusty, but I remember we tried Dean's heat sink on both the 8825 and the 8818 and the 8818 won.

I personally don't trust vendor's "current rating" parameters anymore. I only care about RDSON. The current they portray in a datasheet is basically because they need to fill a field in a table, but at the end it is almost the same as answering "what is the diameter of the branch needed to tickle a bear?" Well, is the bear ticklish?

  Are you sure? yes | no

Blackfire_tx wrote 11/15/2017 at 13:04 point

Where is the current adjust for the driver?

  Are you sure? yes | no

Dean Gouramanis wrote 11/15/2017 at 16:51 point

New log^^^

  Are you sure? yes | no

oshpark wrote 11/15/2017 at 06:04 point

Great project!

  Are you sure? yes | no

warhawk-avg wrote 11/15/2017 at 04:41 point

Very cool!  How hot does it get with the power peg at full current?

  Are you sure? yes | no

Dean Gouramanis wrote 11/15/2017 at 13:21 point

Not sure yet. Dont worry, there will be data. Once I get the new boards from fab I will set up a propper bench test with a thermocouple, oscilloscope and data logger.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates