A Comgrow T500 Rework to install an RC8 Voron Stealthburner, complete with ChaoticLabs CNC Tap for nozzle based probing and Auto-Z offset, and CANBUS single cable intergration. This should be considered a moderately advanced build; you will need experience or be willing to learn configuring Klipper, crimping/soldering wire, using heat-set inserts, and be comfortable dissasembling/reassembling the T500. If your printer blows up into a million pieces (or otherwise doesn't work like you want it to), you are responsible. I've been running this setup for the better part of a year without issue, and there are several other VoronT500's out there in the wild running nicely. I did my best to document my process and make the configurations foolproof, but I may have missed something somewhere. You may need to use your brain a bit to troubleshoot! Respective rights and thanks go to the VORON team of course, as well as BTT and CHAOTICLABS for their documentation.
The guide below will cover the full T500 conversion; you may be able to deviate if you just want parts of it (for example; enabling sensorless homing on your stock T500) or you want to use different components (such as a different toolhead board, different CANBUS adapter, or not using CANBUS at all), but you're on your own if you do so.
- VORON TAP is far more accurate than the stock inductive Z probe, and is not prone to thermal drift.
- TAP allows for automatic Z offset, every print, regardless of print surface. "Always perfect first layers"!
- The modular design allows you to change out hotends easily, or use different hotend styles than the stock one. This also makes maintenance or failure recovery WAY easier.
- The LED's on the hotend can show the current printer status, change as the printer heats up to visually show temperature, and illuminate the nozzle while printing.
- The VORON Stealthburner allows you to use more off-the-shelf, higher quality components that are easy to obtain and replace. It's difficult to get replacements for Comgrow proprietary parts (parts can take weeks to ship).
- An additional ADXL sensor on the X axis simplifies input shaping.
- Simplified wiring with CANBUS cuts the amount of wires running to the toolhead down to just one unified cable.
- It just damn looks cooler.
- ChaoticLabs CNC TAP V2. This is the nozzle probing system. It MUST be the V2
- BTT U2C V2.1 CANBUS USB adapter. This is the USB to CANBUS adapter
- BTT SB 2209 RP2040. This is the toolhead control board. You should get the 2209 RP2040 variant.
- Everything from Fasteners & Electronics section of the BOM of the latest VORON Stealthburner. Do not cheap out on the BMG extruder kit!
- A Stealthburner compatible Hotend of your choosing. I use the Bambu Labs hardened steel hotend assembly, but any stealthburner compatible hotend will work.
- If you use a Bambu Labs hotend, this adapter for the StealthBurner works well!
- A few extra parts you will need:
- 4x M3 5x4mm heat set inserts (same ones that VORONs use)
- 8x M4x40mmm Socket Heat Cap Screws (Or whatever style M4x40mm screws you would like, SHCS's are just the easiest to tighten during the build)
- A small length of PTFE tubing for the Stealthburner hotend mount
- A small spool of 20 AWG wire
- A small length of double sided mounting tape
THESE MUST ALL BE PRINTED FROM ABS OR ASA. THEY ARE DESIGNED FOR ABS. OTHER MATERIALS ARE NOT SUITABLE EITHER DUE TO THEIR TEMPERATURE RESISTANCE OR STRUCTURE CREEP OVER TIME; YOU HAVE BEEN WARNED
- 1x Complete Voron Stealthburner Assembly
- Optionally [but highly reccomended!] use the inline filament runout sensor located here. This replaces the main_body of the CW2 extruder.
- Ensure you use the Cable_Cover_for_PCB and the toolhead PCB spacer!
- You do not need to print the gantry mount or TAP mount; the extruder and toolhead cover screw directly into the CNC TAP
- 1x Toolhead Adapter Plate
- 2x Bed Spacers. Ensure these print perfectly flat with no warping, or it will throw off your bed level!
- 1x CW2 Cable Bridge
- 1x CAN Cable Strain Relief
- 1x U2C Adapter Plate
- You will also need some double sided mounting tape to secure this in the electronics bay
Print Settings:
- Layer height: 0.2mm
- Extrusion width: 0.4mm, forced
- Infill percentage: 40%
- Infill type: grid, gyroid, honeycomb, triangle, or cubic
- Wall count: 4
- Solid top/bottom layers: 5
- Supports: NONE
You can do the following sections in any order, they are just listed in the order I did them. Some of the steps will be linked to other guides for the non-T500 conversion specific parts as they cover them more in depth, and there's no need to reinvent the wheel.
- Flash both KATAPULT and Klipper to the U2C CANBUS adapter AND the SB2209 Toolhead board
- To make your life easier, do this before assembling anything.
- An excellent resource for CANBUS flashing I reccomend following is located here. There are subfolders for the U2C and the SB2209 rp2040.
- You may get stuck here for a bit; this can be a little tricky if you've never done it before, but its not overly difficult. Follow the guide linked above carefully, as the documentation that comes with the boards is a little out of date. Technically you can skip installing KATAPULT and just flash Klipper directly, but it will make updating klipper significantly more difficult later.
- Technically, flashing Klipper to the U2C is optional. You can probably comment out the "u2c.cfg" and go about your life; it just lets you update and manage it easier, and see it as a temperature sensor in Mainsail. This guide can help if you get stuck flashing Klipper to the U2C.
- Pro tip- flashing on the SB2209 rp2040 takes a SECOND. I reran the process many times becuase I thought surely it was failing, but it really does just take a moment to flash.
- Assemble the VORON Stealthburner
- Follow the build guide located here. This is a large step, and your toolhead will only function as well as you assemble it, so take your time.
- Attach and wire the SB2209 to the Stealthburner, following the build guide here; double check your wiring carefully for the CNC-TAP especially. The colors may not be standard on your TAP wiring, and putting them in the wrong order can fry your TAP sensor.
-
Start by inserting {4x} M3 5x4mm heat set inserts into the adapter plate. Take care to ensure they are perfectly level with the surface of the plastic.
(Ignore the very bottom two holes in the picture; they didn't make it into the final design)
-
Unclip the stock toolhead umbilical and drag chain mount, and move them out of the way. Unmount the stock T500 toolhead and drag chain plate. There are 4 screws around the outside of the plastic casing (keep these!), several screws holding the drag chain plate to the rail. You should be left with a metal rectangular sliding rail.
-
Using the 4 casing screws from the stock toolhead, attach the Adapter Plate to the rectangular sliding rail. Check to ensure the rail still slides back and forth.
-
Attach the ChaoticLabs CNC TAP to the Adapter Plate
- The attachment process is the same as the one located in the CNC TAP build guide
-
Attach the Stealthburner assembly to the CNC TAP. Check to make sure the whole assembly can slide up and down (the 'TAP' function)
- The attachment process for the Stealthburner is the same as the one located in the CNC TAP build guide
- Ensure you attach the cable bridge shown at the end of the build guide. We will not use the steel wire, but the bridge will provide strain relief and stability to the CANBUS cable port.
-
Check clearences, and appreciate how nice the Stealthburner looks mounted on the T500
The stock T500 gantry and bed are mounted in such a way that the gantry cannot drop low enough to touch the nozzle to the bed. Obviously, this is problematic. Because of the way the gantry is designed, there is no easy way to gracefully drop the toolhead low enough; thus, we have to go the other direction and raise the bed!
- "Wont I lose Z height??"
- Nope! In it's stock form, the T500 Z rails can raise the nozzle up to 550mm. With these spacers in place, you will still have 520mm of Z clearance (though it will still be software limited to 500mm), so there is no lost Z build height!
- "Wont these spacers melt so close to the bed? Are they strong enough?"
- Nope! They're far enough from the bed that they are well within the longterm operating temperature limit of ABS. ABS also does not stress creep over time, and should remain durable for the life of the printer
-
Remove the print surface, and remove the 8x M4 socket head screws using the access holes
-
Carefully raise the bed frame, and align the bed spacers to the long rectangular rails
-
Using 8x M4x40mm screws, bolt the bed frame to the Y axis rails through the spacers. Ensure everything is very tight and does not have any play; you dont want your bed level changing or your bed flying off its rails!
-
If you removed it in step 1, reattach the drag chain to the bed frame
-
Check to ensure the bed is able to slide all the way back and forth across its rails. If you did not use M4x40mm screws to attach the spacers, they may stick out from the rails and hit the Y Stepper drivers.
Thankfully for the most part we are SIMPLIFYING the wiring rather than making it more complicated. It should go without saying that your printer should be fully powered off and unplugged for the next few steps especially.
- Remove the electronics bay cover
- There are 6 screws, 4 in the front and two in the back
- You will have to slide the heatbed back and forth to reach them all
- Carefully unplug and remove the following items from the printer. You will need to cut zip ties and undo screws where appropriate:
-
The stock toolhead umbilical (you will need to cut open the Z axis wiring loom to remove this fully. Do NOT cut or remove the X axis stepper wires)
- Remove the umbilical from the X axis drag chain; we will still utilize the drag chain. Unscrew the mounts on the drag chain and move it as close to the Z axis rails as you can, then reattach it
-
The X and Y axis endstops (you will need to cut open the Z axis wiring loom to remove this fully. Do NOT cut or remove the X axis stepper wires)
-
Flick the switch highlighted below to "ON" to enable sensorless homing
- Using at least 20 AWG wire, connect the U2C to the T500 power supply
-
There are two open attachment points for power and ground on the stock power supply you can utilize. This is an example; please pay attention to which one is negative and which one is positive
-
Connect the wires from the +/- power supply to the green VIN/GND points on the U2C
-
Do not get them backwards unless you want to fry your boards!!!
-
Insert the jumper included with the U2C on the pins labled 120R, near the USB-C port
-
Mount the U2C in the electronics bay using the printed mount and double sided tape to secure it
- Run a USB-C to USB-A cable from the U2C an open USB port under the T500 screen, following the existing cable routing path from the stock mainboard. Zip tie up the excess; keep it neat!
- Crimp the end of the long cable included with the SB2209 with the Molex Microfit 4 pin connector that came with the U2C. Take great care that you align CAN_L, CAN_H, GND, and VIN appropriatly (see pinout above; the black 4 pin connector next to the large white one), or you will pop your toolhead board.
- You do not need to shorten the cable; there is room in the electronics back to tuck the slack away nicely.
- Using the screws on top of the Z axis, move the toolhead mount as far up the Z axis and as far to the right of the X axis as it will go.
- This will determine how much cable length you need
- Thread the CANBUS cable from the toolhead port through the X axis drag chain, following the same path the stock umbilical cable did into the electronics bay. Use the same anchor points to attach the cable to the edge of the X axis and the bottom of the Z axis
- LEAVE SOME ROOM FOR SLACK. While you want these cables managed nicely, you dont want them routed so tightly that they're damaging the things they're attached to, or the internal wiring. Dont attach it so tightly that the Z axis rips the cable out at max height!
- Route the cable cleanly through the electronics bay to the U2C. Plug it in, then zip tie up the rest of the slack to one of the stock anchor points.
- Zip tie the CANBUS cable to the X axis stepper wire to keep everything clean and organized
- Finally, Zip tie the CANBUS cable to the edge of the drag chain. The plasic mount on the EBB cable will provide plenty of strain relief
Dont think, just double check them
- Power supply POSITIVE is wired to U2C VIN. Power supply GROUND is wired to U2C GND
- CAN_L, CAN_H, GND, and VIN on the CANBUS cable are aligned to the CAN_L, CAN_H, GND, and VIN pins on the U2C
When you're 100% sure everything is lined up, plug your printer in and flip the power on. Check to make sure the stock mainboard, the U2C and the SB2209 all light up (and that nothing goes pop!). When you're satisfied with your work, reinstall the electronics bay cover and screw it back down.
- SSH into your printer. The username is mks, and the password is makerbase. Install KAMP on your printer, located here
- Access your printers web-ui. In the machine tab, delete ALL the config files.
- Download the Klipper Configurations folder from this Github (here), and upload them ALL to the printer's config section.
- Configure the annotated sections of printer.cfg, toolboard.cfg, and u2c.cfg. You will need to fill in the canbus_uuid sections to to tell your printer the CAN addresses of your U2C and SB2209, as well as configuring your sensorless homing (info below)
- Save and click 'firmware restart'; resolve any errors that Klipper may throw, if any (the error message will tell you what the configuration issue is).
DO THIS BEFORE ATTEMPTING TO HOME THE PRINTER
- Once Klipper has successfully loaded and can interface with the U2C and SB2209, navigate to the machine page of the web UI and press 'sync endstops'
- Endstop Z should be 'OPEN'
- By hand, move the toolhead up to the top of it's travel to trigger the CNC TAP sensor. Hold it in place and click the 'sync enstops' button. Endstop Z should now be marked as 'CLOSED'
- Additionally, there should be a blue light on the rear of the TAP sensor that turns red when triggered. If this doesn't happen, you've either wired the sensor wrong or it is faulty.
DO THIS BEFORE ATTEMPTING TO HOME THE PRINTER
- Follow the guide located here to calibrate the sensorless homing.
- The default configurations are made to work with sensorless homing, and are largely preconfigured. You can start from "Finding the right StallGuard threshold". You do not need to add sensorless homing macros, I built them in. Ensure that your sensitivity numbers are high enough that you do not damage the printer, but low enough that the machine is consistently able to home itself.
Update your Z offset
- Remember, with Tap, your nozzle IS the probe. You'll need to manually calibrate the probe's Z offset by using PROBE_CALIBRATE and your chosen leveling method (I use a sheet of paper)
- Ensure that your printer can reliably home X, Y, and Z.
- Test that your Extruder, Hotend, Hotend Fan, Part Cooling Fan, and [optionally] the runout sensor all work as expected.
- PID Calibrate your Hotend following this guide
- Follow the Ellis3dp print tuning guide to dial in your Stealthburner
- Configure Input Shaping on both X and Y
- You can reference this guide for help
- Your X axis now has a built in accelerometer. You will still need to plug in the included accelerometer and mount it on the Y axis, the same way you would do on the stock T500.
- I use the SHAPER_CALIBRATE macro for automatic calibration. It will measure both X and Y sequentially and apply the best settings automatically.
- Retune your Pressure Advance
- Follow this guide from the Orca Slicer wiki. You shold set this number in the Orca Slicer filament profile settings, rather than setting it in the Klipper configs. It will be different for every filament and between brands.
- Pat yourself on the back for a job well done! Edit your slicer settings as shown below, and then do a test print!
- Edit your printer settings "Machine G-code" tab as follows:
- PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] CHAMBER=[chamber_temperature]
- PRINT_END
- In the 'Quality' tab, enable Arc Fitting
- In the 'Others' tab, enable
- Label Objects
- Exclude Objects
There are two errors you may see in your console when starting a print:
- Unknown command:"SAVE_LAST_FILE"
- Error evaluating 'gcode_macro PRINT_START:gcode': jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'BED' These are caused by the non-standard version of klipperscreen that comes built into the T500, and makes calls to incorrectly labeled markers. Thankfully, they don't actually impede the printing, so you can ignore them! You can resolve this by installing the standard version of KlipperScreen using KIAUH, which comes built into the T500