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

    RepPanel - A DIY alternative to the PanelDue with WiFi support

    Scheduled Pinned Locked Moved
    Third-party software
    39
    243
    30.5k
    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.
    • zaptaundefined
      zapta @littlehobbyshop
      last edited by

      @littlehobbyshop said in RepPanel - A DIY alternative to the PanelDue with WiFi support:

      So I made some progress, I got the display working but no touch and the colours are all off.

      Have you considered to use a Nextion display? These are smart displays that allow to design rich GUIs using a graphical editor and interact with it using simple commands over a serial interface. This will allow you to focus on functionality rather than the tedious work of dealing with hardware bits.

      littlehobbyshopundefined 1 Reply Last reply Reply Quote 0
      • littlehobbyshopundefined
        littlehobbyshop @zapta
        last edited by

        @zapta I think you misunderstand, I'm not the designer of this project, I'm try to implement it.

        BLV MGN Cube w/Hemera, K8200, Sunlu S8

        1 Reply Last reply Reply Quote 0
        • seeul8erundefined
          seeul8er
          last edited by

          @littlehobbyshop Check the color depth in the config file. It should be 16bit. The swap can be set here. Maybe some of the settings in menuconfig broke during the port to your display.
          Also check if it actually is compiled with that option.

          @zapta Yes I did. But they tend to be lower in quality - breaking a lot more often. The API on how to program them (request/display data) is not a good match to the RepRap API. You would need an additional microcontroller to translate the commands as far as I understood. So no real benefit on software nor hardware side.

          zaptaundefined A Former User? littlehobbyshopundefined 3 Replies Last reply Reply Quote 0
          • zaptaundefined
            zapta @seeul8er
            last edited by

            @seeul8er said in RepPanel - A DIY alternative to the PanelDue with WiFi support:

            You would need an additional microcontroller to translate the commands as far as I understood

            Since you have an ESP32, it can send the command to the Nextion via a serial port. The commands are simple text such as field.val="123", and the field itself is designed with a GUI editor they provide.

            What you are doing very good. However if you find yourself spending too much time on implementing the GUI that you want, switching to Nextion will speed up the process and will lower the hassle factor of adding new features. That was at least the case with one of my recent projects.

            Anyway, I like your project very much.

            1 Reply Last reply Reply Quote 0
            • seeul8erundefined
              seeul8er
              last edited by

              @zapta I totally agree. That option was my favourite for a while. It can get the job done very quickly. However, I also do these projects to up my skills on a specific subject and I do not like to be constrained a lot when it comes to choosing my tools. The UIs produced by the more affordable nextion displays look kind of shitty in my opinion. Maybe due to a reduced feature/cpu power set.

              The project is already in a released state and I am using it for my prints so the hard work is done 🙂

              zaptaundefined 1 Reply Last reply Reply Quote 1
              • zaptaundefined
                zapta @seeul8er
                last edited by zapta

                @seeul8er said in RepPanel - A DIY alternative to the PanelDue with WiFi support:

                The project is already in a released state...

                That's what count 😉

                I see that you use the lvgl library, I will check it out for my projects.

                1 Reply Last reply Reply Quote 0
                • A Former User?
                  A Former User @seeul8er
                  last edited by

                  @seeul8er said in RepPanel - A DIY alternative to the PanelDue with WiFi support:

                  But they tend to be lower in quality - breaking a lot more often.

                  empirical data? genuinely curious if really inferior or if lending temselves to protptyping and rapid development just means they see more and harder use? waiting for my first one to try out with zapta's stepper analyzer and will perhaps borrow it for other one-off type projects.

                  zaptaundefined 1 Reply Last reply Reply Quote 0
                  • zaptaundefined
                    zapta @A Former User
                    last edited by

                    @bearer said in RepPanel - A DIY alternative to the PanelDue with WiFi support:

                    empirical data?

                    I have a 3.5" and I don't see why it should be less reliable than similar TFT screens.

                    BTW, one cool feature of the Nextion is the ability to run the MCU code against a simulator on your computer, via serial over USB. A little bit tricky but doable. This is how I took the screenshots for the documentation.

                    However, the lvgl library is intriguing. I plan to play with it and see how easy it is to design and use GUIs. One thing I would like to try one day is a battery operated Duet monitor with ePaper display for a long battery life, maybe even with a small indoor solar panel. 😉

                    1 Reply Last reply Reply Quote 0
                    • littlehobbyshopundefined
                      littlehobbyshop @seeul8er
                      last edited by

                      @seeul8er Thanks for your help. Display is now working, the invert was on and now it's off.
                      Now struggling with the touch, it's an XPT2046 capcitive touch, I'm getting feedback on the monitor so at least the interrupt is wired correctly but no co-ordinates.
                      Looking through some LVGL posts others have had issues with the SPI speed and it looks like there have been updates to the XPT2046 driver in recent months but there's lots that is new here for me and I could be heading down the wrong rabbit hole.
                      Any pointers?

                      BLV MGN Cube w/Hemera, K8200, Sunlu S8

                      1 Reply Last reply Reply Quote 0
                      • oliofundefined
                        oliof
                        last edited by

                        Hi,
                        I ordered a display and ESP32, but all I get is a white screen. Looking at a serial console, I get the following output:

                        
                        rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
                        configsip: 0, SPIWP:0xee
                        clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                        mode:DIO, clock div:2
                        load:0x3fff0018,len:4
                        load:0x3fff001c,len:6960
                        ho 0 tail 12 room 4
                        load:0x40078000,len:14076
                        load:0x40080400,len:4352
                        entry 0x400806ec
                        I (74) boot: Chip Revision: 1
                        I (74) boot_comm: chip revision: 1, min. bootloader chip revision: 0
                        I (41) boot: ESP-IDF v4.0.1 2nd stage bootloader
                        I (41) boot: compile time 13:22:55
                        I (41) boot: Enabling RNG early entropy source...
                        I (45) boot: SPI Speed      : 40MHz
                        I (49) boot: SPI Mode       : DIO
                        I (53) boot: SPI Flash Size : 4MB
                        I (57) boot: Partition Table:
                        I (61) boot: ## Label            Usage          Type ST Offset   Length
                        I (68) boot:  0 nvs              WiFi data        01 02 00009000 00006000
                        I (76) boot:  1 phy_init         RF data          01 01 0000f000 00001000
                        I (83) boot:  2 factory          factory app      00 00 00010000 00200000
                        I (91) boot: End of partition table
                        I (95) boot_comm: chip revision: 1, min. application chip revision: 0
                        I (102) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x80728 (526120) map
                        I (299) esp_image: segment 1: paddr=0x00090750 vaddr=0x3ffb0000 size=0x041cc ( 16844) load
                        I (306) esp_image: segment 2: paddr=0x00094924 vaddr=0x40080000 size=0x00400 (  1024) load
                        I (307) esp_image: segment 3: paddr=0x00094d2c vaddr=0x40080400 size=0x0b2e4 ( 45796) load
                        I (334) esp_image: segment 4: paddr=0x000a0018 vaddr=0x400d0018 size=0xc0010 (786448) map
                        I (616) esp_image: segment 5: paddr=0x00160030 vaddr=0x4008b6e4 size=0x0c68c ( 50828) load
                        I (652) boot: Loaded app from partition at offset 0x10000
                        I (652) boot: Disabling RNG early entropy source...
                        I (653) cpu_start: Pro cpu up.
                        I (656) cpu_start: Application information:
                        I (661) cpu_start: Project name:     reppanel_esp32
                        I (666) cpu_start: App version:      v1.0.2-dirty
                        I (672) cpu_start: Compile time:     Jun 22 2020 18:25:51
                        I (678) cpu_start: ELF file SHA256:  8b85d585a6bdd293...
                        I (684) cpu_start: ESP-IDF:          v4.0.1
                        I (689) cpu_start: Starting app cpu, entry point is 0x40081468
                        I (0) cpu_start: App cpu up.
                        I (699) heap_init: Initializing. RAM available for dynamic allocation:
                        I (706) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
                        I (712) heap_init: At 3FFDA238 len 00005DC8 (23 KiB): DRAM
                        I (718) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
                        I (725) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
                        I (731) heap_init: At 40097D70 len 00008290 (32 KiB): IRAM
                        I (737) cpu_start: Pro cpu start user code
                        I (755) spi_flash: detected chip: generic
                        I (756) spi_flash: flash io: dio
                        I (756) cpu_start: Starting scheduler on PRO CPU.
                        I (0) cpu_start: Starting scheduler on APP CPU.
                        I (210) ILI9488: ILI9488 initialization.
                        I (510) ILI9488: Enabling backlight.
                        I (510) FT6X36: Found touch panel controller
                        E (510) FT6X36: Error reading from device: ERROR
                        I (510) FT6X36: 	Device ID: 0x00
                        I (520) FT6X36: 	Chip ID: 0x00
                        I (520) FT6X36: 	Device mode: 0x00
                        I (530) FT6X36: 	Firmware ID: 0x00
                        I (530) FT6X36: 	Release code: 0x00
                        

                        I double checked the wiring twice, but cannot rule out the possibility of miswiring of course, but I also cannot find an error myself.

                        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                        1 Reply Last reply Reply Quote 0
                        • oliofundefined
                          oliof
                          last edited by

                          Reading more of the thread closely again, the display turns on when switching to 5V, but it looks like the touch controller is not being detected correctly.

                          <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                          1 Reply Last reply Reply Quote 0
                          • seeul8erundefined
                            seeul8er
                            last edited by

                            @oliof What display? The recommended one? Can you post your wiring please, especially the touch panel stuff.

                            1 Reply Last reply Reply Quote 0
                            • oliofundefined
                              oliof
                              last edited by oliof

                              I got the recommended panel (ER-TFTM035-6). Wiring is as per README.md,

                              ESP32 GPIO TFT Pin Color
                              13 27 white
                              14 24 yellow
                              15 23 grey
                              22 30 orange
                              21 31 brown
                              4 21 violet
                              2 25 green
                              27 29 blue

                              Some photos at https://photos.app.goo.gl/gmXPoCFF2FA5Ge2M8

                              NB: I can only get the display working with the precompiled binaries, building from source was quite hairy to set up, and all I get is a white screen. I didn't find documentation about how to configure the screen correctly, so I am fumbling around a bit there.

                              <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                              1 Reply Last reply Reply Quote 0
                              • oliofundefined
                                oliof
                                last edited by oliof

                                @oliof said in RepPanel - A DIY alternative to the PanelDue with WiFi support:

                                (510) FT6X36: Found touch panel controller
                                (510) FT6X36: Error reading from device: ERROR
                                (510) FT6X36: 	Device ID: 0x00
                                (520) FT6X36: 	Chip ID: 0x00
                                (520) FT6X36: 	Device mode: 0x00
                                (530) FT6X36: 	Firmware ID: 0x00
                                (530) FT6X36: 	Release code: 0x00
                                

                                It looks like I ordered the screen with the resistive touch panel, so this can't work (FT6x36 is capacitative if I got it right). I will see if I can get my own build up.

                                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                1 Reply Last reply Reply Quote 0
                                • seeul8erundefined
                                  seeul8er
                                  last edited by

                                  @oliof Was about to suggest that. Your touch panel looks a little different than mine. You can check if J8 on the TFT is closed. Closed means resistive touch.

                                  You can configure the build by dunning

                                  idf.py menuconfig
                                  

                                  Check the config options.
                                  Set the display controller manually to ILI9488. The resistive touch panel is a XPT2046. Configure that one as well. You can choose the pins now. I recommend to go with the ones from the readme

                                  1 Reply Last reply Reply Quote 0
                                  • oliofundefined
                                    oliof
                                    last edited by

                                    The RepPanel Readme or the LVGL Readme?

                                    <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                    seeul8erundefined 1 Reply Last reply Reply Quote 0
                                    • seeul8erundefined
                                      seeul8er @oliof
                                      last edited by seeul8er

                                      @oliof The RepPanel Readme. At least what the TFT is concerned. The touch controller should be SPI as far as I rememember. So you will need to hook it up to the VSPI of the ESP32. The default pins of LVGL should work fine I guess. I updated the repo a few days ago so make sure you use the latest lv_conf.h (copy content from lv_conf_back.h). It fixes random UI freezes.

                                      oliofundefined 1 Reply Last reply Reply Quote 0
                                      • oliofundefined
                                        oliof @seeul8er
                                        last edited by

                                        @seeul8er I checked out master and will try to sort this out over the weekend. Thanks for your help so far!

                                        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                        1 Reply Last reply Reply Quote 0
                                        • oliofundefined
                                          oliof
                                          last edited by

                                          Unfortunately the weekend didn't have enough time for me to figure things out. Between menuconfig selections not sticking, PIN definitions that aren't part of any readme, and possibly bad cables I can't say I've had any success moving forward. The most timely solution seems to be to order another screen with 3.3v and capacitative touch and trying again with that ...

                                          <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                          1 Reply Last reply Reply Quote 0
                                          • littlehobbyshopundefined
                                            littlehobbyshop
                                            last edited by

                                            I still can't get my SPI touchscreen working. Feeling I'm in over my head. I just don't know how to troubleshoot this stuff.

                                            BLV MGN Cube w/Hemera, K8200, Sunlu S8

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