by C. Casquatch
No magic smoke
This is my documentation of building a Voron 2.4 R2 from a Formbot kit as a complete Voron Virgin. I’ve compiled my notes, mistakes, solutions, and resources to help others navigate their own build. Your build time will also vary depending on your circumstances - I was expecting it to take 2 weeks and I ended up taking a month and a half (this includes eating, breathing, working, pooping, etc).
Kit Used: Voron 2.4 R2 Pro+ CoreXY 3D Printer Kit with M8P+CB1 Board and Canbus Wiring System (w/ Dragon SF and 350 build plate)
Printed Parts: I printed all parts myself in fluorescent green and black eSun ABS. (Note: You don’t have to print parts yourself - Formbot offers a printed parts package, or you can use Voron’s Print It Forward program)
Control Board: BTT Manta M8P v2.0 with CB1
Toolhead Board: BTT EBB SB2209 CAN (RP2040)
Probe System: Voron TAP
IMPORTANT: Before you start building, I highly recommend reading through Zev-se’s Formbot Voron 2.4 build guide. It walks through all the Official Voron and Formbot instructions with very helpful tips and tricks specific to the Formbot kit. I found it halfway through my build and wished I’d seen it sooner.
You’ll be working with multiple manuals simultaneously - this is normal for a Voron build. Here are the documents I used:
Join the Voron Discord It’s full of helpful people who can answer questions and provide help troubleshooting. You’ll need it but make sure you research your problem first because 99.9% of the time someone has already had your problem and found a solution. You can search in different channels/chats.
I relied heavily on video guides to supplement the written documentation:
Primary Build Series:
Specific Component Videos:
TAP Installation:
EBB CAN Module:
Setback #1: I cut the A/B gantry belts too short. Fortunately, the amount needed for the TAP installation was just enough with a little extra remaining on the belts. Still, take your time measuring and cutting belts.
Setback #2: Cut wires when installing the PT1000 and heat cartridge because I was confused about where they connected on the board. I thought I needed to use different connectors - I did not. Reference pages 13-14 of the EBB manual carefully, double-check your board pinout to understand which wires go where, and always leave extra wire length. My main issue was that the PT1000 wire conduit was a type of fabric and i could not crimp properly, leading me to buy another PT1000.
Caveat: I got my original STL files from the Voron Website and Voron Github. Even with a complete kit and printing all the standard Voron parts yourself, some designs have been updated or improved since the kit was released. Here’s what I needed to print additionally during the build:
For BTT EBB Board:
Improved Umbilical System:
Other Useful Parts:
Enclosure Accessories:
The Formbot kit includes the hardware for the Nevermore V5 Duo filter for active carbon filtration, but does not include the printed parts.
Important: Use the Formbot-specific STLs from their repository: Formbot Nevermore STLs
I initially printed from the wrong repository and had to reprint. (I didn’t know that formbot had their own STL’s for it) Make sure to check the Formbot GitHub for the correct files before printing.
Additional references:
Print the regular housing (not XL) for this kit.
Y-Endstop:
Wire Identification: The X-limit switch and X-axis switch are the same thing. In the Formbot package, look for the short wire labeled “to canbus” - NOT the Y-stop wires which are much longer.
Watch this excellent linear rail prep video before installing your rails. Proper rail preparation is critical for smooth movement.
Follow this de-racking/gantry build video for proper gantry alignment. A square gantry is essential for print quality.
This part was frustrating because I was a dumbass. Make absolutely sure your CB1 is properly mounted and seated on the Manta board before doing anything else. I spent two days troubleshooting firmware issues only to discover my CB1 wasn’t installed properly onto my Manta board, so they weren’t recognising each other or responding to certain commands. Once I properly seated the CB1, all the issues I was having disappeared. Nothing makes you feel like a 5 year old in a grown-up body than realising you have to plug that one important thing into the other important thing for them to work properly.
Important: Use the Manta M8P configuration diagram to set jumpers correctly. Note that you don’t need the CB1 jumper if you’re flashing with the SD card - which we are, since the Formbot kit includes a 128GB microSD card for flashing.
Physical Connection: Make sure the CB1 is properly seated on the Manta M8P board via the pin headers (see the bolded note at the beginning of this section about my oversight).
If you’re using a Mac with Balena Etcher, you must give it full disk permissions in Security & Privacy settings before attempting to flash anything. I didn’t use my Mac to flash the SDcard, I think I was too frustrated to keep troublshooting more things so I ended up using my Windows machine with Etcher to successfully flash the bootloader onto the SD card.
Once I seated the CB1 correctly, I really only needed the Esoterical guide to get everything working see Esoterical’s comprehensive CAN guide.
That said, here are all the resources I consulted during my troubleshooting - I’m leaving them in because they may help if you encounter other flashing issues:
Essential Resources:
Helpful Videos (mostly unnecessary if CB1 is seated correctly):
DFU Mode Check: Use this command to verify DFU mode:
dmesg -HW
My Final Flash Commands:
Flashing Klipper to Manta via Katapult:
python3 ~/katapult/scripts/flashtool.py -f ~/klipper/out/klipper.bin -d /dev/serial/by-id/usb-katapult_stm32h723xx_330016001551313433343333-if00
Flashing EBB via CAN:
python3 ~/katapult/scripts/flashtool.py -i can0 -f ~/klipper/out/klipper.bin -u e06577a64bda
My Final UUIDs:
53f6a79a8f76e06577a64bdaToolhead in DFU Mode:
Bus 002 Device 005: ID 2e8a:0003 Raspberry Pi RP2 Boot
Final Configuration in printer.cfg:
[mcu]
canbus_uuid: 53f6a79a8f76
canbus_interface: can0
[mcu EBBCan]
canbus_uuid: e06577a64bda
canbus_interface: can0
Baseline Config File: Use this Voron M8P v2.0 config as your starting point.
Startup Guide: Follow the official Voron startup documentation to verify all pins match your hardware.
Look here: Every printer config file is different and needs to be created for your individual printer. This is why you won’t find many people sharing their complete config files - everyone’s setup is unique. Start with the baseline config and build yours from there. It’s frustrating when you’ve never built one before, but it’s necessary to avoid technical issues or other difficulties later on. This is also where following the Voron startup documentation comes in, and where the Discord community is good for troubleshooting.
Motor Mapping Problems I Encountered:
Unable to read tmc uart 'stepper_z3' register IFCNT
Printer is shutdown
Work through the startup guide to identify and fix pin assignments.
Test basic movement with these commands:
G91 ; Relative positioning
G0 X10 F3000 ; Should move RIGHT
G0 Y10 F3000 ; Should move BACK
For better TAP probe accuracy:
I implemented a two-stage QGL macro:
[gcode_macro QUAD_GANTRY_LEVEL]
rename_existing: BASE_QUAD_GANTRY_LEVEL
gcode:
# Pass 1: Initial Coarse Leveling
BASE_QUAD_GANTRY_LEVEL HORIZONTAL_MOVE_Z=10 RETRY_TOLERANCE=1
# Pass 2: Fine Leveling and Accuracy
BASE_QUAD_GANTRY_LEVEL HORIZONTAL_MOVE_Z=2
This performs a quick rough level first, then fine-tunes for accuracy.
Issue: Extruder wouldn’t work initially. As-in I could push the filament through the extruder while hot, no problems BUT it would not extrude by itself when given a command to do so.
Solutions:
I struggled with first layer consistency. Different prints would have varying squish quality even with the same Z-offset.
My Solution: Adjusting the idler screw tension (the screw that controls filament grip in the toolhead). Adjusting how tight it was (in my case, making it tighter) significantly improved consistency.
Additional Findings:
These guides were for dialing in print quality:
I created custom load/unload macros in a separate filament.cfg
These macros handle heating, loading/unloading, and proper tip forming automatically.This will change, as I would like to improve the way my printer behaves with different macros.
Consider implementing jontek2’s better print_start macro for improved print initiation routines.
If using SuperSlicer on Mac, you may encounter a null error on first download. This GitHub issue has the solution.
Building a Voron 2.4 R2 as a first-time builder is mind-bending but achievable if you remember to:
Congratulations, you’ve built yourself a sturdy box that can print plastic objects and also set your house on fire. How about that for multi-tasking.
This guide represents my personal build experience and solutions. Your mileage may vary. Always reference official Voron documentation for authoritative guidance.
tags: voron - 3d printing