PanelDue for 3D printers

This slideshow requires JavaScript.

The PanelDue is a full-colour touch-sensitive graphical control panel for 3D printers. Although primarily intended for use with Duet electronics, it also works with other 3D printer electronics that supports a true serial port and includes the required support in the firmware, for example RADDS. Support for PanelDue is present in RepRapFirmware and is in the process of being added to Repetier and Smoothieware.

These images shows the PanelDue controller paired with a 7 inch display.

How to get one

  • You can buy the controller board from us at Escher3D with or without a cable, and add your own display panel
  • You can buy a complete kit (controller, cable and display) from (UK).
  • You can buy the controller board with or without cable and display from Filastruder (USA).


Supported displays 4.3 inch, 5 inch and 7 inch TFT displays with resistive touch panel, SSD1963 controller, and 2×20 2.54mm pitch connector (see below).
Power requirement 5V power from host 3D printer
Supply current Board only: 35mA
With typical 4.3 inch display: 280mA
With typical 7 inch display: 650mA
Interface 2-wire async serial interface with 3.3V signal level (5V tolerant input). An external pullup resistor can be added to improve noise margin when driving 5V printer electronics. Connections to the SD card socket that is included on most compatible displays is available via a 10-way ribbon cable connector on version 2.0 PanelDue boards, and via 5 PCB pads on version 1.1 boards.
Processor On-board ATSAM3S2B processor with ARM Cortex M3 core, 128Kb flash memory and 32Kb RAM (256Kb/48Kb RAM also available for OEM use)
Options Pads provided for making connections to the SD card holder on the back of the display. Pads provided for 3 uncommitted outputs and ground from the on-board processor


There are four or five components to a PanelDue setup:

  • TFT screen with touch panel. See section “Obtaining a compatible display”.
  • The PanelDue controller board. This sits on the back of the display. Its main components are a 32-bit ARM-core processor, a 40-pin connector for the display, a piezo sounder, a voltage regulator, a micro USB socket for programming it, and a 4-pin connector for power and communication with your 3D printer controller board.
  • A 4-wire cable to connect the PanelDue to your controller board (or 3-wire cable if you use a separate power supply to power the PanelDue).
  • An enclosure. You will typically print this yourself on your 3D printer. You can find some printable designs here. Some PanelDue users have done their own designs, such as this one and this one. Before printing an enclosure, check that the design is for the version of the PanelDue controller that you have (1.0, 1.1 or 2.0) and for the correct display size.
  • You may need a separate power supply for the PanelDue, depending on whether your printer electronics can supply enough current on the +5V supply line for the TFT screen without overheating. If you will be connecting the PanelDue to a Duet 0.6, Duet 0.8.5 or Duet WiFi electronics board with the on-board switching regulator enabled (as in the Ormerod 1 and Fisher kits from RepRapPro and the Mini Kossel R3 kit from Think3DPrint3D), then you do not need a separate power supply. Ormerod 2, Huxley Duo and Mendel 3 owners should read the important note later in these instructions.

To update the firmware on the PanelDue, you will need a USB cable with a micro USB-B plug at the device end and a standard USB-A plug for your PC at the other. If your 3D printer uses Duet electronics, you can use the same cable that you use for connecting the Duet to your PC.

Obtaining a compatible display

Skip this section if you purchased a complete kit including display.

The key features of compatible TFT displays are:

  • 480×272 (4.3-inch displays) or 800×480 pixels (5- and 7-inch displays)
  • SSD1963 controller chip
  • Resistive touch panel controlled by a XPT2046 or compatible chip
  • 40-pin 2-row 2.54mm pitch header for making the connections.

2016-08-26 08.53.49To find suppliers of these displays on eBay, search for ‘4.3″ SSD1963’, ‘5″ SSD1963’ or ‘7″ SSD1963’ depending on which size panel you want. Then look for search results that include the resistive touch panel and show a picture of the back of the board with the correct 2×20 connector (see image). Most suppliers are in China and Hong Kong, however there are suppliers in Germany (eckstein_komponente) and the USA (nyplatform). Please note, we do not endorse any of these suppliers.


