Duet design

From RepRap
Revision as of 06:04, 7 November 2017 by T3P3 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Duet integral printer board based on 32 bit Arm processor was designed by T3P3 company with help of others.

The Duet boards (0.6: 4 drives and 0.8.5: 5 drives) are based upon the Arduino Due board design with added equipment to handle 3D printing.

Duet 0.6 was issued in December 2013 and Duet 0.8.5 in August 2015. A new generation, the Duet 2 Wiki and Duet 2 Ethernet were released in Aug 2016, see Duet3d for more information.

The information below refers to the first generation Duets, 0.6 and 0.8.5.


The 32 bit ARM cortex-M3 processor used (Atmel SAM3X8E) run at 84 MHz, have 96 kB of SRAM memory and 512kB flash memory. It is equipped natively with Ethernet and USB interface. The model used on Duet is enclosed in 144 pin package and have 103 I/O pins. Since a few years, this 32 bit arm processor chip is sold at a lower cost than 8 bit processors as found on 8 bit Arduinos (ATmega2560 or ATmega328P), with a difference of around 3 USD in quantities (ATmega2560). Due to the use of this processor, the signal voltage is 3.3V and using 5V on I/O pins may destroy the board as there is no protection.

The new generation Duet WiFi uses an Arm Cortex-M4 (Atmel SAM4E8E) controller at 120 MHz with 128 kB SRAM and different stepper drivers.


The processor Ethernet interface needs an added chip (here a Microchip KSZ8051RNL) for signal conversion , called a ‘PHY’ converter, which cost less than 1 USD in bulk. This make possible Ethernet connexion with fair speed at relatively low cost. It is indeed surprising that the Arduino designers decided not to implement Ethernet connexion on the Due board. An USB connexion is present and can be used for direct connexion or board firmware flash. There is a SD car reader, which is used to read the configuration files on the SD card at board start-up and for printing.

Current control

For motor current control, the Duet use a quad ‘digital potentiometer’ specialised circuit MCP44X1, which cost in bulk approximately 1USD. 5th motor current (on Duet 0.8.5) is directly controlled by processor pin.

Motor drives

The chip for motor drives are Allegro A4982, with 2A absolute maximum rating and are used at 1:16 microsteps. They are cooled by their bottom, the heat being transferred to board plane by thermal vias. These drive chips have over current and over temperature protection. Usable maximum current is unknown, some users having operated 0.8.5 it at 3x1.4A +1.6A with forced cooling. Board 0.6 have been proofed to work without cooling with 3x0.8A + 1.2A on Fisher.


The chip driver A4982 use a larger package than the common A4988 and so improve heat transmission to the board. The only other difference is the A4982 inability to run at 1:8 microsteps, which is irrelevant for a 32 bit board having no problem to issue the larger step rate required by 1:16 microsteps.

The board have 4 copper layers which insure a better heat diffusion through whole board.

This, coupled to a comparatively large board area insure a much better cooling than commonly used independent driver circuits.

A thermal image of the 0.6 board was done by its designer, but running only one stepper which is not quite representative of real world operation.

Power supply

Maximum allowed voltage is 30V.

A 5V buck converter (A4403, rating 2A) exist on board, however the board can accept an external 5V power supply. Board have been tested at 1.5A on 5V. The 3.3V voltage is taken from the 5V rail. The 3.3V current depends from own consumption and accessories (IR sensor, Panel), so to estimate current available for accessories supplied in 5V, you shall first subs-tract 3.3V peak current consumption.


The first board (Duet 0.6) was equipped with a 40 pin unique connector for steppers and end-switches. Such unique loom for all motors and switches was never used and this was abandoned on Duet 0.8.5. On the Duet 0.6, a 26 pin connector was installed to connect a Bed in addition to the Bed screw terminals. Again, this was never used and abandoned on Duet 0.8.5.

There is a 50 pins connector for a dedicated expansion board named Duex4 (adding 4 drivers and associated circuits), compatible between Duet 0.6 and 0.8.5 versions. This connector can be used to get signals or power supply if there is no expansion board present. RepRapPro was also selling a ‘shield’ for 2 added drivers.

Duet 0.8.5 does add a specific connector (serial communication) for an external panel control named PanelDue, which operate autonomously as a terminal. Duet 0.8.5 also add a specific connector for a Z-probe.

The signal line names are those used on Arduino Due, with extension for lines not used on Arduino.

It shall be noted that the end switches pin order is different from other boards, in order to avoid shorts if connectors are reversed (center pin is 3.3V).


The SAM3XE cost is slightly higher than the ARM processor used in Smoothieboard (NXP LCP1769) by 1$, but the SmoothieBoard chip don’t have native Ethernet interface. Smoothie processor is faster at 120MHz, but have less memory (64 kB vs 96 kB).

Due to lower processor cost, native USB and Ethernet control, this 32 bit board may cost less to manufacture than comparable 8 bits processor based board and some other Arm-based board. Indeed, RepRapPro was selling the Duet 0.6 for a lower cost than the 8 bit Melzi they were also supplying.

In the USA, the Duet 0.8.5 is sold 135 USD, to be compared to the Ultimachine RAMBO board 175 USD, one of the most complete 8 bit board, however without Ethernet connexion.

The Duet 0.6 board is cloned by a Chinese manufacturer, Replikeo and sold at 65 USD. It is a clone of the first Duet 0.6 issue, with minor differences with present 0.6 boards (notably thermistor resistance of 1K, instead of 4.7k on later 0.6 board issues).

As there is on the 0.6 board unused connectors and USB host capability, it may be possible to issue a 4 drives board with the same simplifications and improvement as the 0.8.5. Relocating the end switches connectors may also simplify board routing.

Selling quantity was not disclosed, but as the Duet 0.6 was the standard board for RepRapPro machines since the beginning of 2014, there is probably a few thousands owners. Till the issue of Duet 0.8.5, the diffusion of this board as an independent one for self-builders was low, due to lack of documentation and active commercial promotion. Active software development by independent developers and USA distribution have given this board (mid 2016) some momentum.

External links