🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Core 2 and GoPlus2 - how to connect ?

    Core 2
    6
    16
    21.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.
    • R
      raychmond
      last edited by

      I'm glad I saw this post before I'm trying to buy GoPlus2 for my CORE2. So do you know which DC Motor and Servo Driver Module is specially for CORE2?

      Thank you!

      1 Reply Last reply Reply Quote 0
      • ajb2k3A
        ajb2k3
        last edited by

        I'm working on a project at the moment using the Core2+goplus2 and have connected it all together.

        You remove the batter and stick it to the core2 using double sided tape place the Goplus2 on and gently push together.
        Next, unstick the battery from the goplus2 and place it in the base. it will just fit but be careful not to damage the batteries covering.
        The core2 base will now fit together and it all works.
        I don't have the screw sizes needed to fasten it together as I don't have any M3 countersunk screws long enough to secure it together.

        UIFlow, so easy an adult can learn it!
        If I don't know it, be patient!
        I've ether not learned it or am too drunk to remember it!
        Author of the WIP UIFlow Handbook!
        M5Black, Go, Stick, Core2, and so much more it cant be fit in here!

        R 1 Reply Last reply Reply Quote 1
        • R
          raychmond @ajb2k3
          last edited by

          @ajb2k3 Thank you!
          I don't have GoPlus2 yet, but I can imagine what you said. We have to remove the CORE2 battery and use GoPlus2 battery as the power supply for both CORE2 and GoPlus2. Certainly, we need external DC to provide power for motors. Is my understanding correct?

          1 Reply Last reply Reply Quote 0
          • felmueF
            felmue
            last edited by felmue

            Hi guys

            just a heads up. When you stack M5Core2 with GoPlus2 you'll loose I2C functionality on port A. The reason is that IR_OUT in the GoPlus2 uses the same GPIO as the external I2C (SCL) on port A.

            Here is the full explanation and possible work-a-round.

            Note: M5Core2 internal I2C is not affected.

            Thanks
            Felix

            GPIO translation table M5Stack / M5Core2
            Information about various M5Stack products.
            Code examples

            R 1 Reply Last reply Reply Quote 0
            • R
              raychmond @felmue
              last edited by

              @felmue Thanks Felix! I saw your comments about IR_OUT earlier in another post. Hopefully they will fix GoPlus2 before I order one.
              I actually have another question for you. It's sort of off the topic from this one. But ...
              I have a FIRE and 4 Channel DC Motor module. I connected a LEGO motor and used an external DC to power up both FIRE and DC Motor module. I tried their Arduino example. The code was compiled successfully with some modifications, but the motor doesn't move at all. I turned to UIFLOW and saw your post saying current version doesn't support lego board unless downgrade to 1.4.5.
              Right now, I can't even make it work. Can you please help me out?

              Thank you!

              1 Reply Last reply Reply Quote 0
              • R
                raychmond
                last edited by

                https://github.com/m5stack/M5Stack/tree/master/examples/Modules/LEGO_PLUS
                The is the Arduino example I used.
                First, the screen didn't even display until I commented out the M5.update(). I changed the initial speed value to 255 and not use buttons to change the value. But the motor still doesn't rotate.

                Thank you!

                1 Reply Last reply Reply Quote 0
                • R
                  raychmond
                  last edited by

                  I finally made it. It turns out there are a couple of problems. First, to stack DC Motor Module on FIRE, I had to remove the M5GO Bottom which has the battery. In the example, they have M5.Power.begin(). It doesn't cause problem until it executes M5.update(). If I comment out M5.update(), the buttons don't work. Anyway, this is the first problem. I ended up with commenting out the M5.Power.begin()
                  The second problem is the if ... else if ... In the example, they used if...else if to catch the button released. It turns out this is not working. It had to be if ... if ...
                  Well, I'm happy that it finally works.

                  1 Reply Last reply Reply Quote 0
                  • felmueF
                    felmue
                    last edited by

                    Hello @raychmond

                    I am glad to hear you got it working. Thank you for reporting back.

                    Happy Stacking!
                    Felix

                    GPIO translation table M5Stack / M5Core2
                    Information about various M5Stack products.
                    Code examples

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      raychmond @felmue
                      last edited by

                      @felmue
                      I finally received the GoPlus2. I stacked first with my Fire, and used the GoPlus2 Example, the servos work perfectly. I haven't tested the PortB hub and DC motor on Fire yet.
                      However, when I stack with Core2, the servos don't move at all. The only change I made is replaced #include <M5Stack> with #include <M5Core2>.
                      Do you have any clue why it doesn't work with Core2?

                      Thank you!

                      1 Reply Last reply Reply Quote 0
                      • felmueF
                        felmue
                        last edited by

                        Hello @raychmond

                        hmm, I think on M5Core2 the I2C bus (using GPIO21 / GPIO22) might get initialized twice. Once through M5.begin() - Touch.begin() using Wire1 and then again through below line, but using Wire. That is a recipe for disaster.

                        In setup() try commenting out line //goPlus.begin();.

                        Thanks
                        Felix

                        GPIO translation table M5Stack / M5Core2
                        Information about various M5Stack products.
                        Code examples

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          raychmond @felmue
                          last edited by raychmond

                          @felmue Thank you very much for your help. You are the best!
                          Simply commenting out that line seems not working. But I followed your idea and renamed all "Wire" to "Wire1" in GoPlus2.cpp. It then works. I don't even understand what "Wire1" is.

                          1 Reply Last reply Reply Quote 0
                          • felmueF
                            felmue
                            last edited by felmue

                            Hello @raychmond

                            good thinking!

                            M5Stack (Basic, Fire, Gray, etc.) use one I2C bus for everything. By default it uses Wire with GPIO21 and GPIO22.

                            M5Core2 uses two I2C busses. The internal one uses Wire1 with GPIO21 and GPIO22; the external one (port A) uses Wire with GPIO32 and GPIO33.

                            Since GoPlus2 was designed for M5Stack devices its I2C pins get mapped into the internal I2C bus of M5Core2.

                            Thanks
                            Felix

                            GPIO translation table M5Stack / M5Core2
                            Information about various M5Stack products.
                            Code examples

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              raychmond @felmue
                              last edited by

                              @felmue Thank you Felix.
                              I tested the PortB hub. It works as well.

                              1 Reply Last reply Reply Quote 0
                              • S
                                shally1986
                                last edited by

                                Has anyone been able to drive two DC motors from the go plus 2 and core2 stack ? I am facing a problem at motor A which only rotates on values greater than 0 to max 127 , but goes not change direction on negative values . Though motor B works absolutely fine . I tested many motors each showed same behaviour at mot A port and worked fine at mot B port .
                                Is my goplus2 damaged ?

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post