2015-11-17 14.24.40

1. If you will be using the 7 inch display with a PanelDue version 1.0 controller board then you need to add a wire to the back of the PanelDue board in order to supply power to the separate backlight power pin. See the image on the right for where to connect it (click on it to enlarge). The version 1.1 and 2.0 controllers include this connection already.

2. If the kit you purchased did not include a ready-made 4-way cable, make up the cable using the crimp pins and shells provided. Be sure to label or colour-code the wires. To connect a PanelDue to Duet electronics, see the photo on the right for the 4-way Molex pin connections at the PanelDue end, and the photo later on for the 8-way PCB header pin connections at the Duet e2015-01-19 13.46.43nd. Leave out the red (+5V) wire if you intend to power the PanelDue from the USB port. For other printer electronics, connect the Din pin on PanelDue to the Tx pin of the auxiliary serial port of your printer electronics, and the Dout pin to the Rx pin of the auxiliary port. Also connect the grounds of the PanelDue and the printer together. If your printer electronics includes a 5V switching regulator then you should be able to power the PanelDue’s 5V pin from it; otherwise we recommend that you provide power via the USB port.

3. Connect the 4-wire cable to the PanelDue controller board (you may not be able to get at it after you have secured the controller to the enclosure) – see photo above. If you bought a complete kit from Think3DPrint3D, the cable supplied may have a blue wire in place of the white one shown here.

4. Very important! Set the 3.3V/5V jumper to 3.3V (this is the voltage supplied to pin 2 of the 40-way connector). The 5V setting is only used with 4.3″ and 5″ displays from Itead. All other displays expect 3.3V and you are likely to damage them if you supply them with 5V.

5. Fit the display to the enclosure using four of the 2.9mm x 6.5mm self-tapping screws supplied with the PanelDue controller board. Make sure you fit it the right way round, so that there is room in the enclosure for the PanelDue too (next to the display or below it, depending on the model of display). Hint: while doing up the screws, press the screw in firmly with the screwdriver – this will reduce the risk of the mounting pillar delaminating.

2016-09-08-08-28-166. Plug the PanelDue on to the pins at the back of the display. Make sure it is the right way round, and mated centrally! For all PanelDue board versions, the 4-pin and USB connectors should be at the edge of the board that is to the side of the display, not underneath the display. For the version 1.0 and 1.1 boards, only a small part of the control board overlaps the display. The version 2.0 board is wider, and most of it overlaps the display.

The top image on the right shows a version 1.1 board mounted on the back of a 4.3 inch display, and the lower image shows a version 2.0 board mounted on the back of a 5 inch display.

7. If you have a version 1.0 or 1.1 board, use the remaining two 2.9mm x 6.5mm self-tapping screws to secure the PanelDue to the enclosure. The version 2.0 board uses a single mounting hole and self tapping screw.

Testing the board and updating the firmware

The PanelDue controller is supplied as standard with firmware for driving a 4.3 inch 480 x 272 pixel display. If you use a different display, then you will need to re-program the board with firmware for that display. There may be more recent firmware available even if you are using the recommended display.

