Arduino Nano 33 IoT Conflicting documentation

I want to use this board with the ESP32 module as the main MCU and while I was reading the documentation, trying to figure out all the pins that are connected between it and the SAM MCU, I found some conflicting information:

DATASHEET:

  • GPIO19 is connected to PA12 (Pin 21), which is also connected to GPIO12
  • GPIO22 is connected to PB11 (Pin 20 / D3)
  • LSM6DSL in the Features section and LSM6DSOXTR in the Board Topology section (which doesn't look at all like the real board).

SCHEMATIC

  • GPIO19 is connected to PA14, which is also connected to GPIO5
  • GPIO22 is connected to PA15, which is also connected to GPIO18
  • LSM6DS3TR

GPIO19 is UART_CTS and GPIO22 is UART_RTS of ESP32.

The webpage and library also say LSM6DS3, but 3 different IMUs have been stated (DS3, DSL, DSOX), with different (even if similar) datasheets. (I know TR probably refers to the tape-reel packaging).

The more important part was related to the connected pins, as I want to get an idea of what I can use. I haven't tested them by setting and reading each pin yet, but the conflicts still remain. Hopefully I got everything right, but can someone doublecheck?

I am aware mistakes can easily make their way anywhere, I just want to get those things clarified so I can continue with my project.

the connections between the Nina module and the SAMD are SPI, UART, I2C, 'ready' and 'IRQ' a.k.a. io 0 of esp32

Nano IoT variant.h has
#define SerialNina Serial2
#define SPIWIFI SPI1

#define PIN_SERIAL2_RX (30ul)
#define PIN_SERIAL2_TX (29ul)

#define PIN_SPI1_MISO (23u)
#define PIN_SPI1_MOSI (22u)
#define PIN_SPI1_SCK (25u)
#define PIN_SPI1_SS (24u)

#define NINA_GPIO0 (26u)
#define NINA_RESETN (27u)
#define NINA_ACK (28u)

then pin numbers are mapped to port pins in variant.cpp

nina-fw has
SPISClass(spi_host_device_t hostDevice, int dmaChannel, int mosiPin, int misoPin, int sclkPin, int csPin, int readyPin);
SPISClass SPIS(VSPI_HOST, 1, 12, 23, 18, 5, 33);

Yes, I was aware of the communication protocols, I was asking about the two pins that are marked as UART RTS and CTS.
Pin 21 is PA12 and Pin 20 is PB11, which is D3.


The variant.h and .cpp do not specify anything about RTS and CTS.

those GPIO19 and GPIO22 should be in the "NINA Acronym" column.

variant.cpp

 | 22         |  PA12  | NINA_MOSI       
 | 23         |  PA13  | NINA_MISO       
 | 24         |  PA14  | NINA_CS         
 | 25         |  PA15  | NINA_SCK       
 | 26         |  PA27  | NINA_GPIO0    
 | 27         |  PA08  | NINA_RESETN  
 | 28         |  PA28  | NINA_ACK        

the PA14 and PA15 can be used as RTS and CTS for Serial communication with the Nina module. ArduinoBLE library uses Serial. WiFiNINA library uses SPI. BLE and WiFi can't be used at the same time.

ArduinoBLE uses this from variant.h
extern Uart SerialHCI;

#define PIN_SERIALHCI_RX (23ul)

#define PIN_SERIALHCI_TX (22ul)

#define PIN_SERIALHCI_RTS (24u)

#define PIN_SERIALHCI_CTS (25u)

1 Like

I edited the previous comment

Ok, thanks, I wasn't aware of the BLE UART and WiFi SPI thing.
Doesn't that mean that the table in the datasheet is wrong?

yes the cells |GPIO19 | UART RTS | and | GPIO22 | UART CTS | should be shifted two cells right

you can use https://www.arduino.cc/en/contact-us/ to report it

Not (only) that...
The fact that, again, those GPIO are mapped in the table to physical pins 20 and 21 of the SAM D21 MCU, corresponding to PA12 and PB11.

I contacted official support, just wanted to make sure I was not mistaken, but yeah...

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.