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

Logic Level shifter for 12864 display on Duet 2 Wifi

Scheduled Pinned Locked Moved
Duet Hardware and wiring
11
200
16.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.
  • undefined
    dc42 administrators @dc42
    last edited by dc42 27 May 2020, 17:25

    I've been working on the code in RRF 3.2 to vary the number of drivers depending on whether a display is configured or not. In the process, I finalised the pin assignments for Duet WiFi to the Fysetc mini 12864 display, as follows.

    constexpr Pin EncoderPinB = PortCPin(7); // connlcd.3 -> exp2.6
    constexpr Pin EncoderPinA = PortAPin(8); // connlcd.4 -> exp2.8
    constexpr Pin LcdNeopixelPin = PortDPin(18); // connlcd.5 -> exp1.5
    constexpr Pin LcdResetPin = PortCPin(28); // connlcd.6 -> exp1.6
    constexpr Pin LcdA0Pin = PortDPin(19); // connlcd.7 -> exp1.7
    constexpr Pin LcdCSPin = PortAPin(25); // connlcd.8 -> exp1.8
    constexpr Pin EncoderPinSw = PortDPin(20); // connlcd.9 -> exp1.9
    constexpr Pin LcdBeepPin = PortDPin(21); // connlcd.10 -> exp1.10
    // Additional spi wiring for FYSETC Mini 12864 display:
    // connlcd.2 (gnd) -> exp1.2
    // connsd.1 (+5V) -> exp1.1
    // connsd.2 (gnd) -> exp2.2
    // connsd.3 (SD CS) -> exp2.7
    // connsd.4 (sck) -> exp2.9
    // connsd.5 (mosi) -> exp2.5
    // connsd.6 (miso) -> exp2.10

    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

    undefined 1 Reply Last reply 29 May 2020, 01:14 Reply Quote 1
    • undefined
      jay_s_uk
      last edited by 27 May 2020, 17:59

      Sounds promising. I have one of these displays gathering dust

      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

      1 Reply Last reply Reply Quote 0
      • undefined
        Schmart @dc42
        last edited by 29 May 2020, 01:14

        Hi @dc42

        I've optimized and simplified the code further in my repo and managed to save a few hundred bytes.

        Also, the ST7565 display now works without additional logic components, inverting the LCD_CS with a 74xx00 is not necessary anymore. I've used the exp_0 pin for DC and the exp_1 pin for CS now. My display accepts the logic levels perfectly.

        I should be able to save another 60 bytes or so, but I have to first work out an issue that I uncovered when I start drawing columns pixel by pixel.

        Creality CR-20 Pro with a Duet 2 Maestro, 3Dfused X+Z-axis rail kit, HIWIN-based DIY solution for the Y-axis, E3D Hemera, working ST7565 MiniPanel and various other small hardware improvements.

        1 Reply Last reply Reply Quote 0
        • undefined
          oliof
          last edited by 29 May 2020, 17:28

          @Schmart where'd one find your patch, and what does the new wiring look like? Inquiring minds want to know ...

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

          undefined 2 Replies Last reply 29 May 2020, 23:21 Reply Quote 0
          • undefined
            Schmart
            last edited by 29 May 2020, 23:17

            @dc42: I created a pull request of my changes today, and I tested:

            • ST7920 display type 1
            • ST7565 display type 2 that uses EXP_1 for active low CD
            • ST7565 display type 3 which needs a NAND inverter IC to invert the LCD_CS towards the display

            Also implemented a couple of optimizations, solved a few bugs and simplified the Flush routine.

            I see some room for further size reduction of the firmware, but that would probably make some parts of the code a little slower. What's your stance on that?

            Creality CR-20 Pro with a Duet 2 Maestro, 3Dfused X+Z-axis rail kit, HIWIN-based DIY solution for the Y-axis, E3D Hemera, working ST7565 MiniPanel and various other small hardware improvements.

            1 Reply Last reply Reply Quote 0
            • undefined
              Schmart @oliof
              last edited by 29 May 2020, 23:21

              Hi @oliof, back from fishing? 😉

              The changes are in the following repo and branch.
              https://github.com/SchmartMaker/RepRapFirmware/tree/ST7565

              I have a binary firmware for the Maestro here:
              https://1drv.ms/u/s!Au1g8fW6BaQzioADewiHDAxzQ_Adlg?e=KuNYOB

              What's the board you're using? I'm asking, because the firmware build for the Duet Wifi and Duet Ethernet is still a little too large for the flash memory of these boards unfortunately.

              Creality CR-20 Pro with a Duet 2 Maestro, 3Dfused X+Z-axis rail kit, HIWIN-based DIY solution for the Y-axis, E3D Hemera, working ST7565 MiniPanel and various other small hardware improvements.

              1 Reply Last reply Reply Quote 0
              • undefined
                Schmart @oliof
                last edited by 29 May 2020, 23:23

                @oliof I'll see if I can hack the wiring picture so that it reflects the new option that doesn't require the 74xx00.

                Creality CR-20 Pro with a Duet 2 Maestro, 3Dfused X+Z-axis rail kit, HIWIN-based DIY solution for the Y-axis, E3D Hemera, working ST7565 MiniPanel and various other small hardware improvements.

                1 Reply Last reply Reply Quote 0
                • undefined
                  oliof
                  last edited by 29 May 2020, 23:23

                  I have a Duet2Wifi, but I can easily remove stuff I don't need (I did remove Hangprinter when trying the level shifter approach).

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

                  undefined 1 Reply Last reply 30 May 2020, 00:52 Reply Quote 0
                  • undefined
                    Schmart @oliof
                    last edited by Schmart 30 May 2020, 00:52

                    @oliof This is the wiring I used without the inverter.

                    So to be clear and safe, this is very specific wiring to connect the Duet 2 Maestro to a Creality ST7565-based MiniPanel display @3.3v logic levels.

                    The pinout of displays made vary wildly, and the connectors on display-side may need to be reversed (the plastic shroud rotated 180 degrees). Also, the firmware adaptations I made in my fork are relatively easy to change for the Duet 2 Wifi, but I believe you would need to make changes in the Pins.h specific to the board and maybe also in Display.cpp (for now).

                    Maestro ST7565 Wiring Option 2.png

                    Edit: Since @oliof is using the exact same Creality MiniPanel display from the CR-20, I have adjusted the diagram to match the exact orientation of the display connectors on that specific display. The tab goes on the side of pin #1.

                    Creality CR-20 Pro with a Duet 2 Maestro, 3Dfused X+Z-axis rail kit, HIWIN-based DIY solution for the Y-axis, E3D Hemera, working ST7565 MiniPanel and various other small hardware improvements.

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      oliof
                      last edited by 30 May 2020, 01:07

                      @Schmart said in Logic Level shifter for 12864 display on Duet 2 Wifi:

                      The pinout of displays made vary wildly, and the connectors on display-side may need to be reversed (the plastic shroud rotated 180 degrees). Also, the firmware adaptations I made in my fork are relatively easy to change for the Duet 2 Wifi, but I believe you would need to make changes in the Pins.h specific to the board and maybe also in Display.cpp (for now).

                      I have a Creality minipanel I want to use, so we're in the clear there. I'll check how Pins.h need to be adapted if I get around to it before this lands in 3.2 or beyond.

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

                      undefined 1 Reply Last reply 30 May 2020, 01:27 Reply Quote 0
                      • undefined
                        Schmart @oliof
                        last edited by 30 May 2020, 01:27

                        @oliof That would be so cool if you'd get it working as well. I'm not at my computer anymore, but I believe I'm using ‘M918 P2 E4 F2000000‘ in my config.g.

                        Creality CR-20 Pro with a Duet 2 Maestro, 3Dfused X+Z-axis rail kit, HIWIN-based DIY solution for the Y-axis, E3D Hemera, working ST7565 MiniPanel and various other small hardware improvements.

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          dc42 administrators
                          last edited by 30 May 2020, 07:21

                          Please note, the wiring diagram posted by @Schmart above is not the wiring arrangement that will be supported in RRF 3.2. The wiring arrangement in 3.2 is listed in this post https://forum.duet3d.com/post/157139.

                          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

                          undefined undefined 2 Replies Last reply 30 May 2020, 08:06 Reply Quote 1
                          • undefined
                            Schmart @dc42
                            last edited by 30 May 2020, 08:06

                            @dc42 I saw the post, it wasn't clear to me if this was for the Duet 2 Wifi/Ethernet only or also for the Maestro?

                            Creality CR-20 Pro with a Duet 2 Maestro, 3Dfused X+Z-axis rail kit, HIWIN-based DIY solution for the Y-axis, E3D Hemera, working ST7565 MiniPanel and various other small hardware improvements.

                            undefined undefined 2 Replies Last reply 30 May 2020, 08:31 Reply Quote 0
                            • undefined
                              oliof @Schmart
                              last edited by 30 May 2020, 08:31

                              @Schmart I'd assume it will be the same for either.

                              <>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
                              • undefined
                                dc42 administrators @Schmart
                                last edited by dc42 30 May 2020, 10:12

                                @Schmart said in Logic Level shifter for 12864 display on Duet 2 Wifi:

                                @dc42 I saw the post, it wasn't clear to me if this was for the Duet 2 Wifi/Ethernet only or also for the Maestro?

                                It's for Duet WiFi/Ethernet. For the Maestro, I chose pin exp.pa21 to connect A0 to (same as in your diagram). To avoid having to invert the CS signal in hardware, I am considering requiring CS of a 7567-based display to be connected to exp.pa22.

                                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

                                1 Reply Last reply Reply Quote 1
                                • undefined
                                  antlob @dc42
                                  last edited by antlob 31 May 2020, 08:33

                                  @dc42 Can you please confirm if that wire arrangement ( https://forum.duet3d.com/post/157139.) will work not only for the MINI LCD 12864 but also for a standart LCD 12864, mine is a BigtreeTech. Many thanks! If that's the case from lines 11 to 17 I must connect them only if I want the LCD 12864 SD Card support, right? If I prefer the one on the panel due I only need to connect the LCD 12864 to ConnLCD on the Duet 2 Wifi, right?

                                  undefined ? 2 Replies Last reply 4 Jun 2020, 14:43 Reply Quote 0
                                  • undefined
                                    antlob @antlob
                                    last edited by 4 Jun 2020, 14:43

                                    @antlob Hello! Anybody? Please help!

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      oliof
                                      last edited by 4 Jun 2020, 18:44

                                      @antlob I can confirm that the BTT TFT2.4 12864 emulation works on the Duet Maestro which indicates it's an ST7920 and will need a logic level shifter (and a custom firmware build) for the Duet2 Wifi. Unless you share more details about the 12864 you have we cannot give you a straight answer.

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

                                      undefined 1 Reply Last reply 4 Jun 2020, 21:22 Reply Quote 0
                                      • undefined
                                        antlob @oliof
                                        last edited by 4 Jun 2020, 21:22

                                        @oliof Thanks for the reply. I have the following display . For what I've seen in forums is an ST7920 but don't know how to be certain, the display is soldered to a backplate and don't have access to the chip. So, assuming that I have the correct one, should I follow scheck's diagram? And also seems like I have to compile version RRF 3.02 dev, right? Would it work, in principle? But, if by any chance you already have the *.bin file it would really help me. Many thanks again for your time. My current RRF version is 3.1.1 as suggested by @dc42.

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          oliof
                                          last edited by 4 Jun 2020, 21:25

                                          RRF 3.2 only supports the 7565 and 7567 on Duet 2 Wifi by my understanding (I might be wrong there). You need to do Markus Scheck's or @bearer's) diagram.

                                          I don't have the firmware file from my experimentation around anymore, but bearer's code excerpts above should get you going.

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

                                          undefined 1 Reply Last reply 5 Jun 2020, 06:19 Reply Quote 0
                                          105 out of 200
                                          • First post
                                            105/200
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA