Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Paneldue 7" with esp32/raspberry pi

    Scheduled Pinned Locked Moved
    PanelDue
    3
    19
    1.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dc42undefined
      dc42 administrators @Candy
      last edited by

      @Candy if it is a PanelDue version 3 clone then you can program it via the Tx/Rx pins. But it is probably easier to program it via the USB port using Bossa running on a PC.

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      Candyundefined 1 Reply Last reply Reply Quote 1
      • Candyundefined
        Candy @dc42
        last edited by

        @dc42 Thanks for the reply. If I want to program this via the USB port using Bossa, I should work with the firmware of the Atmel right? If I want to use the Arduino ide/PlatformIO, can I use the 10pin connectors and SPi to upload some code, like basic printing of "Hello world" on the display? Is this possible? If so, please help me out in the process

        dc42undefined 1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @Candy
          last edited by

          @Candy if you use Arduino ide/PlatformIO then you can export the binary file that it generates and use Bossa to upload it via USB. However, you will need to find an Arduino core that supports the ATSAM4S4B processor first.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          Candyundefined 1 Reply Last reply Reply Quote 1
          • Candyundefined
            Candy @dc42
            last edited by

            @dc42 Wow, that is nice. If I write a code and generate the bin file with arduino ide/esp32, will just uploading the file through Bossa make the display work? Is there any need for specific firmwares/libraries other than SSD1963 and XPT2046? I came to know about Atmel studio ASF and MPLAB IDE. Can I upload custom code to the display through this?

            dc42undefined 1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators @Candy
              last edited by

              @Candy I haven't tried uploading code directly from those so I don't know whether they contain the equivalent functionality of Bossa.

              I build firmware for PanelDue using Eclipse IDE. There is also a CMake script for building it. The project is at https://github.com/Duet3D/PanelDueFirmware.

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              Candyundefined 1 Reply Last reply Reply Quote 1
              • Candyundefined
                Candy @dc42
                last edited by

                @dc42 I went through the project in Github for PanelDue firmware. It was mentioned that using eclipse ide, the project can be built and uploaded to the display. Can this be customized using eclipse ide to display something else other than the default? Also, I found the binary file for the firmware to be uploaded to the display and uploaded it using Bossa and it worked. If its possible to know how to make a custom binary file like this, it would be really helpful for me. Can this be done using Eclipse ide?

                dc42undefined 1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @Candy
                  last edited by

                  @Candy yes, you can use Eclipse IDE to make a custom binary. I suggest you retain the startup code, hardware interface code and libraries from the existing project to save you having to write those parts again.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  Candyundefined 1 Reply Last reply Reply Quote 1
                  • Candyundefined
                    Candy @dc42
                    last edited by

                    @dc42 Thanks for the reply. I'll give this a try and get back to you

                    Candyundefined 1 Reply Last reply Reply Quote 0
                    • Candyundefined
                      Candy @Candy
                      last edited by

                      @Candy Hey I tried using Eclipse IDE. I followed the steps given in the projects folder in github. I installed arm-none-eabi-gcc 10.3-2021.10, eclipse ide for embedded c/c++, edited the PATH in system and eclipse to look for make and arm-none-eabi-gcc. When I build the project, I get the error which I have attached in the photo. Is this an error due to any different versions installed? Have you got this error?Screenshot 2025-03-25 125252.png

                      dc42undefined 1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators @Candy
                        last edited by

                        @Candy the gcc version you are using is too old. Try the latest one from https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads.

                        Duet WiFi hardware designer and firmware engineer
                        Please do not ask me for Duet support via PM or email, use the forum
                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                        Candyundefined 2 Replies Last reply Reply Quote 0
                        • Candyundefined
                          Candy @dc42
                          last edited by

                          @dc42 Wow that worked. Thanks for the help

                          1 Reply Last reply Reply Quote 0
                          • Candyundefined
                            Candy @dc42
                            last edited by

                            @dc42 That worked great. Right now, I built the project and got the .elf file and converted into .bin file and used Bossa to upload the .bin file. Can you give me a heads up on how to use eclipse for coding the display and where to start as the ide feels totally new to me.

                            dc42undefined 1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators @Candy
                              last edited by

                              @Candy you'll have to do the programming yourself, but I can give you a general guide to what the existing modules do:

                              • Function main() in file PanelDueFirmware.cpp contains the initialisation, followed by a forever-loop that's similar in concept to the Arduino loop() function. It checks for data received from the serial port, checks for input from the touch panel, and updated the display as needed
                              • The Hardware folder contains files and functions that interface to the screen, touch panel, piezo buzzer and serial port. You'll probably want to mostly leave those alone, at least to start with. The SerialIO.cpp file parses received characters as JSON objects because that is the format in which Duets send data to PanelDue.
                              • The UI folder defines the user interface. Within that, Display.cpp defines a number of types of object that can be displayed, for example buttons and text fields. UserInterface.cpp defines how the user interface responds to received data and to presses on the touch panel.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              Candyundefined 1 Reply Last reply Reply Quote 0
                              • Candyundefined
                                Candy @dc42
                                last edited by

                                @dc42 So, in order to display simple text like "Hello" or display an image, will editing just the main() file work? In case I need custom buttons/graphics, I should be editing the UI folder

                                dc42undefined 1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @Candy
                                  last edited by

                                  @Candy yes you could display simple text or images by editing the main() function in PanelDueFirmware.cpp and directly calling functions in the LCD module in the hardware folder.

                                  Duet WiFi hardware designer and firmware engineer
                                  Please do not ask me for Duet support via PM or email, use the forum
                                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                                  Candyundefined 1 Reply Last reply Reply Quote 0
                                  • Candyundefined
                                    Candy @dc42
                                    last edited by

                                    @dc42 Nice. Thanks for the help. This means a lot

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA