Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    LoPy pinout (work in progress)

    Scheduled Pinned Locked Moved LoPy
    37 Posts 9 Posters 21.1k Views 10 Watching
    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.
    • L Offline
      LoneTech
      last edited by

      You may want to take a look at the ESP32 technical reference manual. Section 4.10 IO_mux and 4.11 RTC_mux list the dedicated alternate functions for each pin, but more importantly, section 4.9 GPIO matrix lists all the functions that can be mapped anywhere, which includes those UART and I2C functions (there are over a hundred each direction). In short, unless the software does something silly, there's no particular pin for RX1/TX1 et cetera (micropython should use the GPIO matrix). UART 0 only has them because the bootloader ROM selects those pins, though I'm not certain if it does it via the IO mux or GPIO matrix.

      1 Reply Last reply Reply Quote 0
      • X Offline
        Xykon administrators
        last edited by

        Yes I'm aware of that... I was just putting in the defaults for SPI0, I2C0 and UART0/1 as the examples in the quick reference do not specify any custom pins.

        Christian Ehlers

        L 1 Reply Last reply Reply Quote 0
        • L Offline
          LoneTech @Xykon
          last edited by LoneTech

          I see. It's the default arguments of the micropython port we're looking for then. The chosen pins don't match the IO mux. A comment in https://docs.pycom.io/lopy/lopy/quickref.html#pins-and-gpio seems to be the documentation we get.

          UART 1 pins are most likely chosen to match the WiPy 1.0 (CC3200) layout documented in https://docs.pycom.io/wipy/wipy/quickref.html but the I2C looks different. Hopefully we can clean the documentation up once the project opens up a bit.

          1 Reply Last reply Reply Quote 0
          • M Offline
            mfgeorge @Xykon
            last edited by

            @Xykon OK, so I again verified my results.
            Connecting a slaves RX pin to P3 and the slaves TX pin to P4 yielded results. I tried it the other way, and nothing.

            So again, I stand behind what I stated before.

            Slaves RX ---> LoPy Tx - P3
            Slaves Tx ---> LoPy Rx - P4

            The criss-cross is confusing I know, but this is the standard way of wiring UART and naming the pins. The slave I am using is well labeled, and I have tested the same exact wiring scheme named above using other microcontrollers. I am now pretty positive of those two pins.

            X 1 Reply Last reply Reply Quote 1
            • X Offline
              Xykon administrators @mfgeorge
              last edited by

              @mfgeorge It looks like the DFRobot FTDI breakout board I was using to test UART1 has RXI and TXD inverted. I compared it to the Sparkfun FTDI breakout I was using for UART0 and it has the RXI and TXD the other way around.

              Lesson learned: Never trust the silkscreen on cheap breakout boards. I will update the graphic tomorrow.

              Christian Ehlers

              1 Reply Last reply Reply Quote 1
              • P Offline
                pighixxx
                last edited by pighixxx

                Hi all,

                Today i released the official LoPy pinout:
                alt text

                Download the PDF here

                Have a noce day!

                L 1 Reply Last reply Reply Quote 4
                • L Offline
                  LoneTech @pighixxx
                  last edited by

                  @pighixxx Thanks! I'd like some small additions if possible.

                  1. Which level to use to select internal antenna
                  2. Bootstrapping pins:
                    2a. P2 for the low level bootloader, must not be grounded for normal bootup
                    2b. P12 for the multiboot / safemode, which should not be kept high for normal MicroPython use

                  I haven't dug around for the capacitive touch features, but I'd have expected that SensVN and SensVP formed one pair, and SensCN and SensCP would form another. Still much to learn.

                  1 Reply Last reply Reply Quote 0
                  • P Offline
                    pighixxx
                    last edited by

                    Hi,

                    Today i release the WiPy and Pymakr pinouts then I make the changes to WyPy pinout in the next revision.

                    P 1 Reply Last reply Reply Quote 1
                    • P Offline
                      profra @pighixxx
                      last edited by profra

                      @pighixxx I guess you mean Pymakr = LoPy?

                      1 Reply Last reply Reply Quote 0
                      • P Offline
                        pighixxx
                        last edited by

                        Is the Expansion Board

                        P 1 Reply Last reply Reply Quote 1
                        • P Offline
                          pighixxx
                          last edited by

                          This is the revised version:
                          alt text

                          1 Reply Last reply Reply Quote 0
                          • L Offline
                            livius
                            last edited by

                            nice but all pins are PWM?

                            think about people first, then computers

                            X 1 Reply Last reply Reply Quote 1
                            • X Offline
                              Xykon administrators @livius
                              last edited by

                              @livius said in LoPy pinout (work in progress):

                              nice but all pins are PWM?

                              I'd rather say all pins can be assigned to one of the 8 high or low speed PWMs.

                              Christian Ehlers

                              P 1 Reply Last reply Reply Quote 1
                              • P Offline
                                profra @pighixxx
                                last edited by

                                @pighixxx oops, probably some misunderstanding, I can not find it... I mean Pymakr and WiPy 2 pins

                                1 Reply Last reply Reply Quote 1
                                • P Offline
                                  pighixxx @Xykon
                                  last edited by

                                  @Xykon Yes, up to 16 channels simultaneously

                                  1 Reply Last reply Reply Quote 1
                                  • bmarkusB Offline
                                    bmarkus
                                    last edited by bmarkus

                                    Is P24 (3.3V) input only? I think when board powered from VIN/5V it can be used to power 3.3V external devices.

                                    https://forum.pycom.io/topic/62/3-3v-output-max-load-current

                                    X P 2 Replies Last reply Reply Quote 1
                                    • X Offline
                                      Xykon administrators @bmarkus
                                      last edited by

                                      @bmarkus said in LoPy pinout (work in progress):

                                      Is P24 (3.3V) input only? I think when board powered from VIN/5V it can be used to power 3.3V external devices.

                                      P24 is not an IO pin... it's either 3.3V input if you want to power your LoPy from a stable 3.3V power source or it's 3.3V output from the regulator that transforms VIN to 3.3V.

                                      Christian Ehlers

                                      1 Reply Last reply Reply Quote 0
                                      • P Offline
                                        pighixxx @bmarkus
                                        last edited by

                                        @bmarkus said in LoPy pinout (work in progress):

                                        Is P24 (3.3V) input only? I think when board powered from VIN/5V it can be used to power 3.3V external devices.

                                        https://forum.pycom.io/topic/62/3-3v-output-max-load-current

                                        No, I put also a note that the LDO have a 1.2A load capability.

                                        1 Reply Last reply Reply Quote 1
                                        • P Offline
                                          pighixxx
                                          last edited by

                                          RTW version

                                          alt text

                                          1 Reply Last reply Reply Quote 2
                                          • B Offline
                                            bartvandeenen @mfgeorge
                                            last edited by

                                            @mfgeorge said in LoPy pinout (work in progress):

                                            Hello all,

                                            I have found the i2c pins for bus 0 (currently the only one that does not throw an OSError during instantiation).

                                            P9 - SDA Bus 0
                                            P10- SCL Bus 0

                                            Again this is presumably for i2c bus 0. ie i2c_object = I2C(0, I2C.MASTER)

                                            Method for finding these pins:

                                            These pins were found by looping a "while True: i2c.scan()" in the REPL prompt and scoping around for a clock signal. After the clock signal was found I continued the i2c.scan() and plugged in an i2c sensors SCL to the P10, and checked to either side with the sensors SDA pin and found the address for the sensor was reported back while SDA was connected on P9.

                                            Hope this helps and happy hacking everyone!

                                            I can confirm, these pins worked right away. I'm using a TMP102 thermometer on address 73d, and I can read the temperature with a oneliner:

                                            struct.unpack(">H", i2c.readfrom(TMP,2))[0] * 0.0625/16.
                                            28.25
                                            

                                            Thanks.

                                            P.S. I plan to build an open-source wireless house thermostat with the UI on a smartphone, connecting via ble or a lorawan gateway. I choose this board because of its integration and low power consumption. The micropython is a very nice bonus, I was expecting to jump back into C and assembly :-)

                                            M X 2 Replies Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 2 / 2
                                            • First post
                                              Last post

                                            Pycom on Twitter

                                            Pycom