Firmware updates are done via the USB interface and the bossac program, as follows:

  • If your 3D printer uses Duet electronics or an Arduino Due, then you should already have the bossac program and associated device drivers on your PC. If not, download and install them from Note: it appears that the GUI version of bossac doesn’t work under Windows 10, however the command line version (which you can get by following this link and then pressing the Download button) will work in a command shell under Windows 10).
  • Locate and download PanelDue firmware for your display. My firmware repository is at and you can find standard binaries in the Release directory. Choose firmware with 4.3 in the file name if using a 4.3 inch display, or 5.0 if using a 5 inch display, or 7.0 if using the 7 inch display. To download a binary, follow its link, then press the Download button.
  • Check that the free end of the 4-wire interface cable cannot short against anything.
  • Use a suitable cable to connect the micro USB connector on the PanelDue controller to a USB port on your PC. Caution! With version 1.0 and 1.1 PanelDue boards, take care not to exert too much sideways or up/down force on the USB connector, or you may pull the USB connector off the board. If the board has already been programmed then the backlight should illuminate.
  • Press and hold the Erase button of the PanelDue for at least one second. You can access this button by pressing the end of a straightened-out paper clip through the hole in the enclosure.
  • Release the Erase button, then press and release the Reset button. If you have a version 2.0 board then the backlight will turn off.
  • Identify the COM port number or port name of the PanelDue board on your PC. If you use Windows, you can do this via Start->Control Panel->System->Device Manager. Expand Ports (COM and LPT), and look for Bossa port. Make a note of the port number. If you can’t find the port, try repeating the Erase and Reset sequence, or disconnecting and reconnecting the USB cable, or try a different USB port on your computer. Note: the port number of the Bossa port for PanelDue will not be the same as the one you use when uploading firmware to Duet electronics.
  • Use bossac to program the board. Under Windows, open a command prompt and use this command:
    bossac.exe --port=COM9 -e -w -v -b PanelDueFirmware.bin

    Replace COM9 in this command by the COM port number you found, and PanelDueFirmware.bin by the path to your downloaded firmware file.

  • When bossac has completed and reported “Verify successful”, press the Reset button again. If you have successfully installed firmware that is correct for the type of display you are using, the display should be legible.
  • Whenever new firmware is uploaded, the touch panel calibration and touch pad orientation is lost. Therefore, on starting up the software enters the touch panel calibration phase. Touch the spots as instructed on the screen as accurately as possible. It is more accurate to use the tip of your fingernail or a stylus (print one!) rather than the pad of your finger. If the display is upside down or inverted left-right, you can correct it after touch calibration using the options provided on the Setup page.
  • Disconnect the USB cable.

After you have connected the PanelDue to your 3D printer, you can still update the firmware using the same procedure. There is no need to disconnect it from your 3D printer first.

Connecting the PanelDue to Duet electronics

Make sure your 3D printer is completely powered down (don’t forget to disconnect the printer USB cable!).

Duet WiFi, Duet Ethernet and Duet 0.8.5

PanelDuetWiringThese boards provides a dedicated PanelDue connector. Connect the PanelDue cable to it as shown here. The wiring order is reversed between the two ends of the cable.

If you have a PanelDue 2.0 board and a Duet WiFi or Duet Ethernet and you want to use the SD card socket attached to the display, connect a 10 way straight-through ribbon cable between the box headers on PanelDue and on the CONN_SD socket on the Duet WiFi.

2015-01-19 13.45.25Duet 0.6

If you have a Duet 0.6 board without the DueX4 expansion board, use the 8-way connector provided to connect the PanelDue to the end of the expansion connector on the Duet as shown here.

If you are using A Duet 0.6 with the DueX4 expansion board, then you need to connect the PanelDue to the 36-way expansion connector on the DueX4. You will can use the 8-way shell to connect pins 1, 4 and 5 and the 4-way header shell to connect pin 21. Here are the pin numbers:

Name Colour Duet expansion connector DueX4 expansion connector
+5V Red 1 1
Gnd Black 2 21
URXD (for Dout) White or blue 7 4
UTXD (for Din) Green 8 5

