The Duet3D Toolboard carries the stepper motor driver, 3 mosfets. for heaters and fans, 2 fan tacho inputs, 2 temperature sensor interfaces, filament monitor, Z probe and endstop, along with an ARM Cortex M0 processor to handle them all. This reduces the number of wires needed to two power wires and two twisted pairs for the CAN bus. In comparison a direct drive extruder tool such as the E3D Hemera would normally need four wires for the stepper motor, two for the heater, three to five for 2 fans, and at least 2 for the temperature sensor. Total 11 or more wires. If a filament monitor is wanted, 3 more wires are needed; and if a Z probe is wanted, another 1 to 3 wires, totalling 14 to 17.
To make it easy to connect multiple direct driver extruders in a tool changer or other multi tool machine, we have also designed a Tool Distribution board. This takes power from the PSU and CAN bus from the Duet. It provides 4 power outputs for Toolboards using 2-pin JST VH connectors and 4 CAN connections for Toolboards using 4-pin JST ZH connectors.
- ARM Cortex M0+ processor running at 48MHz
- One TMC2209 stepper driver with stall detection and stealthChop. Maximum output current 1.6A peak, 1.1A RMS (pending qualification by thermal testing)
- One medium current output (Out0) intended for extruder heater, maximum current 5A.
- One 4-wire 12V fan output (Out1) (also accepts 2- and 3-wire fans) intended for use as the print cooling fan (when using a 4-wire fan, the tacho reading is valid at all PWM settings).
- One 3-wire 12V fan output (Out2 ) (also accept 2-wire fan) intended for use as the hot end fan (the tacho reading is valid only when running the fan at full speed).
- 0.8A total for OUT1 and OUT2 because the maximum output current of the 12V regulator is 1A, and the 5V rail is also derived from that regulator.
- Two thermistor or PT1000 inputs (Temp0 and Temp1). One (input Temp0) uses a 16-bit ADC for high resolution reading of PT1000 sensors.
- One 4-pin connector (IO_0) - example use case a Z-probe with 5V power. As of RRF 3.01-RC3, only Z probe modes 8 and 9 are supported (see Connecting a Z probe for details)
- One 3-pin connector with 3.3V power(IO_1) - example use case a filament monitor .
- One 3-pin connector with 5V power (IO_2) - example use case an axis endstop or tool pickup detection switch.
- Two push buttons
- Two LEDs
- 12 to 32V power input
- On-board 12V, 5V and 3.3V regulators
- CAN-FD interconnect to main controller board and other Toolboards or expansion boards
Toolboard wiring diagram
Click on the image for a larger version
Click on the image for a larger version
Click on the image for a larger version
The STEP file is available here:
The tallest components on the board are the screw terminals which project 8.5mm from the top of the PCB. (Note on revision 1.0 the out 2 screw terminal projects 10mm, this is not shown in the step file). When the JST power connector is fitted, the highest part is the latch on that connector, which at its highest point is nearly 10mm above the PCB surface, although the latch could be cut off if space was critical.
The mounting hole spacing has been designed to be compatible with the E3D Hemera extruder.
Connecting CAN-FD Bus and Power
Connecting using Duet 3 Tool Distribution Board
The Duet 3 Tool Distribution Board is available to simplify the connections to up to 4 Toolboards.
Apply between 12V and 32V to the VIN connector of the Tool Distribution Board. Then connect each tool to 1 of the JST VH terminals.
Each power connection is individually fused.
See here for CAN connection basics
Connect the 4-pin CAN connector on the Toolboard to one of the corresponding 4-pin connectors on the Tool Distribution Board, using a straight-through cable comprising two twisted pairs. One pair should use pins 1 and 2, the other should use pins 3 and 4. Note, this is not the same as for a CAN cable terminated in 6p4 RJ11 connectors, which by convention connects one twisted pair to the two middle pins and the other to the two outer pins.
Connecting WITHOUT Duet 3 Tool Distribution Board
It is also possible to connect the Toolboard directly to the Duet 3:
Supply between 12V and 32V to the VIN power connector on the Tool board through a fuse and observing the correct polarity. Inline blade fuse holders are readily available, pick the lowest rated fuse appropriate for your heater and motor current draw.
Connect the RJ11 socket on the Duet 3 main board to the correct 2 CAN pins on the tool board, and terminate the other 2 CAN pins on the tool board. If using one tool board, connect pins 3 and 4 (the middle 2 pins) of the RJ11 connector on the Duet to pins 4 and 3 of the tool board, making sure you get them the right way round i.e. CAN1_H in the Duet to CANH on the tool board, and connect a 120R termination resistor between pins 1 and 2 of the connector on the tool board. [Pins 2 and 4 of the tool board are interchangeable, as are pins 1 and 3.] Don't connect anything to pins 2 and 5 of the RJ11 connector on the Duet.
Buttons and LEDs
The board has two buttons. Button 0 is in the top left corner of the board and button 1 is to the right of it. Between the two buttons are red and green LEDs. In normal use, the red LED flashes slowly in sync with the main board to indicate that it has CAN sync, or flashes continuously and rapidly to indicate that it doesn't. It also flashes startup error codes, for example if the bootloader doesn't find valid firmware on the board.
The buttons can be used to generate triggers in the normal way. Their pin names are "button0" and "button1". The required pullup resistors are enabled automatically on these pins.
NOTE: the board will do a factory reset if you power it up with both buttons held down. The CAN address will be reset to the default (121) and the CAN bus timing will also be reset to default (1Mbps).
Commissioning a new Tool Board
All boards in the system must have different CAN addresses. Tool Boards are shipped set to a default CAN address (normally v121, but 10 for some of the initial production run). Therefore, if you have more than one new Tool Board, only one of them must be powered up and connected to the CAN bus. So disconnect power to all but one of them (you can leave the CAN bus connected if it's easier).
It is recommended to add the following to config.g, before any commands that reference any CAN bus connected expansion boards
G4 S1 ;wait for expansion boards to start
Check that you can communicate with the Tool Board, by sending M115 B121 (if that fails, try M115 B10).
You can reset the CAN-FD bus back to defaults (CAN Address 121, Bus speed 1Mbps) by holding down both button and powering up the board).
Updating the firmware
The firmware filename is Duet3Firmware_TOOL1LC.bin and this needs to be uploaded to the /sys folder of the SD card on the attached SBC, or the SD card in the Duet 3 main board if it is running in standalone mode.
Update the firmware by using the M997 B# command, where # is the CAN address of the new board.
CAUTION! On version 0.6 tool boards, the heater and fans on will be turned on when the board is powered up unless valid firmware is loaded. This means that the heater and fans will be on during a firmware update. This isn't normally a problem unless you have a very fast hot end heater, because the firmware update process takes only a few seconds. However, if the firmware update fails, the heater could be left on for an extended period of time. Therefore, when updating firmware, you should either disconnect the heater, or watch the red LED carefully and be ready to turn power off if it doesn't resume flashing in sync with the Duet 3 main board within a few seconds.
Set the CAN address
- Send command M115 B# to verify that the main board can communicate with the Tool Board, where # is the original CAN address (normally 121)
- Send command M952 B# A## where ## is the new address you want to use. We suggest you use addresses starting at 20 for Toolboards. So for the first Tool Board, if your new CAN board was at address 121, send M952 B121 A20.
- Power the system down and up again, or send M999 B121. This will cause the Tool Board to restart with the new address.
- Send command M122 B20 (or whatever address you chose) to verify that you can communicate with the Tool Board at its new address
- You can now power up the next Tool Board and commission it in the same way, choosing a different CAN address for it.
Connecting a BL Touch
The Toolboard supports probe type 8 (unfiltered switch) and 9 (BL Touch). To connect a BL Touch, see table below.
|Toolboard IO_0 connector pin||BLTouch pin||Colour|
|GND||GND||Black + Brown|
Connecting a filament monitor
RepRapFirmware 3.2 and later support filament monitors attached to tool and expansion boards. Connector IO1 provides a 3.3V supply and 3.3V input signal level, suitable for a Duet3D laser or Rotating Magnet filament monitor. Here's an example of connecting a Rotating magnet filament monitor to a tool board.
Here https://miscsolutions.wordpress.com/2020... is a blog detailing how to replace two of the original Bowden tools on an E3D Tool Changer with Hemera tools using tool boards.
PCB Revision History
PCB revision v1.0
- Recessed the VIN connector even more from the edge of the board, to improve ease of wiring.
- Changed OUT_0 terminal block to 3.5mm to make it easier to insert thicker heater wires
- Added IO_2 as an additional 3 pin IO header - an example use case is an endstop or tool pickup detect switch mounted on the tool.
- Changed Temp 1 to JST ZH to make space for IO_2
- Increased LED1's brightness
- The three pin terminal blocks used are slightly higher than the 0.6, this will be reverted to the normal height on the next production run.
- Added a pulldown resistor so that OUT0 defaults to off if no firmware is loaded
PCB revision v0.6
Changes from the prototype board listed below
- Removed TEMP2 input to make space for larger screw terminal headers
- Change power connector polarity and position/footprint to match other Duet 3s and make it easier to mount.
- 5V LED added
- Out0, Temp0, Out1, Out2,IO_0 and Temp 1 changed to screw terminals.
- Board outline changed to rectangular