LoPY PIN outs
looking for a documentation describing pin functions of P0...P23, where is I2C, SPI, .etc. assigned to.
thanks, let's see how it will be supported by the machine module.
The LoPy has pins numbered in order under the P naming, or in WiPy 1.0 order under the G naming (which is used on the expansion board). Either of these are understood by the
machine.Pinclass. Internally (in the ESP32 chipset) there are 40 GPIOs, 24 of which are external pins on the LoPy; the exact mapping will likely be documented soon (and can be extracted by observing registers when accessing pins). For one example, P9=G16=ESP32 GPIO 12 in LoPy. Some pads are used internally such as for flash memory, LoRa, and the onboard RGB LED, and others have defaults such as UART 0 (which matches the expansion board, documented at https://github.com/wipy/wipy/blob/master/docs/User_manual_exp_board.pdf ).
As for peripherals, most signals can be mapped to any IO through the ESP32's GPIO matrix. This means I2C and SPI can in fact be assigned anywhere (unless run at extreme speeds). Sections 4.9 to 4.11 of the ESP32 Technical Reference Manual details what can be connected where in the ESP32; beyond that the questions are which pads reach which pins on the LoPy, and what the MicroPython implementation handles.
We are aware that at the present time the documentation related to the pinouts is still incomplete. We apologize for it, but we're running around the clock to release an amended version of it along with a new firmware version that includes improvements and bugfixes. We expect it to be released this Friday, so please stay tuned.