Important! As already mentioned, some printer electronics (e.g. Duet 0.6 if you use an external 5V linear regulator) are unable to provide the current on the 5V rail needed by the touch screen display. In these cases you should do the following:

  • Cut or remove the +5V (red) wire in the cable connecting the PanelDue to your printer electronics;
  • Use a 5V USB power supply rated at 500mA or greater to power the PanelDue via its USB socket.


  • Double-check you have the correct connections between the PanelDue and your 3D printer electronics.
  • Ensure that the firmware you are running on the Duet or other printer electronics supports communication with the PanelDue, and update it if necessary. For Duet electronics, I recommend using the 1.14 or later series of my fork of RepRapFirmware, available here. If you want to use the SD card socket on the display with the Duet WiFi, you will need version 1.15c or later of DuetWiFiFirmware.
  • Power up your 3D printer electronics. The display should light up. Initially all numeric fields will be displayed as zero. However, once your printer electronics starts responding to requests from the PanelDue, the fields should show the correct values.
  • Test the various functions. Note: to cancel a pop-up menu that does not have a Cancel button on it, touch the field that you touched originally to get the pop-up menu (this will be the highlighted field).
  • If the PanelDue does not pick up the temperatures, machine name etc. from your printer, it may be that the baud rates do not match. You can adjust the baud rate on the PanelDue via the Setup page. You can adjust the baud rate of the serial port in RepRapFirmware using the M575 command. Both PanelDue and RepRapFirmware default to 57600 baud, so there is normally no need to adjust the baud rate.

Important note for Ormerod 2 and Huxley Duo owners

The touch panel displays draw significant current from the +5V rail. The on-board switching regulator on the Duet 0.6, Duet 0.8.5 and Duet WiFi boards can easily handle this. However, the linear regulator on the separate 5V linear regulator board used on the Ormerod 2 and Huxley Duo will not handle the load without additional heatsinking. Make sure that the heatsink and fitting screw cannot short against the enclosure, or anything else! Monitor the temperature of the 5V linear regulator for a few hours to check that the heatsink is effective enough. Alternatively, either power the PanelDue through from a 5V USB power supply as already described, or enable the internal 5V switching regulator on the Duet electronics board.

Using the PanelDue with other printer electronics

If you are using Arduino-based electronics instead of the Duet, then you will need to identify a serial port on the board with available TxD and RxD pins, and the firmware on that board must be capable of receiving gcode commands and sending replies in the required format through that port. Connect the TxD pin of that serial port to Din on the PanelDue, and the RxD pin to Dout. If your electronics uses 5V signal levels instead of 3.3V, then I recommend that you also connect a 10K pullup resistor between the Dout pin and +5V. The PanelDue will tolerate a 5V signal on its Din pin.

If your printer electronics does not already have an SD card socket, but has provision for connecting one, then you may be able to use the socket on the back of the display panel. The version 1.1 PanelDue controller boards has pads for adding a 5-way right-angle Molex connector for this purpose (labelled X5 on the printed circuit board). The version 2.0 board has a 10-way ribbon cable connector. Note that SD cards use 3.3V signal signals, therefore if your electronics uses a 5V signal levels then you will need to use level shifters.

Uncommitted I/O pins

The controller board has 3 uncommitted I/O pins which are brought out to pads for a 4-pin right angle Molex connector (labelled X4 on the printed circuit board). The 4th pin on the connector is ground.

Rolling your own firmware

If you can write C++ and wish to make your own modifications to the firmware, then you can find the firmware source and build instructions at

OEM versions of PanelDue

We can produce OEM versions of PanelDue with a company logo on the startup screen. This is a free service we offer to OEM customers who order at least 10 PanelDue controller boards directly from Escher3D. We can also do other custom firmware modifications to special order.

Last updated 2017-04-25

