-| Variable | Description | Default |
-|-------------|----------------------------------------------|---------|
-| `I2C1_BANK` | The bank of pins (`GPIOA`, `GPIOB`, `GPIOC`) | `GPIOB` |
-| `I2C1_SCL` | The pin number for the SCL pin (0-9) | `6` |
-| `I2C1_SDA` | The pin number for the SDA pin (0-9) | `7` |
+| Variable | Description | Default |
+|--------------------------|----------------------------------------------------------------------------------------------|---------|
+| `I2C1_SCL_BANK` | The bank of pins (`GPIOA`, `GPIOB`, `GPIOC`) to use for SCL | `GPIOB` |
+| `I2C1_SDA_BANK` | The bank of pins (`GPIOA`, `GPIOB`, `GPIOC`) to use for SDA | `GPIOB` |
+| `I2C1_SCL` | The pin number for the SCL pin (0-9) | `6` |
+| `I2C1_SDA` | The pin number for the SDA pin (0-9) | `7` |
+| `I2C1_BANK` (deprecated) | The bank of pins (`GPIOA`, `GPIOB`, `GPIOC`), superceded by `I2C1_SCL_BANK`, `I2C1_SDA_BANK` | `GPIOB` |
+
+STM32 MCUs allow for different timing parameters when configuring I2C. These can be modified using the following parameters, using https://www.st.com/en/embedded-software/stsw-stm32126.html as a reference:
+
+| Variable | Default |
+|-----------------------|---------|
+| `I2C1_TIMINGR_PRESC` | `15U` |
+| `I2C1_TIMINGR_SCLDEL` | `4U` |
+| `I2C1_TIMINGR_SDADEL` | `2U` |
+| `I2C1_TIMINGR_SCLH` | `15U` |
+| `I2C1_TIMINGR_SCLL` | `21U` |
+
+STM32 MCUs allow for different "alternate function" modes when configuring GPIO pins. These are required to switch the pins used to I2C mode. See the respective datasheet for the appropriate values for your MCU.
+
+| Variable | Default |
+|---------------------|---------|
+| `I2C1_SCL_PAL_MODE` | `4` |
+| `I2C1_SDA_PAL_MODE` | `4` |