Project Overview

Dr. D-Flo wanted to 3D print delicious treats, but this is more difficult than you think! Clearly, you can't use a normal extruder, so Dr. D-Flo used a syringe pump that was built in a previous project to extrude an edible frosting. The resolution of frosting is poor compared to normal FFF 3D printers. Therefore, Dr. D-Flo wanted a large print area, so insted of retrofitting a 3D printer he took a CNC router frame and strapped his DIY syringe pump to it. There was one problem with this approach: The Pololu stepper drivers that come with the RAMPs 1.4, a 3D printer controller board, are unable to supply enough current for the CNC router's power hungry NEMA 23 stepper motors. Dr. D-Flo hooked up the RAMPs 1.4 to large "external" stepper drivers to get around this problem.




30 Hours




# Part Name Vendor Part Number (SKU) Unit Quantity Link
1 X-Carve Frame Inventables N/A N/A 1
2 Stepper Motor Driver Amazon N/A Part 5
3 RAMPS 1.4 3D Printer Controller Board Amazon N/A Part 1
4 Arduino MEGA Amazon N/A Part 1
5 DC Power Supply Amazon N/A 24V 20A 480W 1
6 22 Gauge Wire Amazon N/A 6 spools 1
7 Header Wiring Kit Amazon N/A Kit 1
8 1/8" PET Expandable Braided Sleeving Amazon N/A 25 ft 1

The BOM may contain affiliate links that provide monetary kickbacks to Dr. D-Flo. These funds are used to pay for this website and future projects.

# Tool Name Vendor Tool Number (SKU) Unit Quantity Link
1 Crimping Tool Amazon N/A Tool 1
2 iFixit Tool Kit Amazon N/A Kit 1
This food printer operates almost identically to a normal 3D printer. It is strongly recommended to watch Dr. D-Flo’s How to Build a 3D Printer and read the supplemental material found here.

Walk Through

A Closer Look at RAMPs 1.4

RAMPs 1.4
Figure 1: RAMPs 1.4

RAMPS 1.4 can accept 5 stepper drivers, 3 for the x, y and z axises and 2 for a dual extruder setup. Typically, these are A4988 drivers, which are only capable of supplying up to 2 amps for a 2-phase stepper motor. This is not enough amperage to power the NEMA 23 (140oz-in) stepper motors that come standard with the X-Carve. Therefore, the A4988 stepper drivers need to be replaced, so it is important to understand how these drivers interface with RAMPS. The A4988 sit on a breakout board known as a StepStick. Each StepStick has 16 male pins and RAMPS has 5 groups of the corresponding 16 female sockets, one for each stepper driver. However, only 4 of these 16 sockets are important. The 4 important sockets are Pulse, Direction, Enable and Ground (pictured to the right). The Enable pin is optional for idling the power when pausing, but not necessary. These 4 pins will need to be connected to the "external" driver. The replacement stepper drivers Dr. D-Flo used were 5 ST-M5045 by SainSmart. These drivers are capable of driving stepper motors up to 4.5A and have some serious micro-stepping abilities. These drivers are overkill and cheaper options like the SMAKN TB6600 should work as well. Any stepper drivers that accept TTL level input for the direction and step should work. Basically, any stepper driver that accepts GND and 5V logic for the inputs.


Wiring guide for connecting RAMPs 1.4 to external stepper driver
Figure 2: Wiring guide for connecting RAMPs 1.4 to external stepper driver

Use the header wiring kit to create a custom cable harness connecting the Pulse, Direction, Enable and Ground pins of the RAMPS to the driver as pictured above. The Ground pin is in parallel with the negative connections. Braided sleeving will improve the appearance of the wire run.

The jumpers that are typically used to set micro-stepping on the pololu drivers are unnecessary if your stepper drivers, like the ST-M5045, have switches on the side to set micro-stepping. 16 or 32 micro-steps is perfect but not any higher in order to preserve torque. Make sure you make note of your mico-step value for a later step.

Discussion and Feedback

Do you need more help? The best way to get your questions answered by Dr. D-Flo and other DIYers is to post a question on the forum. Click here for the forum topic specific to this project.

Rate this Project: or

Did you encounter broken links or misinformation while reading this article? Please bring these issues to our attention by providing your feedback below.

We'll never share your email with anyone else.