45 Responses to PanelDue for 3D printers

  1. Pingback: Upgrading the Mini Kossel to Duet Electronics Part 1: Hardware | David Crocker's Solutions blog

  2. Pingback: Upgrading the Mini Kossel to Duet Electronics Part 3: Calibration | David Crocker's Solutions blog

  3. wayno says:

    My T3P3 Mini Kossel is updated and printing with Duet and PanelDue! Thanks for all the hard work you are putting into this project. If only the RepRap forum would let me register i’d be bombarding you with questions 😉

  4. Angelo says:

    congratulations, very cool.

  5. Pingback: Ormerod and Mini Kossel 3D printer kits compared | David Crocker's Solutions blog

  6. Eduardo Souza says:

    Could you share the enclosure 5.0 CAD file? other than stl.Can’t open scad. I use Rhino.
    Need to modify it for my printer. Got it from Print3DThink3D.

  7. Raf says:

    great project, thanks for sharing.

  8. barney says:

    Im trying to find a solution that will let me add a colour touch screen to a panucatt x3 controller running marlin firmware – does anyone know if this would work?

    • davidcrocker says:

      As fas as I know, nobody has added the necessary firmware support to Marlin yet. But it shouldn’t be too difficult to do, provided that the hardware it is running on has a spare serial port.

  9. Glenn West says:

    I was looking at this, and you could actually do a usb host/ftdi from this, to allow it to drive almost any modern firmware/board. With a little extra work, using one of the new ESP8xxx wifi adapters you could also control via a wifi as well.

  10. Dan says:

    Hi David,

    I am trying to find a smart and cheap solution for connecting a touch pannel to a SmoothieBoard based large Kossel printer. Do you heard about anybody working on this? So far I’ve seen only the implementation for 12864 type graphical displays.

  11. PnP says:

    Are you aware can you hook this up with Azteeg X3 PRO and if yes which pins I should use? Also how I can order board from you?

  12. PnP says:

    I would like to ask do you know is this possible this to work with Azteeg X3 pro and which pins I should use? Also how I can buy it from you?

  13. Ove says:

    Hi Dave,
    ufortunately I’m not a coder, but I saw, there is Hennings UTFT in use – maybe an old Version.
    would it be possible to upgrade this to a version that supports CPLD displays,
    because I have only the MD050SD based ones here, not the SSD1963 classic type.


    • davidcrocker says:

      Hi Lutz, I modified UTFT heavily to run efficiently on the 32-bit processor of the PanelDue and to support missing features. I guess you could merge the changes that Henning made to support CPLD displays into the source. I have no plans to do this myself, because I don’t have any of those displays, they cost more than the SSD1963-based displays, and they don’t offer any advantage to PanelDue.

  14. Kristian says:

    Hi. What is the price for the paneldue controller ? Best regards

  15. Weston says:

    How would I add support for PanelDue in Repetier firmware configuration tool (v0.92.8, Due board with RADDS)?

    • davidcrocker says:

      You need to enable the auxiliary serial port that the PanelDue is connected to, and preferably set its baud rate to 57600 to match the PanelDue default. I’m not certain as I don’t have a board running Repetier, but I think this is probably the “Bluetooth serial port” option on the General tab. You also need to enable JSON-formatted info on the Features tab.

  16. yOOrek says:

    I have successfully connected PanelDue to the Duet 0.8.5. I have lost however the display calibration and cannot access setup menu from the panel display. Is there an easy way to force display to go into the setup and display calibration mode?

  17. Jean-Rodney Larrieux says:

    Is there any capacitive touchscreen that would work with these? I know resistive touchscreens are not the best (althought I just got the PanelDue with no screen yet)

  18. thomgrasso says:

    Is it possible to use the sd card slot on the back of the 4.3inch touch panel?

    • davidcrocker says:

      You can connect to the SD card slot by soldering a 5-pin header strip on the board at position X5. You would then need to connect it to the SPI bus on your printer electronics using a short cable, and run firmware on your printer electronics that supports an SPI-connected SD card. The Duet version of RepRapFirmware doesn’t yet support SD cards connected via SPI because the Duet uses the much faster HSPI interface instead, but the RADDS version does.

  19. JFonS says:

    In your readme you acknowledge Andy (kwikius) for writing a program to compress fonts generated by GLCD Font Creator. I’ve been trying to use some bigger fonts in the PanelDue display but I can’t seem to find this program. Is it not publicly available? Do you know where to find it and how to add new fonts to the current firmware?

    • davidcrocker says:

      The font compression program was needed when I was trying to develop PanelDue around a microcontroller with less flash memory than the atsam3sb2 that I settled on. We ended up not needing it.

  20. MiniKoss says:

    Help, I have Arduino Due / RADDS and PanelDue just arrived (nice selection on 7 inch screen maker, by the way) the documentation is all about Duet. I navigate through documentation a few times but do not notice notes how to connect paneldue to radds. It was very late at night, sorry if I missed it, can you direct me to the paragraph for this? Also, is there a connection or pin out diagram of the PanelDue board? I want to know what X3 is for (Bluetooth serial?).

    Everything is brand new and not yet installed, going over documentation trying to figure out where to start. I struggled with getting BOSSA installed – had to disable driver signing check, finally got the display flashed and working with a USB cable.

    I will want to use the SD card on the display, too. Soldering on headers or a cable, where on the RADDS / Due does this go? Perhaps I should be looking at the RADDS documentation on how to connect the PanelDue?

    Thank you for the direction.

    • davidcrocker says:

      Hi, you should connect PanelDue to the 4 top pins of the RADDS AUX1 connector shown in the connection diagram at The Din connection on PanelDue goes to TX1 on RADDS, and DOUT goes to RX1.

      X3 is the connector for the TFT panel. X5 is the one that makes the SD card socket pins available. It’s designed to accept a 5-way right-angle Molex KK connector. From top to bottom the connections are CD, DIN, CLK, DO and ground. You’ll need to refer to the RADDS documentation to see how to connect an external SD card reader to RADDS.

  21. MiniKoss says:

    It has been a couple of weeks and am unable to get the display to work on the RADDS.
    The paneldue says “Connecting” that’s it. Tried many different baud rates, nothing.
    Changed firmware settings, reupload, nothing.
    I’ve asked for help on the Repetier forum, no response.

    I am left handed, wanted the display on the left, modified one of the mounts on thingiverse, will post it when everything is working.

    • MiniKoss says:

      I gave up on RADDS / Due / LCD display / Paneldue / SD Reader / Repetier..
      I bought Duet. It comes with Reprap firmware. Connect all wires, plug in PanelDue, turn on and experienced joy for the first time in a month. That is as of 3AM this morning.

      Sure, there are some calibration steps I need to figure out, but miles (kilometers) ahead of where I was before and making forward progress.

  22. Toddimus says:

    Looking at the board photo on Filastruder’s site, I see what looks like a rotary encoder footprint (SW3) on the PanelDue board. Is that what it is? I don’t see it (SW3) on the schematic that’s on github. Might be nice to be able to scroll through lists or adjust values or even use it to fine adjust the Z position during delta calibration to get the H values for each point.

    • davidcrocker says:

      The version 1.0 board had provision for a rotary encoder, but the touch screen worked so well that I never wrote the firmware support for it. The footprint for the encoder was dropped in the revision 1.1 board to reduce the amount by which the board protrudes beyond the display panel.

  23. GregG says:


    Can you describe the procedure for creating Macros?
    Do I need to download Atmel Studio and recompile with an edited version of ecv.h, or is their a quicker way?

  24. GregG says:

    I’m running Repetier firmware on a RADDS board right now. I gotten PanelDue to talk to it, but without macros, it is rather limited. It sounds like I need to switch to RepRap firmware to get macros to work?
    Do you believe macros will work if I’m running RepRap firmware on a RADDS/Due ?


  25. Bossa and Windows 10 64bit are not friends.. what to do??

  26. Pingback: RWG-OSD # 17 New Electronics & Firmware, Duet zero.eight.5 & PanelDue Intro – 3D Printer Assembly Instructions How-To's Slicers and Videos

Comments are closed.