Are any of the Portenta Visible PINS used

I can’t seem to find any information about which of the 160 PortentaH7 pins are being used by the PortentaVisionShield. If I would like to connect the Portenta with some actuators it would be good to know which PINS are in use and which are available.

This Github configuration file seems to have some of the information but it has not been organized in a useful way for this situation. Are their more pins in use at the moment, are possibly more pins going to be used for Ethernet and the Microphones. Any opinions? Is there a general plan of pins to use and pins to not use. I assume these pins are hardwired so it is fairly important to know what they are wired too.

Here is a openMV github configuration file

and here are a few typical Camera Pin connections

#define DCMI_HSYNC_PIN          (GPIO_PIN_4)
#define DCMI_VSYNC_PIN          (GPIO_PIN_5)
#define DCMI_PXCLK_PIN          (GPIO_PIN_6)

If we look at the PortentaH7 pinout https://content.arduino.cc/assets/Pinout-PortentaH7_latest.png

Does this mean we can’t use the PWM capable pins D4, D5, D6 ? I am fine with that situation I would just like to know what I can and can’t use.

Sorry for the late reply. My account didn’t automatically follow this forum.

Here’s the GPIO mapping file:

Any pin defines on the left hand of the column can be named in a string with a MicroPython pin object and it will work.

Arduino hasn’t directed us to work on Servo, Timer, etc. control yet. So, nothing is specially wrapped. However, if you are talking to a processor pin via the processor pin name like PA0 it should be fine. The multi-functions on pins should work.

I’d say everything but the ADC and PWM are well supported with the current MicroPython library. For PWM that’s done via timers. So, you’ll need to grab the processor datasheet here: https://www.st.com/resource/en/datasheet/stm32h743bi.pdf

And see what pins have timers on them and what timer channel is on that pin. PWM in MicroPython works by you picking a free timer, then setting one of the 4 outputs of a timer (which are mapped to a pin) to be enabled. Our PWM examples show this. Similarly, if you want quadrature encoder support it works the same way.

Regarding the ADC… OpenMV has only had one ADC pin ever, the MicroPython library technically supports more channels, but, I don’t know what the state of this is on the Portenta.