Being a very protective parent, I’m currently using a 5V → 3.3V level shifter on connections to UART1 on the Seed (connected to Arduino Mega digital pins). I’m now at the stage of simplifying my synth/sequencer circuitry as much as possible before trying to cram everything into the enclosure Is the level shifter necessary? Thanks!
So, many of the pins on the STM32H7 are 5V tolerant. On the Daisy Seed specifically, all of the GPIO pins except for the following are 5V tolerant:
- Physical Pin 24 - (PB1, ADC12_INP5)
- Physical Pin 25 - (PA7, ADC12_INP7)
- Physical Pin 28 - (PC4, ADC12_INP4)
- Physical Pin 29 - (PA5, DAC1 OUT2)
- Physical Pin 30 - (PA4, DAC1 OUT1)
That said, using a level-shifter would be the technically correct thing to use for communications between chips powered at different voltages. The “high” voltage of the Daisy will be 3v3 which is probably above, but possibly close to the logic-ON threshold for the Arduino board you’re using.
So in short, it should be safe to do so on the pins you’re using, but you should test to make sure that the logic levels are acceptable for both devices when connecting them without the level shifter.