Hello,
I have a simple question, I want to use an I2C OLED display on the I2C Grove connector and I was wondering if this is directly connected to the ESP32 I2C pins or to the STM32 I2C pins?
I sadly can't find schematics for the Alvik PCB board. Is there one avalaible? I thought all Arduino material was open hardware.
Thanks for your help.
It should work, the connector is specifically designed for I2C.
Yes, for sure, but no where in the documentation I'm able to find how I need to access it. If it is connected to the nano ESP32, I can directly access to his I2C on the main programm. But if it is connected to the STM32, I would have to use the Alvik carrier library.
For example, it is really hard to find how do the two microcontrollers communicate with each other...
I would be greatly appreciated to have access to the real schematics.
Everything goes through STM32.
On user manual "Add I2C Grove" there is example code for scanning I2C devices.
And I agree, the documentation sucks.
But that the strange part, because we only program the ESP32 and if you look at the code, we use the mycropython machine library for the I2C with pins that are the one of the ESP32 (11 and 12) :
from machine import I2C
from machine import Pin
i2c = I2C(0, scl=Pin(12, Pin.OUT), sda=Pin(11, Pin.OUT))
On the STM32, the pins for I2C are not those. But are the I2C pins from both microcontrollers simply connected? But I thought the communication between them was through UART.
You might be right. Have a look at the Arduino_AlvikCarrier.h library file, looks like there is some external I2C selector implemented.
Also, if you have multimeter you could measure resistance between Grove connector and Esp A4/A5.
Trick: Write a small sketch and use two print statements. Serial.print(SDA); and Serial.print(SCL), If they are defined the pinout will be given to you.
You are perfectly right, I managed to follow the path of the I2C SDA and SCL pins of the Grove connector and they lead to two analog swithes (TS5A3157) controlled by a GPIO of the STM32 (pin 28).
It means the system has a way of choosing who is in control of the I2C.
By the way, an identical method has been implemented to manage the IC controlling the battery charge.
I wonder why the documentation is so scarse. It's already complicated when you marry two MCUs, without docs you have to reverse engineer it...
it's worse than that. I have a waste of money called a Turta LoRa Hat for a Raspbery Pi which has alleged I2C Grove connectors, and two bags of corresponding female connectors. none of them match each other. it's a standard with non standard connectors
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.