Two-color 3D prints without an AMS
You can print two colors on a single-extruder printer by changing filament at a set layer height: the printer pauses where the raised letters begin, you swap the filament, and everything above that layer prints in the new color. It works best on flat designs with raised text — name keychains, name plates and signs — and needs no extra hardware. Here's the whole process, from model to finished print.
Why it works
A layer-height color change splits a print horizontally: everything below the change is color one, everything above is color two. A name plate or keychain is perfect for it, because the base is a flat slab and the letters sit entirely on top of it. Swap the filament at the first layer of the letters, and the base comes out one color while the letters come out another — a clean two-tone look that's hard to tell apart from a multi-material print.
Step 1 — Make a model with raised text
Any flat model with raised lettering works. You could build one in CAD, but I made mine in 3DGEN — type the text, adjust a few sliders, and the file is ready in seconds in the browser, no CAD:
- The keychain generator raises the name off a body that's 3 mm thick by default (Thickness), with 1.5 mm letters (Emboss depth).
- The nameplate generator raises the text off a base plate that's 6 mm thick by default (the plate's Thickness), with 2 mm letters (the text Relief).
Write down the base thickness — that's the height where the color change goes. Letters of 1.5–2 mm or more give the second color enough layers to look solid.
Step 2 — Slice and find the change height
Load the STL into your slicer and slice it as usual. Drag the vertical layer slider in the preview up to the first layer of the letters — the first layer printed just above your base thickness. In the preview you'll see the base finish and the letters begin.
Step 3 — Add the filament change
Every major slicer can insert a pause or color change at that layer:
- PrusaSlicer: with the slider on the first letter layer, click the + icon next to it to add a color change (it writes an M600 command).
- Bambu Studio: right-click the + on the layer slider and choose Add Pause, then slice again.
- Cura: open Extensions → Post Processing → Modify G-Code, click Add a Script, choose Filament Change, and enter the layer number of the first letter layer.
Slice again after adding the change so it's written into the G-code, then send the print.
Step 4 — Swap the filament when it pauses
- When the printer pauses and parks the head, unload the first filament.
- Load the second color.
- Purge until the color runs clean — the first few centimeters still contain the old color mixed in.
- Remove the purge blob and any string from the nozzle so it doesn't land on the print.
- Resume the print.
Don't touch or bump the print bed during the pause — even a small shift misaligns the letters.
Step 5 — Add a third color (optional)
Layer changes work by height, so you can stack more than one. On a keychain or name plate with a raised frame, make the frame lower than the letters — say 1 mm against 2 mm letters — and add a second change at the top of the frame. Seen from above, the frame shows the second color and the letter tops show the third. The honest catch: the lower part of the letters' sides also prints in the second color, so a thin band is visible from an angle.
If you do have an AMS or a multi-material printer
Export the 3MF instead of the STL. Both generators save the base and the letters as separate objects (and the frame as a third object when you give it its own color), so you just assign a filament to each object in the slicer — no pauses needed, and the letter sides stay one clean color.
Troubleshooting
- The first layer after the pause is thin or missing: the nozzle wasn't primed. Purge more before resuming and wipe the nozzle clean.
- A blob or string of the old color on the letters: remove the purge and string from the nozzle before resuming.
- The new color looks muddy: keep purging until the filament coming out is fully the new color.
- Letters shifted: the bed or print was disturbed during the pause. Keep hands clear of the print while swapping.
- The change came a layer too early or late: recheck the slider — the change belongs on the first layer above the base thickness.
FAQ
Can I do multicolor printing without an AMS?
Yes, as long as the colors change by height. Flat designs with raised text or a raised frame are ideal — each color change is one pause and a filament swap.
Pause or color change — which should I use?
Use whichever your slicer and printer support. A color change (M600) usually walks you through unloading and loading; a pause just stops the print and waits for you to swap and resume.
What about the letter sides?
With one change at the top of the base, the letters print fully in the second color — sides included. Only extra changes (for a third color) leave bands on the sides.
Make it with 3DGEN
Type a name and export a keychain or name plate with raised letters — STL for a filament swap, 3MF with separate parts for a multi-material printer. Free, no CAD, all in your browser.
Open the keychain generator → Open the nameplate generator →