Firmware for TFT control panel for Duet electronics
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


This is the OLD source code for firmware versions 1.15x and earlier to run the PanelDue 3D printer user interface board. Source code for firmware versions 1.16 and later is in repository PanelDueFirmware, see

Build instructions: load file PanelDue.cppproj into Atmel Studio 7.0. For those wishing to build it under operating systems other than Windows, it should not be difficult to port it to Eclipse. The only libraries needed that are not included in this repository are the GCC toolchain libraries for the SAM3S.

Static analysis: parts of the firmware are formally verified using Escher C++ Verifier, hence the design-by-contract and other annotations. File ecv.h defines macros that make these annotations invisible to compilers.

Firmware upload instructions: see

Licence and copyright

Copyright (c) 2015 Escher Technologies Limited. Licensed under the Creative Commons Attribution-NonCommercial 4.0 license. See for a copy. Some parts of the firmware (c) Henning Karlsen. Some parts of the firmware (c) Atmel Inc.

Submitting pull requests

I will only consider pull requests that meet the following standards:

  • the code must compile warning-free, with very few exceptions
  • existing design-by-contract annotations must be preserved, and contracts should be added for any new functions. Please asked for a copy of eCv++ Free Edition if you plan on making substantial changes.
  • the coding style must be adhered to


Henning Karlsen - for the original versions of the TFT display driver, see Atmel - for the Atmel Software Framework, which made programming the ATSAM3S a lot easier MikroElectronika - for providing GLCD Font Creator, see Andy (kwikius) - for writing a program to compress fonts generated by GLCD Font Creator