Use the I2C lines (SDA or SCL) on the RAK5005-O baseboard.
You can also use AIN1 if you are using RAK19007 baseboard (I am not sure if you have RAK5005-O or RAK19007 but AIN on headers of those boards are different).
Connect a 3rd party I2C GPIO expander board on the I2C headers if you need more pins.
Use Qwiic or Stemma QT GPIO boards using RAK13009.
Use the Dual IO base board (RAK19001). You have complete access to IO pins of WisBlock Core here and also add other interface module.
It appears you have a better understanding of my hardware than I do
You are correct that I do have a gen 2 RAK19007 baseboard that is sold in the Link.One package - and NOT a RAK5005-0
The solutions you have provided are very helpful, but I am not sure I will be able to achieve what I need. I would like to have the device deep sleep and only respond or take action when pulses/rising edge is sensed by the reed switch.
My understanding is that I2C will not be suitable because using interrupts will conflict with one another?
Alternatively, can an interrupt be implemented on analog AIN1?
The Dual board would work but then it wont fit in the original enclosure.
Perhaps this kit is not suitable or ideal for external digital input and deep sleep?
You can use I2C lines (WB_I2C1_SDA and WB_I2C1_SDA) and the analog input (WB_A1) as interrupt source pin. I confirmed it using basic interrupt example from Arduino. Take note that if you are using a switch or pushbutton to test, you will encounter debouncing using this example. Also, you need to add this preprocessor directive #include <Adafruit_TinyUSB.h> to avoid USB related errors when you compile.
Before closing out and to hopefully help others who might be learning like me.
I didn’t initially understand that on the nrf52840 the analog pin WB_A1 can be used as an analog or digital pin. Hence, an external interrupt can be attached to the analog pin.