All Duet boards support the PanelDue colour TFT touch screen control panel. Some Duets also support monochrome LCD screens with rotary encoders
Connecting a PanelDue
There are two cable options for connecting the PanelDue, both options are included with the PanelDue V3 kit. Option 1 is the included 4-wire cable with Molex KK connector ends. Option 2 is the included 10-wire ribbon cable. For some boards, both cables need to be plugged in to enable both TFT panel and SD card socket.
Information for connecting older versions of the PanelDue is available here: https://miscsolutions.wordpress.com/pane...
PanelDue v3.0, 5i and 7i connection matrix
|4-wire||ribbon||4-wire and ribbon|
|Duet 3 MB6HC||PanelDue, no SD||see below||see below|
|Duet 3 Mini 5+, Duet 3 MB6XD||PanelDue, no SD||PanelDue, SD||no reason to use both|
|Duet 2 WiFi/Ethernet v1.02 and later||PanelDue, no SD||PanelDue, SD||no reason to use both|
|Duet 2 WiFi/Ethernet v1.0, v1.01||PanelDue, no SD||SD only||PanelDue, SD|
|Duet 2 Maestro||PanelDue, no SD||PanelDue, SD||no reason to use both|
|Duet 0.8.5||PanelDue, no SD||See Using external SD card socket|
|Duet 0.6||See Note||See Using external SD card socket|
Option 1: 4-way cable
- Compatible with all Duets and all PanelDues
- Provides longest cable run
- SD socket on PanelDue not accessible; use ribbon cable or see notes for SD connectivity
|Duet 3||IO_0||Only IO_0 supports PanelDue|
|Duet 2 WiFi/Ethernet||PANELDUE connector|
|Duet 2 Maestro||PANELDUE connector|
|Duet 0.8.5||PANELDUE connector|
|Duet 0.6||Expansion header||See note below for constructing special cable|
Use a 4-way cable terminated in Molex KK or compatible connectors. See below for connections for specific Duet boards.
The length of the 4-way cable is not critical, however the resistance per conductor should not exceed 0.1 ohm. The SD card socket on the TFT panel will not be functional. The cables supplied by Escher3D and Duet3D are about 800mm long. There have been reports of cables up to 1500mm long being successfully used. Take care to route the cable away from motor and endstop cables. Twisting the cables may help prevent cross talk interference.
Duet 3 (all main boards)
A PanelDue can be connected to connector IO_0 using a 4-core cable wired like the one shown in the images below. The 4-wire cable supplied with the PanelDue has a 4-way Molex KK connecter on each end, but is supplied with a 5-way Molex KK connector for use with Duet 3. You will need to rewire one end. The 4-wire cable does not allow access to the SD card socket on the PanelDue.
NOTE: the Duet 3 pin order in the table below is not the physical order. See the diagram for the physical pin order.
|PanelDue pin||Wire colour||Duet 3 IO_0 pin|
|+5V||Red||5V_EXT (pin 5)|
|GND||Black/yellow||GND (pin 3)|
|Dout||Blue||IO_0_IN (pin 2)|
|Din||Green||IO_0_OUT (pin 4)|
Duet 2 WiFi, Ethernet and Maestro
For PanelDue 5i and 7i, connect the supplied 4-wire cable as shown.
Duet 2 WiFi v1.0 and v1.01
Older versions of the Duet 2 WiFi/Ethernet need both the 4-wire and ribbon cable to be plugged in to use the TFT Panel and the SD card socket, when connecting PanelDue v2.0 or v3.0.
Use a 4-core cable terminated in a Molex KK or compatible connector at the PanelDue end and a 2x4 Dupont-style connector at the Duet end. This plugs into the end of the expansion connector. See https://miscsolutions.wordpress.com/pane....
Option 2: Ribbon cable
- Available for PanelDue V2.0, V3.0, 5i and 7i only
- Compatible with Duet 3 Mini 5+, Duet 3 MB6XD, Duet 2 WiFi / Ethernet / Maestro
- Supported on Duet 3 MB6HC requires RRF 3.4 and later, and modified wiring loom; see below
- Supports use of PanelDue SD card slot
- Connects to PanelDue_SD on Duet 5 Mini 5+ and Duet 3 MB6XD, CONN_SD on Duet 2
- Cable length limited to 400mm for reliability
- For PanelDue V2.0, both the ribbon cable AND 4-wire cable need to be connected to enable use of SD card slot.
|Duet 3 MB6HC||See below|
|Duet 3 Mini 5+, Duet 3 MB6XD||PanelDue_SD|
|Duet 2 WiFi/Ethernet/Maestro||CONN_SD|
|Duet 0.8.5||Expansion header||See SD notes for constructing special cable|
|Duet 0.6||Expansion header||See SD notes for constructing special cable|
- In order to use the SD card slot on the PanelDue, you must use the ribbon cable option. If you do not wish to use the SD card slot, it's recommended to use the 4-wire cable option described in Option 1.
- If a Duet 3 with a non-integrated PanelDue, PanelDue 5i v1.0 or PanelDue 7i v2.0, see 'Card detect signal' section below.
- The Duet 3 MB6HC has no PanelDue_SD socket. To use the external SD card, it requires RRF 3.4 or later, and a special wiring scheme; see 'Duet 3 MB6HC using ribbon cable' section below.
- On Duet 3 Mini 5+ and Duet 3 MB6XD, the PanelDue connector shares the io0.out and io0.in pins, so IO_0 cannot be used at the same time.
Connect a 10-way ribbon cable between socket X5 on the PanelDue and socket CONN_SD (Duet 2) or PanelDue_SD (Duet 3). The connector is a standard 10 pin 2 row 2.54mm pitch box connector that accepts IDC connectors for 1.27mm ribbon cable.
(Photo from the awesome https://www.flickr.com/photos/adafruit/1...)
In tests using standard 28awg 1.27mm spaced ribbon cable, 400mm worked reliably but 800mm did not. So 400mm is the maximum recommended cable length. You can also get 26awg 1.27mm ribbon cable, and by using such cable you may be able to achieve reliable operation with cables longer than 400mm.
Caution: if you are using a thermocouple and/or PT100 daughter board, the use of long ribbon cables between the Duet and PanelDue may affect communication between the Duet and the daughter boards, because the ribbon cable connection to the SD card on PanelDue uses the same SPI bus as the daughter boards.
Duet 3 MB6HC using ribbon cable
Although the Duet 3 MB6HC does not have a connector for the PanelDue ribbon cable, if access to the SD card on PanelDue is required then this is possible using a special wiring arrangement. You must use RepRapFirmware 3.4 or later, and you must enable the external SD card using this command:
M950 D1 C"''cs_pin''+''cd_pin''"
where cs_pin is the pin that the SD card CS line is connected to and cd_pin is the pin that the SD card detect pin (if available) is connected to. For these pins, if you are not using a temperature daughter board then we suggest that you use CS0 and CS2 respectively on the SPI daughter board connector to simplify the wiring; otherwise use the output pin and the input pin on one of the IO connectors. So the M950 line would look like this:
M950 D1 C"spi.cs0+spi.cs2"
or (for example)
M950 D1 C"io3.out+io3.in"
Note: if you are using an older version of either PanelDue 7i or PanelDue 5i, or a non-integrated version of PanelDue, then those do not support the CD signal. In that case you should omit the second port, for example:
M950 D1 C"spi.cs0"
The required wiring is as follows
|PanelDue ribbon cable pin||Signal name||Duet 3 MB6HC pin|
|2||GND||Temperature daughterboard pin 2|
|3||CS||Temperature daughterboard pin 3 (spi.cs0) or IOx OUT|
|4||SCLK||Temperature daughterboard pin 4|
|5||MOSI||Temperature daughterboard pin 5|
|6||MISO||Temperature daughterboard pin 6|
|7||CD||Temperature daughterboard pin 7 (spi.cs2) or IOx IN|
|8||+3V3||Temperature daughterboard pin 8|
If you have no temperature daughter boards installed, then one way to cable this is to use both the ribbon cable and the 4-way cable, and remove conductors 1, 9 and 10 of the ribbon cable as illustrated here. Caution! Using a ribbon cable with all conductors present will feed +5V into the microcontroller!
Card detect signal
The card detect signal (CD) is used to tell the Duet whether a card is inserted or not. Non-integrated versions of PanelDue (V2, V3) and older versions of PanelDue 5i and 7i (v1.0 of the 5i and v2.0 of the 7i) do not provide a card detect signal.
Duet 2 boards do not support the card detect signal on the external SD card, so can never tell whether a card is inserted or not except by trying to read it, and can't detect a card being removed. No modifications are required connected older or newer PanelDue, or other external SD card adapters, to Duet 2 boards.
Duet 3 boards do support the card detect signal. Newer versions of the PanelDue 5i and 7i (v1.01 and later of the 5i and v2.01 and later of the 7i) provide this signal.
However, if you use a non-integrated versions of PanelDue or older versions of PanelDue 5i and 7i with Duet 3, it is necessary to ground the card detect signal, or the firmware will permanently think no card is inserted. There are a number of ways to achieve this.
Modify the PanelDue
This mod will enable the card detect signal. See the pictures below showing how to modify a PanelDue 5i v1.0. Connect a wire (thin enamelled copper in this instance) from the SD card socket Card Detect pin to the appropriate pin on the ribbon cable connector.
You can alternatively solder a jumper wire between GND and NC (pin 7, above Dout), though the firmware will see the SD card as always being present.
Modify the ribbon cable
Modify the ribbon cable by connecting the card detect wire to ground. The firmware will see the SD card as always being present.
Duet 3 Mini 5+
On the Duet 3 Mini 5+ you can ground the card detect signal by bridging pins 2 and 4 of the EXP2 connector as shown here. The firmware will see the SD card as always being present.
RepRapFirmware 3.x and later: Using a PanelDue with Duet 3 and Duet 2 and RRF3 will require
M575 P1 S1 B57600 being present in config.g.
RepRapFirmware 2.x and earlier: In RRF2 the command above was assumed as the default, so no additional configuration is required.
PanelDue firmware and RRF compatibility
Generally it is best to run the latest version of the PanelDue firmware that is supported by the RepRapFirmware version on your Duet mainboard. See: Installing and Updating PanelDue Firmware
From RRF v3.2, PanelDue firmware releases are co-ordinated with the RRF release, and share the same version number. Use the PanelDue firmware version that matches your Duet mainboard's firmware version.
|RepRapFirmware version||PanelDue firmware version||Notes|
|3.2 and later||Use matching firmware number||3.2 and later uses RRF 3 Object Model, not backward compatible|
|3.11 and earlier (2.x, 1.x)||1.24||See notes below|
Notes on PanelDue firmware v1.24
The PanelDue firmware v1.24 assumes a fixed relationship between bed, tools and heaters. Please note the following:
- PanelDue will display the bed heater H0 first (even if it is disabled), then iterate the defined tools. It then iterates the defined heaters below this. It expects a 1:1 relationship between tools and heaters. This means:
- if you have a machine that uses one heater for more than one tool (eg a 2-into-1, filament-swapping hot end), it will display more tools than heaters. Tools may not line up with their respective heaters.
- if you have more heaters defined than tools (eg extra bed heater/chamber heater, or a tool that uses multiple heaters), you'll have more heaters than tools.
- The PanelDue also iterates the heaters from the first defined heater to the last, including all heaters in between, whether defined or not. This means if you have a heater defined on H0 (bed) and one on H5 (Duex output), it will show all the ones in between, eg H0, H1, H2, H3, H4 and H5. For an example, see |https://forum.duet3d.com/post/136207|this forum post|. Ideally, configure heaters on consecutive heater connections.
- Due to constraints on display resolution, PanelDue can only display 7 heaters in total on 5" and 7" panels, and 5 on 4.3" panels. If there are more heaters and/or tools than this, some columns will overlap.
- PanelDue does not recognise Chamber heaters, or extra heated beds. It will show them as heaters, though.
These restrictions are largely removed in later versions of the PanelDue firmware. However, they will require you to update RepRapFirmware on your Duet mainboard.
Using the external SD card socket on the LCD panel
This information also applies to a stand alone SD or micro SD card socket
You can use the external SD card socket on the LCD panel if you have used a ribbon cable as described above. Please note, the SPI interface provided by this SD card socket is much slower than the on-board SD card socket built into the Duet. Therefore we recommend that you do not upload files to this card over the network. Use the external SD card socket only if you want to write files to the SD card on a PC and then move the SD card to your printer.
To access the second SD card socket, you will need these firmware versions:
- DuetWiFiFirmware/RepRapFirmware 1.16 or later
- DuetWebControl 1.13 or later
- PanelDue firmware 1.15c or later
Caution! Do not use an SD extender cable from the SD socket on the Panel Due. Some types of SD card extender cable have been found to damage the SD card socket. Damage to the SD card socket from using an extender cable is not covered by the warranty.
Using the SD card socket with other PanelDue version and Duet version combinations
You will need to make a custom 5-way cable using this table of connections. For the PanelDue 1.1, the X5 connector pins are numbered from the bottom end of the connector (the end close to the X5 legend). On the Duet 0.6 and 0.8.5 you need RepRapFirmware 1.17d or later to get support for the second SD card.
|SD signal name||PanelDue 1.1 X5 pin #||PanelDue 2.0 X5 pin #||Duet 2 signal name||Duet 2 CONN_SD pin #||Duet 0.6/0.8.5 signal name||Duet 0.6/0.8.5 Expansion pin||DueX4 Expansion1 pin|
Connecting a 12864 mono graphics LCD display with rotary encoder
There are two types of controller chip commonly used in these controllers: ST7920 and ST7567. Some Duets support one or both of these types - see below for details. Both types use a menu system stored on the SD card, see 12864 display menu system.
|Duet 3 MB6HC||N||N|
|Duet 3 Mini 5+||N||Y|
|Duet 2 Maestro||Y||Y*||*Requires modified wiring loom|
|Duet 2 WiFi / Ethernet||N||Y*||*Requires modified wiring loom|
12864 display using ST7920 controller chip
These displays are typically clones of the RepRapDiscount Full Graphic Smart Controller and look like this. The better ones include a contrast adjustment potentiometer. Unfortunately some manufacturers of other displays using the same controller chip reverse the pinouts on the two ribbon cable connectors. The ST7920 controller chip is invariably powered from 5V, which means that the display need 5V input signal levels.
To configure this type of display in RepRapFirmware, use the M918 command with display type parameter P1.
12864 display using ST7567 controller chip
An example of this is the Fysetc Mini 12864 Panel. The controller chip is run from 3.3V, so these displays normally include level shifters which tolerate a wide range of input voltages.
To configure this type of display in RepRapFirmware, use the M918 command with display type parameter P2.
The contrast setting for these displays is done in software. the M918 command supports a C parameter for this purpose. It is also necessary to set a resistor ratio parameter in software, which can be done using the M918 R parameter.
Duet 3 Mini 5+ support for 12864 displays
Duet 3 Mini provides two 2x5 ribbon cable headers for connecting a Fysetc 12864 Mini Panel version 1.2 or 2.1 (not 2.0) or compatible ST7567-based controller. When using a version 2.1 controller, the colours of the three Neopixel LEDs built into the display can be set using the M150 command with LED type parameter X2.
We do not recommend connecting a 12864 display with ST7920 controller to the Duet 3 Mini because the 3.3V signals provided by the Duet 3 Mini do not meet the specifications of the ST7920 controller chip when it is powered from 5V. If you do wish to try it, you will most likely have to reduce the clock frequency (M918 F parameter) to get it working at all, and it may not work reliably. Also, note that when configured for 12864 display with ST7920 controller, RRF provides the CS signal on the pin normally uses for A0 because that more closely matched the pinout of typical 12864/ST7920 displays.
Duet 2 Maestro support for 12864 displays
The Duet 2 Maestro provides two 2x5 ribbon cable headers for a 12864 display using ST7920 controller. The connector pinout is compatible with the original RepRapDiscount design. There is also more information in this thread: https://forum.duet3d.com/topic/7609/conf....
RepRapFirmware 3.2 and later also support displays using the ST7567 controller. For these displays, use the standard cable EXCEPT the following two wires need to be connected to the EXPANSION header pins:
|Duet 2 Maestro output||Display input||Function|
|Expansion pin 4 (EXP_0)||EXP 1 pin 7||LcdA0Pin|
|Expansion pin 5 (EXP_1)||EXP 1 pin 8||LcdCSPin|
Duet 2 WiFi/Ethernet support for 12864 displays
RepRapFirmware 3.2 and later support a 12864 display using ST7567 controller. RepRapFirmware 3.3 added support for a short string of Neopixels on Duet WiFi and Ethernet, so boards that use a Neopixel for the backlight should be able to be controlled. See this thread on the forum for more details.
You will need to make up your own wiring loom, connected as follows:
|Duet 2 WiFi/Ethernet output||Display input||Function|
|CONN_LCD pin 2||EXP 1 pin 2||gnd|
|CONN_LCD pin 3||EXP 2 pin 6||EncoderPinB|
|CONN_LCD pin 4||EXP 2 pin 8||EncoderPinA|
|CONN_LCD pin 5||EXP 1 pin 5||LcdNeopixelPin|
|CONN_LCD pin 6||EXP 1 pin 6||LcdResetPin|
|CONN_LCD pin 7||EXP 1 pin 7||LcdA0Pin|
|CONN_LCD pin 8||EXP 1 pin 8||LcdCSPin|
|CONN_LCD pin 9||EXP 1 pin 9||EncoderPinSw|
|CONN_LCD pin 10||EXP 1 pin 10||LcdBeepPin|
|CONN_SD pin 1||EXP 1 pin 1||+5V|
|CONN_SD pin 2||EXP 2 pin 2||gnd|
|CONN_SD pin 3||EXP 2 pin 7||SD CS|
|CONN_SD pin 4||EXP 2 pin 9||sck|
|CONN_SD pin 5||EXP 2 pin 5||mosi|
|CONN_SD pin 6||EXP 2 pin 10||miso|
We do not recommend connecting a 12864 display with ST7920 controller because the 3.3V signals provided by the Duet 2 WiFi/Ethernet do not meet the specifications of the ST7920 controller chip when it is powered from 5V. If you do wish to try it, you will most likely have to reduce the clock frequency (M918 F parameter) to get it working at all, and it may not work reliably.
Connecting BigTreeTech colour displays
(Instructions from teamgloomy, thanks!)
The most recent version of the standard bigtreetech TFT firmware has built in support for RepRapFirmware. The pre-built images have this enabled by default.
Connection to the board
Use the pins +5V, GND, IO_0_OUT and IO_0_IN on the IO_0 header (Duet 3), or +5V, GND, TX and RX on the PanelDue header (Duet 2). These should be connected to +5V, GND, TX and RX on the TFT, making sure that TX and RX are swapped.
|BTT display||Duet 3 IO_0 header||Duet 2 PanelDue header|
Loading the firmware
There is now an RRF config.ini (on the SD card root). It needs to be renamed from config_rrf.ini to config.ini (replacing the original one for Marlin) for flashing of the firmware.
Add the following line to your config.g to enable the screen
M575 P1 S1 B57600