Problems using the Grove Vision Ai V2 kit

Hi!, I am trying to use the Grove Vision AI V2 kit (SeeedStudio) with the Arduino Alvik but I am having some issues. Connected the Grove vision to one of the ports, and adapted the Seed Library to micropython but it's not working.
The I2C scan detects the Grove Vision correctly 0x62, but then, with the first readfrom_into (line i2c.readfrom_into(I2CADDRESS,buf)) I am getting timeouts, all the write and read commands are returning [Errno 116] ETIMEDOUT (or [Errno 19] ENODEV).
The same code is running ok in a Cytron Maker Nano RP2040 (using a grove port too).

from machine import I2C,Pin
import utime
import sys
I2CADDRESS = 0x62
wait_delay=150
MAX_PL_LEN = 250


scl = 12
sda = 11

i2c = I2C(0,scl=Pin(scl),sda=Pin(sda),freq=104900)

print (i2c)

print()
print('Scan i2c bus...')
print()

devices = i2c.scan()

if len(devices) == 0:
    print("No i2c device !")
else:
    print('i2c devices found:',len(devices))
print()

for device in devices:
    print("Decimal address: ",device," | Hexa address: ",hex(device))

utime.sleep_ms(wait_delay)

while True:
    arr = bytes([0x10,0x06])
    try:
        i2c.writeto(I2CADDRESS,arr)
    except OSError as exc:
        print ("Reset error: " + str(exc))
        continue
    utime.sleep_ms(wait_delay)
    command = "AT+ID?"
    data ='{}\r\n'.format(command).encode('utf-8')
    print(data)
    size=len(data)
    utime.sleep_ms(wait_delay)
    arr = bytes([0x10,0x02,size >> 8,size & 0xFF]) + data
    try:
        i2c.writeto(I2CADDRESS,arr)
    except OSError as exc:
        print ("Write error: " + str(exc))
        continue   
    utime.sleep_ms(wait_delay)

    i2c.writeto(I2CADDRESS,bytearray([0x10,0x03]))
    buf = bytearray(2)
    utime.sleep_ms(wait_delay)
    try:
        i2c.readfrom_into(I2CADDRESS,buf)
    except OSError as exc:
        print ("Read avail error: " + str(exc))
        continue    
    utime.sleep_ms(wait_delay)
    length = (buf[0] << 8) | buf[1]

    print ("Length:" + str(length))
    stread = bytearray()
    i2c.writeto(I2CADDRESS,bytearray([0x10,0x01,length >> 8,length & 0xFF,0x00,0x00]))
    utime.sleep_ms(wait_delay)
    buf = bytearray(length)
    i2c.readfrom_into(I2CADDRESS, buf)
    stread.extend(buf)
    utime.sleep_ms(wait_delay)
    print(f'buffer: {stread}.')
    

As I said the same code is running in the Cytron Nano Rp2040 (changing the SCL and SDA pins). The output of the code running on the Alvik:

MicroPython v1.25.0 on 2025-04-15; Arduino Nano ESP32 with ESP32S3
Type "help()" for more information.
>>> 
raw REPL; CTRL-B to exit
>OKI2C(0, scl=12, sda=11, freq=105263)

Scan i2c bus...

i2c devices found: 3

Decimal address:  40  | Hexa address:  0x28
Decimal address:  43  | Hexa address:  0x2b
Decimal address:  98  | Hexa address:  0x62
b'AT+ID?\r\n'
Read avail error: [Errno 116] ETIMEDOUT
Reset error: [Errno 116] ETIMEDOUT
Reset error: [Errno 116] ETIMEDOUT
Reset error: [Errno 116] ETIMEDOUT
.
.

At first I thought it might be the voltage, but the Maker Nano also runs on 3.3v and works perfectly.
Any tip would be very helpful!

Thanks!

This is the output of the same code running on the Cytron Maker Nano Rp2040:

I2C(0, freq=104865, scl=1, sda=0, timeout=50000)

Scan i2c bus...

i2c devices found: 2

Decimal address:  40  | Hexa address:  0x28
Decimal address:  98  | Hexa address:  0x62
b'AT+ID?\r\n'
Length:59
buffer: bytearray(b'\r{"type": 0, "name": "ID?", "code": 0, "data": "48b3ac23"}\n').
b'AT+ID?\r\n'
Length:59
buffer: bytearray(b'\r{"type": 0, "name": "ID?", "code": 0, "data": "48b3ac23"}\n').
b'AT+ID?\r\n'
Length:59