Bring the Benefits of a CAN Bus to Your 3D Printer
The new PandaCAN Extruder board from PandaPi lets your 3D printer take advantage of a CAN bus.
All modern cars utilize a CAN (Controller Area Network) bus to facilitate communication between the various electrical systems and computers. That lets, for example, the windshield wiper switch and the power windows switches communicate on the same network, reducing wiring and simplifying network architecture logic. As it turns out, those factors can benefit 3D printers, too. The new PandaCAN Extruder board from PandaPi lets your 3D printer take advantage of a CAN bus.
PandaCAN provides a CAN bus between the extruder and the 3D printer controller board. Most printers have a minimum of 12 wires between the controller board and extruder carriage: four for the extruder motor, two for the thermistor, two for the heater cartridge, two for the hot end cooling fan, and two for the part cooling fan. You can easily add several more wires if you run additional fans or a leveling probe. PandaCAN replaces all of those with just four wires in total — two for power and two for communication. In addition to simplifying wiring, PandaCAN eliminates noise issues.
While PandaCAN won't reduce overall moving weight, since the board weighs more than the wires it eliminates, it could still improve print quality by lessening the resistance caused by a thick wire loom. It is debatable whether or not that will make a difference, but it is undeniable that PandaCAN makes your wiring harness easier to handle.
More importantly, PandaCAN reduces electrical noise. Stepper motor wires are notorious for producing a lot of noise, which can interfere with nearby systems. A stepper motor running next to a limit switch wire, for instance, can cause false triggers. The CAN protocol was developed specifically to be resilient to that kind of noise, meaning you won't need to worry about your extruder wires interfering with your probe wires.
The brain of the PandaCAN Extruder board is an ESP32, which interprets the CAN bus signals coming through an SN65HVD230 CAN transceiver. It has a TMC2209 driver for your extruder stepper motor and numerous connections for your fans, hot end, BLTouch sensor, and so on. At this time, it only works with PandaZHU and PandaM4 controller boards from PandiPi.